Difference between revisions of "Domain Specific Parallel Programming"

From CERES
Jump to: navigation, search
Line 5: Line 5:
 
|SubjectArea=Embedded Parallel Computing, Computer Architecture
 
|SubjectArea=Embedded Parallel Computing, Computer Architecture
 
}}
 
}}
Learning Outcomes:
 
  
Upon completion of the course, the student shall be able to:
+
==Contact ==
 +
 
 +
===Lecturer===
 +
[[Zain Ul-Abdin, Tomas Nordström]]
 +
 
 +
* Office: E 307
 +
* Telephone 035 16 7309
 +
* Email: [mailto:zain-ul-abdin@hh.se]
 +
 
 +
 
 +
==Learning Objectives==
  
 
* Knowledge and understanding
 
* 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
+
** 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
 
* Skills and abilities
    - program parallel computer systems intended for embedded applications
+
** 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
+
** 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
+
** read and understand scientific articles in the area, to review and discuss them and to make summaries and presentations
 
* Judgement and approach
 
* Judgement and approach
    - discuss and relate the merits of various architectures supporting data-level parallelism
+
** 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  
+
** discuss and relate the high-level domain-specific programming techniques with respect to low-level hand-written program development  
  
 
Primary Content:
 
Primary Content:

Revision as of 15:18, 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 Content:

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.