Difference between revisions of "Domain Specific Parallel Programming"

From CERES
Jump to: navigation, search
Line 35: Line 35:
 
In the seminar part of the course, course participants make detailed studies of the literature related to models of computation and parallel programming methodologies for high-performance embedded computing and present their findings in the form of seminar. The university’s research projects are included in these special studies.
 
In the seminar part of the course, course participants make detailed studies of the literature related to models of computation and parallel programming methodologies for high-performance embedded computing and present their findings in the form of seminar. The university’s research projects are included in these special studies.
  
== Slides and Study Material ==
+
== Schedule and Study Material ==
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Lecture !!  Handouts / Slides !! Other Material
 +
|-
 +
|  Lecture 1: Terminology and Functional Testing 
 +
March 23, 2015
 +
||        || Chapters 1 and 4 of Ammann and Offutt
 +
|-
 +
|  Lecture 2: Functional Testing
 +
March 30, 2015
 +
|| 
 +
||  Chapters 6 and 7 of Jorgensen
 +
[http://dx.doi.org/10.1002%2Fstvr.4370030203 M. Grochtmann and K. Grimm, Classification trees for partition testing]
 +
|-
 +
|  Lecture 3: Coverage Criteria 
 +
April 1, 2015
 +
|| 
 +
 +
|| Chapter 2 Ammann and Offutt
 +
Chapters 9 and 10 of Jorgensen
 +
|-
 +
|  Lecture 4: Guest Lecture 
 +
April 9, 2015
 +
||   
 +
|| 
 +
|-
 +
|  Lecture 5: Model Checking 
 +
 
 +
April 13, 2015
 +
||   
 +
 
 +
 
 +
||
 +
 
 +
|-
 +
|  Lecture 6: UI Testing 
 +
 
 +
April 20, 2015
 +
||   
 +
 
 +
 
 +
||
 +
 
 +
|-
 +
|  Lecture 7: Slicing and Debugging 
 +
April 27, 2015
 +
|| 
 +
||
 +
Chapters 5, 6, and 13 of Zeller
 +
[http://dl.acm.org/citation.cfm?id=802557 M. Wiser, Program Slicing]
 +
 
 +
|-
 +
|  Presentation of Papers 
 +
May 11, 2015
 +
||    ||
 +
|-
 +
 
 +
|-
 +
|  Lecture 8: Reviewing Model Examination 
 +
May 18, 2015
 +
||    ||
 +
|-
 +
|}

Revision as of 15:23, 2 April 2015

Course Code:
Short description: The course is intended to give general insights into current research and development efforts being undertaken to meet the future needs of energy-efficient embedded systems and high-performance computing. In particular the course aims at providing hands-on experience of applying parallelism of various types that exists in all modern computer architectures by using domain-specific programming techniques.
Course Level: Advanced
Course page: {{{CourseUrl}}}






Contact

Lecturer

Zain Ul-Abdin, Tomas Nordström

  • Office: E 307
  • Telephone 035 16 7309
  • Email: [1]


Learning Objectives

  • Knowledge and understanding
    • describe and explain the most important parallel architecture models, as well as parallel programming models, and discuss their respective pros, cons, and application opportunities
  • Skills and abilities
    • program parallel computer systems intended for embedded applications
    • describe, evaluate, and discuss how the choice of programming model and method influences, e.g., execution time and required resources
    • read and understand scientific articles in the area, to review and discuss them and to make summaries and presentations
  • Judgement and approach
    • discuss and relate the merits of various architectures supporting data-level parallelism
    • discuss and relate the high-level domain-specific programming techniques with respect to low-level hand-written program development

Primary Contents

The course is divided into a lecture part, a programming exercises part including a small project, and a seminar series based on selected course literature. The lecture part includes tutorials about the state-of-the-art manycore architectures, CAL language, and the Epiphany manycore architecture (Parallella Platform) that are then used in the practical part of the course. The laboratory part provides hands-on experience of embedded parallel computing using CAL dataflow language and compiling the programs onto an emerging low-power manycore processor as well as using its proprietary low-level programming tools. In the seminar part of the course, course participants make detailed studies of the literature related to models of computation and parallel programming methodologies for high-performance embedded computing and present their findings in the form of seminar. The university’s research projects are included in these special studies.

Schedule and Study Material

Lecture Handouts / Slides Other Material
Lecture 1: Terminology and Functional Testing

March 23, 2015

Chapters 1 and 4 of Ammann and Offutt
Lecture 2: Functional Testing

March 30, 2015

Chapters 6 and 7 of Jorgensen

M. Grochtmann and K. Grimm, Classification trees for partition testing

Lecture 3: Coverage Criteria

April 1, 2015

Chapter 2 Ammann and Offutt

Chapters 9 and 10 of Jorgensen

Lecture 4: Guest Lecture

April 9, 2015

Lecture 5: Model Checking

April 13, 2015


Lecture 6: UI Testing

April 20, 2015


Lecture 7: Slicing and Debugging

April 27, 2015

Chapters 5, 6, and 13 of Zeller M. Wiser, Program Slicing

Presentation of Papers

May 11, 2015

Lecture 8: Reviewing Model Examination

May 18, 2015