CAB401 High Performance and Parallel Computing
To view more information for this unit, select Unit Outline from the list below. Please note the teaching period for which the Unit Outline is relevant.
Unit code: | CAB401 |
---|---|
Prerequisite(s): | (CAB301 or IFN505 or IFN564) or (IFN564 and 192cps in IV04 or MV05 or BV06 or EV08) or (Admission to IV54 or IV55 or IV56 or IV58) |
Equivalent(s): | INB375 |
Credit points: | 12 |
Timetable | Details in HiQ, if available |
Availabilities |
|
CSP student contribution | $993 |
Domestic tuition unit fee | $3,540 |
International unit fee | $4,476 |
Unit Outline: Semester 2 2021, Gardens Point, Internal
Unit code: | CAB401 |
---|---|
Credit points: | 12 |
Pre-requisite: | CAB301 or IFN505 or IFN564 |
Equivalent: | INB375 |
Coordinator: | Wayne Kelly | w.kelly@qut.edu.au |
Overview
Building on your skills in "sequential" programming, this unit teaches you the tools and techniques needed to exploit multi-processor computer systems to achieve dramatic performance improvements for computationally intensive problems. This unit gives you both an understanding of why future computer hardware will be increasingly parallel, the challenges this poses for software development as well as a set of practical skills in creating high-performance programs using today's best tools and techniques.
Learning Outcomes
On successful completion of this unit you will be able to:
- Demonstrate an understanding of the basic principles of parallel programming and common features of parallel hardware [Technology].
- Apply state of the art techniques to express sequential algorithms as parallel software applications [Design, Build].
- Independently learn about new parallel hardware and new parallel programming frameworks [Technology].
- Give professional presentations and intelligently discuss and critique alternative parallel programming technologies [Impact].
Content
- Principles for dealing with computationally-intensive or 'big data' problems efficiently;
- Moore's law and the trend towards parallel hardware;
- High-speed computing frameworks;
- Practical techniques for parallelizing algorithms;
- Forms of parallelism (including instruction, data, task and pipelining);
- Barriers to effective exploitation of parallel computing architectures (including grain size, load imbalance and memory bottlenecks);
- Static and dynamic techniques and tools for program analysis;
- Principles of parallel computing (including Amdahl's law);
- Principles of parallel programming (including synchronization and locks);
- Problems associated with parallel programming (including race conditions and deadlocks);
- Forms of synchronization (including critical sections, semaphores, mutexes and barriers); and
- Design of parallel algorithms.
Learning Approaches
The unit emphasises active, artefact-driven learning as well as colloborative discussion on technical topics. There will be weekly teaching sessions. In the first half of the semester these will be mostly used as a lecture session. You will however be expected to actively participate in group discussions during these sessions and the second half of the semester will be mostly taken up by student presentations. The basic principles will be covered in the lectures, however most of the more technical topics will be learned through assigned readings and self directed research. These topics will then be discussed during the weekly meetings to ensure understanding. You will also undertake a major practical project where you will develop a high-performance, parallel version of a given real world program.
Feedback on Learning and Assessment
Feedback to students
Students will receive a completed assessment criteria sheet for each piece of assessment, detailing their achievement relative to the specified standards.
Assessment
Overview
General assessment information
The major project provides a vehicle for students to apply the knowledge and skills that they have acquired from the lectures and tutorial exercises. Time will be devoted during later practical sessions for students to discuss their progress on the project and get help and advice on any technical issues which may be encountered.
Peer assessment will be incorporated into the oral presentations so that students are forced to reflect on what makes a good presentation, including structure, clarity and key elements covered.
Unit Grading Scheme
7- point scale
Assessment Tasks
Assessment: Project (applied)
You will select a real world software application and manually redevelop it using one of a number of parallel programming frameworks in order to create a 'high-performance' version. The comparative performance of both the original and new versions must be demonstrated both theoretically and empirically. You may work individually or in pairs.
Relates to learning outcomes
2
Assessment: Presentation (Oral)
Students will participate in discussions during each lecture and present a technical topic during one of the lecture sessions.
Relates to learning outcomes
3, 4
Assessment: Examination (written)
Theory exam covering basic principles of parallel computing and parallel programming.
Relates to learning outcomes
1
Academic Integrity
Academic integrity is a commitment to undertaking academic work and assessment in a manner that is ethical, fair, honest, respectful and accountable.
The Academic Integrity Policy sets out the range of conduct that can be a failure to maintain the standards of academic integrity. This includes, cheating in exams, plagiarism, self-plagiarism, collusion and contract cheating. It also includes providing fraudulent or altered documentation in support of an academic concession application, for example an assignment extension or a deferred exam.
You are encouraged to make use of QUT’s learning support services, resources and tools to assure the academic integrity of your assessment. This includes the use of text matching software that may be available to assist with self-assessing your academic integrity as part of the assessment submission process.
Breaching QUT’s Academic Integrity Policy or engaging in conduct that may defeat or compromise the purpose of assessment can lead to a finding of student misconduct (Code of Conduct – Student) and result in the imposition of penalties under the Management of Student Misconduct Policy, ranging from a grade reduction to exclusion from QUT.
Resources
An optional textbook will also be listed on Blackboard for students wanting additional reading resources.
Risk Assessment Statement
There is minimal health and safety risk associated with this unit. It is your responsibility to familiarise yourself with the Health and Safety policies and procedures applicable within campus areas and laboratories.