CITS3402 High Performance Computing

6 points
Not available in 2020UWA (Perth)Face to face
Details for undergraduate courses
  • The area of knowledge for this unit is Mathematical and Physical Sciences
  • Category B broadening unit for students
  • Level 3 elective
High performance computing is an integral part of modern scientific and engineering 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 using OpenMP, and clusters of personal computers using MPI. Students examine high performance computing case studies from different scientific disciplines and also work on individual or group projects to consolidate their learning.
MapReduce is a programming paradigm for processing large data sets on clusters of computers. The implementation of MapReduce through Spark and the distributed file system HDFS has become a widely used programming model for high performance computing in the last decade. This unit will also introduce students to this programming model through lectures and laboratory exercises.
Students are able to (1) formulate and implement high performance computing solutions for scientific problems and (2) demonstrate expertise in problem solving in parallel using distributed memory and distributed shared memory architectures, the two most common frameworks for high performance computing.
Indicative assessments in this unit are as follows: (1) laboratory and project related assessments and (2) final examination. Further information is available in the unit outline.

Supplementary assessment is not available in this unit except in the case of a bachelor's pass degree student who has obtained a mark of 45 to 49 overall and is currently enrolled in this unit, and it is the only remaining unit that the student must pass in order to complete their course.
Unit Coordinator(s)
Professor Amitava Datta
Unit rules
CITS1002 Programming and Systems
CITS2002 Programming and Systems
Contact hours
lectures: 2 hours per week
  • The availability of units in Semester 1, 2, etc. was correct at the time of publication but may be subject to change.
  • All students are responsible for identifying when they need assistance to improve their academic learning, research, English language and numeracy skills; seeking out the services and resources available to help them; and applying what they learn. Students are encouraged to register for free online support through GETSmart; to help themselves to the extensive range of resources on UWA's STUDYSmarter website; and to participate in WRITESmart and (ma+hs)Smart drop-ins and workshops.
  • Books and other material wherever listed may be subject to change. Book lists relating to 'Preliminary reading', 'Recommended reading' and 'Textbooks' are, in most cases, available via the Booktopia Textbook Finder, which has the functionality to search by course code, course, ISBN and title, and may also be posted or available at the appropriate school's administrative offices. Where texts are listed in the unit description above, an asterisk (*) indicates that the book is available in paperback.