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. Combining both OpenMP and MPI for improving performance on a cluster of multicore processors will be covered. Programming the MapReduce paradigm using the Spark framework will be covered.
|Unit Coordinator:||Prof. Amitava Datta|
|Lecturers:||Prof. Amitava Datta and Mr. Nicholas Pritchard|
|Tutors:||Nicholas Pritchard and Callum Sullivan|
|Lecture times:||8:00 - 10:00am Wednesdays (ARTS: Austin Lecture Hall)|
|Laboratory sessions:||12:00-2:00 Thursdays (MATH:123D)|
8:00-10:00 Fridays (MATH:123D)
10:00-12:00 Fridays (MATH:123D)
2:00-4:00 Fridays (MATH:123D)
|Email discussion list for CITS3402:||help3402|
|Consultation times:||10:00 - 11:00am Fridays, or by appointment|
There are no labs in the first two weeks.
|First assignment released||August 29|
|First assignment due||September 25, 11:59 pm|
|Second assignment released||October 1|
|Second assignment due||October 25, 11:59 pm|
|Final exam||2 hours, November|
Before undertaking this unit, students are strongly encouraged to read:
|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