Format | Lecture course with lab sessions | |
Curriculum | MSc Computer Science | Joint programme Universiteit van Amsterdam and Vrije Universiteit Amsterdam |
Block | 1b (Oct 28 - Dec 20, 2014) | |
Status |
Compulsory in Track Computer Systems and Security |
|
ECTS | 6 credits | |
Objectives | To develop an understanding of the opportunities, challenges and limits of parallel computing and to gain practical familiarity with state-of-the-art programming abstractions for a variety of contemporary concurrent systems. |
|
Contents | The course motivates the need for concurrent systems through examples from multicore processors to supercomputing requirements. Following an introductory treatment of the principle properties and challenges of programming concurrent systems, we focus on state-of-the-art programming abstractions: multithreading for symmetric shared memory systems based on OpenMP compiler directives, heterogeneous computing with accelerator boards based on OpenACC compiler directives and partitioned global address space approaches to programming clusters and other distributed memory systems based on Chapel. A glimpse on recent academic advances in concurrent programming, namely the functional data parallel language SAC and the declarative component coordination language S-Net, concludes the course. |
|
Lecturer | Dr Clemens Grelck | |
Assistants | Roeland Douma, Roy Bakker | |
Schedule | The schedule of the course can be found in Datanose. | |
Organisation |
The course has two weekly lectures (hoorcolleges), where the various subject matters
are introduced, and two weekly labs, where the participants work on the given assignments with
support/supervision. For each assignment we reserve one lab run as an interactive class (werkcollege) where participants present their solutions and the performance they achieve. Based on these presentations we all jointly discuss advantages and disadvantages of the presented solutions and provide further hints, tips and tricks for the assignments. |
|
Grading | By assignments: code (50%), reports (50%) | |
Slides |
See Blackboard. |
|
Assignments | See Blackboard. | |
Code | See Blackboard. | |
Mailing List | The UvA mailing list pcs2014 serves as the primary medium of communication between lecturers and participants as well as among participants themselves. Subscription to the mailing list is controlled and restricted to participants of the course. Traffic on the mailing list is archived; access to the archives is restricted to participants. Please, subscribe here. | |
Literature |
The course does not follow any specific text book. This following list summarises a number of interesting textbooks on various aspects of the course. While books are always a helpful source of background information, I do not expect participants of the course the buy any or all of these, nor do I receive any revenues. Concurrent Programming in General
OpenMP
OpenACC Chapel |