Postgraduate Course: Parallel Design Patterns (PGPH11071)
|School||School of Physics and Astronomy
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 11 (Postgraduate)
||Availability||Not available to visiting students
|Summary||This module will present a foundation of a pattern language for parallel programming.
Computational patterns are discussed only briefly as many of them are described in detail in other modules of the MSc programme. This module will focus on parallel algorithm strategy patterns such as
- Task Parallelism
- Recursive Splitting
- Geometric Decomposition
- Discrete Event
and implementation Strategy Patterns such as
- Loop Parallelism
- Shared Queue
Patterns are described on an abstract level and their implementations are explored in the tutorials. Tutorials put emphasis on creation of reusable generic implementations.
Generic applicability of a pattern implementation is demonstrated by applying it to distinct computational problems. Existing libraries (such as those from the Java SDK) are described and their design and use is discussed.
Programming exercises use C and Fortran, with MPI and OpenMP.
Entry Requirements (not applicable to Visiting Students)
|| Students MUST have passed:
Message-Passing Programming (PGPH11078)
||Other requirements|| None
Course Delivery Information
|Academic year 2016/17, Not available to visiting students (SS1)
|Learning and Teaching activities (Further Info)
Lecture Hours 15,
Seminar/Tutorial Hours 11,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
|Additional Information (Learning and Teaching)
Please contact the School for further information
|Assessment (Further Info)
|Additional Information (Assessment)
|No Exam Information
On completion of this course, the student will be able to:
- Describe the elements of a design pattern, and describe the advantages that patterns can provide, as well as their limitations.
- Recognise algorithm strategy patterns for the problem at hand.
- Choose the most appropriate implementation pattern.
- Construct reusable parallel codes, understanding the fundamentals of API design.
- Have an awareness of existing frameworks and libraries used to implement parallel design patterns.
|Graduate Attributes and Skills
|Course organiser||Dr Nicholas Brown
Tel: (0131 6)50 6420
|Course secretary||Ms Joan Strachan
Tel: (0131 6)50 5030
© Copyright 2016 The University of Edinburgh - 3 February 2017 4:58 am