Difference between revisions of "Domain Specific Parallel Programming"
Line 44: | Line 44: | ||
|| Lecture 1: Models of Computations & Parallel Programming Patterns || Handouts, Papers | || Lecture 1: Models of Computations & Parallel Programming Patterns || Handouts, Papers | ||
|- | |- | ||
− | | | + | | April 16, 13-15 |
− | + | || Reading Ex. 1: Landscape of Parallel Computing || The Landscape of Parallel Computing Research: A View from Berkeley (2006) | |
− | || | + | |
− | || | + | |
− | + | ||
|- | |- | ||
− | | | + | | April 23, 15-17 |
− | April | + | || Reading Ex. 1: Comparing Models of Computation || A Framework for Comparing Models of Computation (1998), Concurrent Models of Computation for Embedded Software (2004) |
− | || | + | |
− | + | ||
− | || | + | |
− | + | ||
|- | |- | ||
− | | | + | | April 28, 13-15 |
− | April | + | || Lecture 2: Introduction to Dataflow Programming in CAL || CAL Language Report |
− | || | + | |
− | || | + | |
|- | |- | ||
− | | | + | | April 30, 10-12 |
− | + | || Reading Ex. 2: Bulk Synchronous Programming Model || A Bridging Model for Parallel Computing (1990), A Bridging Model for Multi-core Computing (2010) | |
− | April | + | |
− | || | + | |
− | + | ||
− | + | ||
− | || | + | |
− | + | ||
|- | |- | ||
− | | | + | | May 5, 13-15 |
− | + | || Lecture 1: Manycore Architectures and their Programming || Handouts, Papers | |
− | + | ||
− | || | + | |
− | + | ||
− | + | ||
− | || | + | |
− | + | ||
|- | |- | ||
− | | | + | | May 12, 13-15 |
− | + | || Reading Ex. 2: Invasive Computing || Invasive Computing - An Overview (2010) | |
− | || | + | |
− | || | + | |
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
− | | | + | | |
− | + | || Programming Ex. 1: CAL Programming || QR Decomposition(Gram Schmeidt, Given Rotation, House-holder Methods) | |
− | || | + | |
|- | |- | ||
− | + | | | |
+ | || Programming Ex. 2: Epiphany Programming || QR Decomposition(Gram Schmeidt, Given Rotation, House-holder Methods) | ||
|- | |- | ||
− | | | + | | May 26, 13-15 |
− | May | + | || Reading Ex. 2: Final Presentation of Implementation Results || Invasive Computing - An Overview (2010) |
− | || | + | |
|- | |- | ||
|} | |} |
Revision as of 15:45, 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
Schedule | Activity | Material / Literature Reference |
---|---|---|
April 13, 10-12 | Lecture 1: Models of Computations & Parallel Programming Patterns | Handouts, Papers |
April 16, 13-15 | Reading Ex. 1: Landscape of Parallel Computing | The Landscape of Parallel Computing Research: A View from Berkeley (2006) |
April 23, 15-17 | Reading Ex. 1: Comparing Models of Computation | A Framework for Comparing Models of Computation (1998), Concurrent Models of Computation for Embedded Software (2004) |
April 28, 13-15 | Lecture 2: Introduction to Dataflow Programming in CAL | CAL Language Report |
April 30, 10-12 | Reading Ex. 2: Bulk Synchronous Programming Model | A Bridging Model for Parallel Computing (1990), A Bridging Model for Multi-core Computing (2010) |
May 5, 13-15 | Lecture 1: Manycore Architectures and their Programming | Handouts, Papers |
May 12, 13-15 | Reading Ex. 2: Invasive Computing | Invasive Computing - An Overview (2010) |
Programming Ex. 1: CAL Programming | QR Decomposition(Gram Schmeidt, Given Rotation, House-holder Methods) | |
Programming Ex. 2: Epiphany Programming | QR Decomposition(Gram Schmeidt, Given Rotation, House-holder Methods) | |
May 26, 13-15 | Reading Ex. 2: Final Presentation of Implementation Results | Invasive Computing - An Overview (2010) |