Postgraduate Course: Advanced Parallel Techniques (INFD11023)
Course Outline
School | School of Informatics |
College | College of Science and Engineering |
Credit level (Normal year taken) | SCQF Level 11 (Postgraduate) |
Course type | Online Distance Learning |
Availability | Not available to visiting students |
SCQF Credits | 10 |
ECTS Credits | 5 |
Summary | The majority of current HPC applications are parallelised using a combination of message-passing (the MPI library) or threading (OpenMP directives). As HPC systems grow in size and complexity, other software approaches are now being used to aid performance portability, scalability and maintainability.
This course will cover a range of more advanced and upcoming technologies for parallel computing. Key paradigms include:
- programming of accelerators including graphics processing units (GPUs);
- threading approaches other than OpenMP;
- partitioned global address space (PGAS) approaches;
- programming languages important in HPC; and,
- understanding how to select the appropriate techniques given the problem and hardware at hand. |
Course description |
Example of topics that will be covered include:
Languages: modern C++, Python (and interfacing with compiled code)
Threading: pthreads, C++ & boost threads, Intel TBB
Accelerators/GPUs: CUDA, OpenCL, OpenMP target directives, OpenACC
PGAS: Fortran coarrays, OpenSHMEM, MPI single sided
|
Entry Requirements (not applicable to Visiting Students)
Pre-requisites |
|
Co-requisites | |
Prohibited Combinations | |
Other requirements | None |
Course Delivery Information
|
Academic year 2021/22, Not available to visiting students (SS1)
|
Quota: None |
Course Start |
Semester 2 |
Timetable |
Timetable |
Learning and Teaching activities (Further Info) |
Total Hours:
100
(
Online Activities 30,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
68 )
|
Assessment (Further Info) |
Written Exam
0 %,
Coursework
100 %,
Practical Exam
0 %
|
Additional Information (Assessment) |
100% Coursework (3 submissions) |
Feedback |
Provided through weekly practical exercise discussion/surgery sessions and following submitted work. |
No Exam Information |
Learning Outcomes
On completion of this course, the student will be able to:
- Understand advanced paradigms for parallelism used in HPC
- Have knowledge of several implementations of these paradigms
- Be able to write correct and performant programs
- Use established and emerging programming languages to express parallel programs
- Understand how to select the appropriate tools and techniques for various parallel architectures and algorithms
|
Additional Information
Graduate Attributes and Skills |
Collaborative working.
Effective written and diagrammatic communication.
Reflection on learning and practice.
Adaptation to circumstances.
|
Special Arrangements |
This course is for Online Learning students. On-campus students should instead see INFR11170 - Advanced Parallel Techniques
|
Keywords | Advanced Parallel Techniques,HPC,APT,EPCC,Parallelism,HPC,High Performance Computing,PGAS,Online |
Contacts
Course organiser | Dr Rupert Nash
Tel: (0131) 6 517 112
Email: r.nash@epcc.ed.ac.uk |
Course secretary | Miss Jemma Auns
Tel: (0131 6)51 3545
Email: Jemma.Auns@ed.ac.uk |
|
|