Domain Specific Parallel Programming
From CERES
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: http://ceres.hh.se/mediawiki/Domain_Specific_Parallel_Programming
Contents
Contact
Lecturers
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 three parts:
- Lectures
- The lecture part provides introduction to parallel programming concepts and models and 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.
- Reading Exercises
- In this part, 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. Prepare a short presentation (10-15 mins) on a related topic based on the theme of the reading session.
- Use the suggested material in the course as a starting point
- Mention at least three important messages in the suggested reading materials
- Perform a literature study around the topic and present your findings
- Highlight common characteristics and see if you can come up with a classification
- In this part, 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. Prepare a short presentation (10-15 mins) on a related topic based on the theme of the reading session.
- Programming Exercises
- The programming 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.