Module Description

Code: CS6230
Semester: 2
Lectures : WEB L122 in the Warnock Engineering Building Monday and Wednesday 8.05- 9.25am - 10.30 am. Please note some use of Friday 8.05-9.25 with advance warning WEB L122)
Credits: 3 credits (3 assignments + both exams)
Prerequisites: Introduction to Programming in C/C++, some knowledge of numerical algrithms and Introductory Scientific Comouting helpful
Co-requisites:  
Assessment: 3 practical assignments: (60%); Exam: two x One hour and 20 minutes(40%) It will also be possible to get extra credit by presenting reviews of publications
Faculty: Professor Martin Berzins
Objectives:
On completing of this module students should be ables to: understand parallel computer architechture; write portable parallel programs using the messages passing system MPI and the shared memory and accelerator directives OpenMP and Open ACC; construct performance models for parallel programs.
Syllabus:
Overview of parallel computing; processors, communications topologies and languages. Use of workstation networks as parallel computers. Design of parallel programs: data composition, load balancing, communications and synchronisation. Distributed memory and shared memory programming modules; MPI, threads, OpenMP and OpenACC. Performance models and practical performance analysis. Case studies of parallel applications.