Timetable information in the Course Catalogue may be subject to change.

University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Informatics : EPCC on-campus

Postgraduate Course: Advanced Parallel Techniques (EPCC11011)

Course Outline
SchoolSchool of Informatics CollegeCollege of Science and Engineering
Credit level (Normal year taken)SCQF Level 11 (Postgraduate) AvailabilityAvailable to all students
SCQF Credits10 ECTS Credits5
SummaryThe 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 Students MUST have passed: Message-Passing Programming (EPCC11002) OR Message-passing Programming (INFR11163) AND Threaded Programming (EPCC11003) OR Threaded Programming (INFR11178)
Prohibited Combinations Other requirements REQUIRED: Ability to program in C/C++ and Fortran. Message-Passing Programming and Threaded Programming courses or equivalent knowledge.
Information for Visiting Students
Pre-requisitesREQUIRED: Ability to program in C/C++ and Fortran. Message-Passing Programming and Threaded Programming courses or equivalent knowledge.
Course Delivery Information
Academic year 2023/24, Available to all students (SV1) Quota:  84
Course Start Semester 2
Timetable Timetable
Learning and Teaching activities (Further Info) Total Hours: 100 ( Lecture Hours 21, Supervised Practical/Workshop/Studio Hours 11, Feedback/Feedforward Hours 1, Summative Assessment Hours 2, Revision Session Hours 1, Programme Level Learning and Teaching Hours 2, Directed Learning and Independent Learning Hours 62 )
Assessment (Further Info) Written Exam 60 %, Coursework 40 %, Practical Exam 0 %
Additional Information (Assessment) 60% Written Exam
40% Coursework (2x assignments)
Feedback Provided by in-class discussion during practical sessions by lecturers and demonstrators and on assessed work.
Exam Information
Exam Diet Paper Name Hours & Minutes
Main Exam Diet S2 (April/May)Advanced Parallel Techniques2:00
Learning Outcomes
On completion of this course, the student will be able to:
  1. Understand advanced paradigms for parallelism used in HPC
  2. Have knowledge of several implementations of these paradigms
  3. Be able to write correct and performant programs
  4. Use established and emerging programming languages to express parallel programs
  5. Understand how to select the appropriate tools and techniques for various parallel architectures and algorithms
Reading List
Provided via Learn/Leganto
Additional Information
Graduate Attributes and Skills Collaborative working.
Effective written and diagrammatic communication.
Reflection on learning and practice.
Adaptation to circumstances.
KeywordsAdvanced Parallel Techniques,HPC,APT,EPCC,Parallelism,HPC,High Performance Computing,PGAS
Course organiserDr Rupert Nash
Tel: (0131) 6 517 112
Course secretaryMr James Richards
Tel: 90131 6)51 3578
Help & Information
Search DPTs and Courses
Degree Programmes
Browse DPTs
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Important Information