Skip to main content

CY901N High Performance Scientific Computing

Lecturer:

Times and Rooms:

Mike Allen
Chris Brady
David Quigley
Rudolf A Roemer
Tiffany Walsh
Monday 09:00-17:30 (PS0.17a/R0.39)
Tuesday 09:00-17:30 (PS0.17a/R0.39)
Wednesday 09:00-17:30 (PS0.17a/R0.39)
Thursday 09:00-17:30 (PS0.17a/R0.39)
Friday 10:00-13:00 (PS0.17a)

Lecture Schedule:

Day Time Lecturer Topic
Monday Top
PS0.17a 09:00-10:00   Welcome/Registration
PS0.17a 10:00-10:30 Allen 1-1. Super Problems need Supercomputers
PS0.17a 10:30-11:00 HECToR CSE Introduction to HECToR
  11:00-11:30   Coffee Break
PS0.17a 11:30-12:30 Allen 1-2. Architectures and Algorithms
  12:30-14:00   Lunch
R 0.39 14:00-16:00 Walsh

Fischer/Vasquez
Workshop: Fortran and C revision plus introduction to CSC Linux
  16:00-16:30   Tea Break
PS0.17a 16:30-17:30 Roemer 2-1. Programming With MPI
Tuesday Top
PS0.17a 09:00-10:00 Roemer 2-2. MPI Point-to-Point Communication
PS0.17a 10:00-11:00 Allen 3-1. Introduction to Python
  11:00-11:30   Coffee Break
PS0.17a 11:30-12:30 Roemer 2-3. MPI Collective Communications
  12:30-14:00   Lunch
R 0.39 14:00-16:00 Allen/Roemer

Fischer/Vasquez
Workshop: Introductory MPI and Python
  16:00-16:30   Tea Break
PS0.17a 16:30-17:30 Allen 2-4. MPI Communicators
Wednesday Top
PS0.17a 9:00-10:00 Allen 3-2. Python Types and Control Structures
PS0.17a 10:00-11:00 Roemer 2-5. MPI Examples: Matrix Multiplication
  11:00-11:30   Coffee Break
PS0.17a 11:30-12:30 Allen 3-3. Python Functions, Modules and Classes
  12:30-14:00   Lunch
R 0.39 14:00-16:00 Brady/Allen

Fischer/Vasquez
Workshop: Advanced MPI and Python
  16:00-16:30   Tea Break
PS0.17a 16:30-17:00 Brady 2-6. MPI Structures and MPIIO
Thursday Top
PS0.17a 09:00-10:00 Allen 3-4. Python Graphical User Interface
PS0.17a 10:00-11:00 Roemer 4-1. Parallel Performance Measurement
  11:00-11:30   Coffee Break
PS0.17a 11:30-12:30 Roemer 4-2. More on Parallel Performance
  12:30-14:00   Lunch
R 0.39 14:00-16:00 Allen

Fischer/Vasquez
Workshop: Parallel Performance and Python GUI
  16:00-16:30   Tea Break
PS0.17a 16:30-17:30 Allen 1.3 OpenMP and Shared Memory
Friday Top
PS0.17a 09:00-10:00 Brady 4-3. Parallel Code Optimisation
PS0.17a 10:00-11:00 Allen 3-5. Python Mixed Language Programming
  11:00-11:30   Coffee Break
PS0.17a 11:30-12:30 Quigley 4-4. The Top500

Workshops

We will ensure that you have both an ITS username/password and a CSC username and password. You do not need to contact us to set-up your account!

Literature:

Suggested reading:

  • R Chandra et al, Parallel Programming in OpenMP (Morgan Kaufmann, 2000)
  • P Pacheco, Parallel Programming with MPI (Morgan Kaufmann, 1996)
  • M Quinn, Parallel Programming in C with MPI and OpenMP (McGraw-Hill, 2003)
  • M Lutz and D Ascher, Learning Python (O'Reilly, 2004, or 3rd ed 2007)

Pre-requisites:

Please note that this course does not teach a computer programming language: you are expected already to be proficient in Fortran or C. A good working knowledge of a scientific programming language (either Fortran- 95/2003 or C) is a pre-requisite. Students will also be assumed to be familiar with basic Linux commands, program editors, and other material covered in CY900.

To access any course material, you need to sign in above with your ITS username and the password given to you on arrival.

See XKCD's view of Python and goto statements.

NAG Logo
HECToR logo
EPSRC Logo