This paper covers advanced parallel programming for large-scale parallelism. A variety of programming techniques will be covered, with application to cluster computers, GPU computing, many-core computing. This paper will be taught using a mixture of classroom and online delivery modes.
Students will be able to explain the basic concepts, benefits, and challenges of parallel programming. They will be able to develop simple parallel programs using a variety of techniques, such as the Hadoop map-reduce framework, the OpenCL language for GPU programming, and Java threadpools. They will understand key Java performance issues and be able to suggest ways of measuring and improving performance.
COMP203 Programming with Data Structures or
COMP241 Software Engineering Development
COMP204 Object-Oriented Program Design or
COMP242 Software Engineering Process,
or equivalent Java and JUnit experience
COMP553 Extremely Parallel Programming
Official Timetable Information
All students should attend the weekly two-hour lab on Thursday, 1-3pm in Lab 1 (R Block).
On weeks 3, 7, 10 and 12, there will be lectures at Thursday 11am-12pm (AG.30) and Friday 9-10am (I1.01), while the other weeks of the semester will be taught online using a flipped classroom approach.
The expected workload is twelve hours per week, for 12.5 weeks = 150 hours.
The required and recommended reading for the paper will be specified on the Moodle website. There is no required textbook for this paper.
All online resources, support and discussion forums are available via Moodle.
This paper is internally assessed. There is no external exam.
Internal assessment/final examination ratio 1:0
The assessment schedule is as follows. All submissions are via Moodle, and are due at 11.55pm on the indicated date.
||Wed 11 March 2015
|Map-Reduce Concepts Quiz
||Wed 18 March 2015
|Hadoop Lab Exercise
||Wed 25 March 2015
|Map-Reduce Applications Quiz
||Wed 1 April 2015
||Wed 22 April 2015
|GPU Lab Exercise
||Wed 29 April 2015
|GPU Programming Quiz
||Wed 6 May 2015
||Wed 13 May 2015
|Threadpools Lab Exercise
||Wed 20 May 2015
||Wed 27 May 2015
||Wed 3 June 2015
|Implicit Parallel Languages (Week 12)
||Implicit Parallelism Assignment
||Wed 10 June 2015
Class attendance is expected. The course notes provided are not comprehensive, additional material will be covered in class. You are responsible for all material covered in class.
Follow this link for Academic Integrity information and this link for detailed explanation of How to prevent plagiarism in Computer Science assessment items.
Follow this link for information on Performance Impairment.
Student Concerns and Complaints
Follow this link for Student Concerns and Complaints information.
Application for Extension
Follow this link for information on applying for an Extension.
Review of Grade
Follow this link for information on applying for a Review of Grade.
Your attention is drawn to the following regulations and policies, which are published in the University Calendar: