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
| Type | Level | Credits | Availability | Module Cap | Location |
|---|---|---|---|---|---|
| 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
| Activity | Number | Frequency | Duration | Total Hours | Attendance 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
| Component | Component Weighting | Element | Length/Duration | Element Weighting | Resit 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.