- Department: Physics
- Module co-ordinator: Prof. Matt Probert
- Credit value: 20 credits
- Credit level: M
- Academic year of delivery: 2024-25
- See module specification for other years: 2023-24
The aim of this module is to introduce you to the key ideas of high performance scientific computing (HPC) and supercomputers, how to use them and how to write parallel software to solve physics problems. It will show how the historical developments in HPC have come about, how these impact on current technologies, how best to utilise these technologies for numerically intensive calculations, and what future developments are likely.
This module presumes that you already have a basic programming ability in (at least one of) Fortran or C or C++. We will NOT be teaching the basics of programming - this is a practical module in which your programming skills will be developed with a focus on speed of execution, both in serial and parallel programming
Pre-requisites: This module presumes that you already have a basic programming ability in (at least one of) Fortran or C or C++.
|Semester 1 2024-25
The aim of this module is to introduce you to the key ideas of High Performance Computing (HPC) in physics and to develop parallel programming skills. The module focuses on advanced parallel programming using multicore processors (CPUs) and Graphics Processing Units (GPUs) and how to match programming methods to the underlying hardware. You will also learn how to take a problem in physics and devise, implement and test a HPC software solution.
At the end of this module successful students will be able to:
Describe the different types of HPC hardware and make informed decisions as to what will be best in any particular situation
Create parallel software programs for solving scientific problems
Use simple profiling tools to identify hotspots in a code and develop strategies for overcoming the hotspots
Understand and operate high-performance computing systems
Analyse a scientific problem to determine an appropriate parallelisation strategy
Assess the performance and scalability of a parallel code
|% of module mark
Physics Practice Questions
|% of module mark
Scientific Supercomputing Reassessment Task
'Feedback’ at a university level can be understood as any part of the learning process which is designed to guide your progress through your degree programme. We aim to help you reflect on your own learning and help you feel more clear about your progress through clarifying what is expected of you in both formative and summative assessments.
A comprehensive guide to feedback and to forms of feedback is available in the Guide to Assessment Standards, Marking and Feedback. This can be found at:
The School of Physics, Engineering & Technology aims to provide some form of feedback on all formative and summative assessments that are carried out during the degree programme. In general, feedback on any written work/assignments undertaken will be sufficient so as to indicate the nature of the changes needed in order to improve the work. Students are provided with their examination results within 25 working days of the end of any given examination period. The School will also endeavour to return all coursework feedback within 25 working days of the submission deadline. The School would normally expect to adhere to the times given, however, it is possible that exceptional circumstances may delay feedback. The School will endeavour to keep such delays to a minimum. Please note that any marks released are subject to ratification by the Board of Examiners and Senate. Meetings at the start/end of each semester provide you with an opportunity to discuss and reflect with your supervisor on your overall performance to date.
Our policy on how you receive feedback for formative and summative purposes is contained in our Physics at York Taught Student Handbook.
Computer architecture for scientists : principles and performance by Andrew Chien (Cambridge University Press 2022)
Writing Scientific Software: A Guide to Good Style by S. Oliveira and D.E. Stewart