Faculty banner

CITS3402 High Performance Computing
Unit home page

CITS3402 High Performance Computing - Unit information for 2016

High performance computing is an integral part of modern scientific and engineering education and research. Most physical systems are explored through simulation and modelling using high performance computing tools like parallel computers. This unit introduces students to the essential tools and techniques of high performance computing. The main objectives are to introduce students to different frameworks of parallel and distributed computing that they can use in their specific areas of interest. The students learn to program multi-core processors as well as clusters of personal computers using the widely used C and Fortran computer languages. Students program practical problems from different scientific disciplines and also work on individual or group projects to consolidate their learning.

CITS3402 introduces the key concepts of high performance computing in an easy-paced manner. Initially the basic ideas in multi-core computer architectures are explored through simple programming examples using OpenMP. In particular, the emphasis will be on improving the performance of the most compute-intensive parts of a program, loops. The lectures will cover the spawning of multiple threads on multiple cores through extensive examples. Next, the key problem in multi-core programming, cache coherency will be explored thoroughly. Distributed memory architectures and their programming through Message Passing Interface (MPI) will be discussed in the second part of the unit. Finally, combining both OpenMP and MPI for improving performance on a cluster of multicore processors will be covered.

Information available from here:

Unit coordination:

Unit Coordinator: Prof. Amitava Datta
Lecture times: 12:00 - 1:45pm Wednesdays (RBST: Robert Street Lecture Theatre)
Laboratory sessions: 9:00-11:00 Mondays (CSSE Lab 2.01)
9:00-11:00 Tuesdays (CSSE Lab 2.03)
11:00-1:00 Tuesdays (CSSE Lab 2.05)
Email discussion list for CITS3402: help3402
Consultation times: 10:00 - 11:00am Fridays

There are no labs in the first two weeks.

Assessment and important dates:

Assessment Dates
 First project released
  September 4
 First project due
  October 7, 11:59 pm
 Second project released
  October 8
 Second project due
  November 4, 11:59 pm
 Final exam
 2 hours, November

Before undertaking this unit, students are strongly encouraged to read:

Suggested textbooks for 2016:

  1. Using OpenMP: Portable Shared Memory Parallel Programming, by, B. Chapman, G. Jost, R. van der Paas, MIT Press, 2008.
  2. Parallel Programming in OpenMP, by, Rohit Chandra et al. (An electronic copy of this book is available from the Science Library).
  3. We will use lecture materials extensively from www.openmp.org, in particular Tim Mattson's lectures Introduction to OpenMP.
  4. I will inform you about course materials for MPI later.

Visit the UWA Computer Science home page School of Computer Science & Software Engineering
The University of Western Australia
Crawley, Western Australia, 6009.
Phone: +61 8 9380 2716 - Fax: +61 8 9380 1089.
CRICOS provider code 00126G
Valid HTML 4.01!