6 points, SCA Band 2, 0.125 EFTSL
Undergraduate - Unit
Refer to the specific census and withdrawal dates for the semester(s) in which this unit is offered.
C or C++ programming language
Modern computer systems contain parallelism in both hardware and software. This unit covers parallelism in both general purpose and application specific computer architectures and the programming paradigms that allow parallelism to be exploited in software. The unit examines shared memory and message passing paradigms in hardware and software; concurrency, multithreading and synchronicity; parallel, clustered and distributed supercomputing models, languages and software tools and development environments. Students will program in these paradigms.
At the completion of this unit, students should be able to:
- explain and analyse parallel computing models;
- explain and analyse IPC schemes in parallel systems;
- explain and analyse concurrency schemes in parallel;
- explain and analyse parallel / vector / GPU architectures;
- program socket and MPI applications.
Examination (2 hours plus 30 minutes reading and noting time): 50%; In-semester assessment: 50%
Minimum total expected workload equals 12 hours per week comprising:
- Contact hours for on-campus students:
- Two hours of lectures
- One 2-hour laboratory
- One 1-hour tutorial
- Additional requirements (all students):
- A minimum of 2-3 hours of personal study per one hour of lecture time in order to satisfy the reading, tute, prac and assignment expectations.
See also Unit timetable information