Durham University
Programme and Module Handbook
This is an archived handbook for a previous year. The current undergraduate and postgraduate handbooks can be viewed using the links above.

Postgraduate Handbook 2012-2013 (archived)

Module COMP40815: PARALLEL PROGRAMMING FOR HIGH-PERFORMANCE COMPUTING

Department: Computer Science

COMP40815: PARALLEL PROGRAMMING FOR HIGH-PERFORMANCE COMPUTING

TypeLevelCreditsAvailabilityModule CapLocation
Tied 4 15 Available in 2012/2013 None. Durham

Tied To

Pre-requisites

  • None.

Corequisites

  • None.

Excluded Combinations

  • 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

ActivityNumberFrequencyDurationTotal HoursAttendance Monitored
lectures 6 weeks 1 and 2 2 hour 12 Yes
tutorials 4 weeks 3 and 4 2 hours 8 Yes
preparation and reading 130
Total 150

Summative Assessment

ComponentComponent WeightingElementLength/DurationElement WeightingResit Opportunity
Summative work 100% Course work 2500 words 100%
0%

Formative Assessment

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


Students who do not attend monitored activities shown under Teaching Methods and Learning Hours, or who fail to complete the summative or formative assessment(s) specified above, may be subject to the Academic Progress procedures defined in the University's General Regulation V, and may be required to leave the University.