Durham University
Programme and Module Handbook

Postgraduate Programme and Module Handbook 2007-2008 (archived)


Department: Computer Science


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


  • None.


  • None.

Excluded Combination of Modules

  • None.


  • 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.


  • 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 12 6/week 1 hour 12
discussions 4 2/week 2 hours 8
tutorials/practicals 6 3/week 2 hour 12

Summative Assessment

Component: Summative work Component Weighting: 100%
Element Length / duration Element Weighting Resit Opportunity
Writing MPI code 1 week 50%
Written report 1 week 50%

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