Not recorded
This module is suitable for students who are experienced programmers, with knowledge of the C/C++ programming languages. The aim of this module is to introduce students to design and development of parallel programs for different parallel architectures. There is a particular emphasis on practical implementation of shared-memory parallel algorithms using Pthreads and OpenMP and message-passing parallel algorithms using the message-passing interface MPI with the C programming language.
Students are introduced to some simple but typical computationally intensive problems, and strategies for solving these problems on multi-processor machines are introduced. Methods to analyse the performance of parallel algorithms on the executing parallel architecture are also introduced. Students are required to implement and experiment with a number of parallel applications. Topics covered in the module include: Vector and superscalar processors: architecture and programming model, optimizing compilers (dependency analysis and code generation), array libraries (BLAS), parallel languages (Fortran 90); Shared-memory multi-processors and multicores: architecture and programming models, optimizing compilers, thread libraries (Pthreads), parallel languages (OpenMP); Distributed-memory multi-processors: architecture and programming model, performance models, message-passing libraries (MPI); Hybrid parallel computing on lusters of multicore CPUs with MPI+OpenMP.
NB. This is a professional module which is part of a professional MSc
Students are introduced to some simple but typical computationally intensive problems, and strategies for solving these problems on multi-processor machines are introduced. Methods to analyse the performance of parallel algorithms on the executing parallel architecture are also introduced. Students are required to implement and experiment with a number of parallel applications. Topics covered in the module include: Vector and superscalar processors: architecture and programming model, optimizing compilers (dependency analysis and code generation), array libraries (BLAS), parallel languages (Fortran 90); Shared-memory multi-processors and multicores: architecture and programming models, optimizing compilers, thread libraries (Pthreads), parallel languages (OpenMP); Distributed-memory multi-processors: architecture and programming model, performance models, message-passing libraries (MPI); Hybrid parallel computing on lusters of multicore CPUs with MPI+OpenMP.
NB. This is a professional module which is part of a professional MSc
About this Module
Student Effort Hours:
Student Effort Type | Hours |
---|---|
Not yet recorded. |
Requirements, Exclusions and Recommendations
Not applicable to this module.
Module Requisites and Incompatibles
Not applicable to this module.
Assessment Strategy
Description | Timing | Component Scale | % of Final Grade | ||
---|---|---|---|---|---|
Not yet recorded. |
Carry forward of passed components
Not yet recorded
Not yet recorded
Terminal Exam |
---|
Not yet recorded |
Not yet recorded