Durham University
Programme and Module Handbook

Postgraduate Programme and Module Handbook 2009-2010 (archived)

Module COMP40815: PARALLEL PROGRAMMING FOR HIGH-PERFORMANCE COMPUTING

Department: Computer Science

COMP40815: PARALLEL PROGRAMMING FOR HIGH-PERFORMANCE COMPUTING

Type Tied Level 4 Credits 15 Availability Available in 2009/10 Module Cap None.
Tied to G5K209
Tied to G5K309

Prerequisites

  • None.

Corequisites

  • None.

Excluded Combination of Modules

  • None.

Aims

  • High Performance Computing (HPC) is widely used in natural sciences. This module is aimed at teaching principles, knowledge and programming skills for HPC. In particular, the module focuses on good parallel-programming practice following programming methodologies and software-engineering principles, and will include analysis of performance and programming style of MPI (Message Passing Interface) programs.

Content

  • Fundamental principles of parallel programming.
  • Modern architectures (including multi-core, shared memory, clusters and computing grids) and the performance implications for parallel programming and optimization.
  • Developing parallel programs from specifications.
  • Basic parallel-program patterns, algorithms and existing large code examples.
  • Performance analysis (portability and scalability).

Learning Outcomes

Subject-specific Knowledge:
  • A specialised understanding of the hierarchy of modern architecture and their performance implications.
  • Be able to outline and critically review criteria for quality of parallel programs.
Subject-specific Skills:
  • Developing advanced practical skills for MPI parallel programming.
  • Prediction and analysis of program performance.
Key Skills:
  • Advanced IT skills

Modes of Teaching, Learning and Assessment and how these contribute to the learning outcomes of the module

  • Content will be delivered via conventional lectures and group discussions. The group discussions are an important part of the module, and will explore how modern programming ideas can help in this difficult domain.
  • The assessments will involve writing MPI programs and reports which analyse the programs and their performance.

Teaching Methods and Learning Hours

Activity Number Frequency Duration Total/Hours
lectures 6 weeks 1 and 2 2 hour 12
tutorials 4 weeks 3 and 4 2 hours 8
preparation and reading 130
Total 150

Summative Assessment

Component: Summative work Component Weighting: 100%
Element Length / duration Element Weighting Resit Opportunity
Course work 2500 words 100%
%

Formative Assessment:

Practice with MPI coding. Tutorials will also help give feedback on a student's progress on relevant exercises.


Attendance at all activities marked with this symbol will be monitored. Students who fail to attend these activities, or to complete the summative or formative assessment specified above, will be subject to the procedures defined in the University's General Regulation V, and may be required to leave the University