Difference between revisions of "Domain Specific Parallel Programming"
| 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. | ||
| − | == | + | == 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}}}
Contents
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 |