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 Outline: Semester 2 2025, Gardens Point, Internal

Unit code:CAB401
Credit points:12
Pre-requisite:IFN584 or (IFN563 and IFN564) or (IFQ563 and IFQ564) or CAB301 or IFN505
Equivalent:INB375
Coordinator:Wayne Kelly | w.kelly@qut.edu.au
Disclaimer - Offer of some units is subject to viability, and information in these Unit Outlines is subject to change prior to commencement of the teaching period.

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:

  1. Relate principles of parallel programming to features of parallel hardware.
    Relates to: ACS CBOK: 3, 3.1, 4, 4.2
  2. Transform sequential software applications into high performance parallel applications using state of the art programming techniques.
    Relates to: ACS CBOK: 4, 4.2
  3. Conduct independent research relating to new parallel hardware and new parallel programming frameworks.
  4. Deliver an effective, professional presentation to a specialist audience.
  5. Critique alternative parallel programming technologies.
    Relates to: ACS CBOK: 4, 4.2
  6. Argue the connection between Moore’s law and human development and its implications for the next generation of IT professionals.
    Relates to: ACS CBOK: 1, 1.6

Content

The major topics covered may be drawn from the following:

  • 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.

This unit will include Aboriginal and Torres Strait Islander perspectives in the context of the sustainability of exponential growth and the role of elders and connection to country in decision making. 

Learning Approaches

This unit offers you the flexibility to study either on-campus or online. Our approach focuses on active, hands-on learning. Each week, you'll watch pre-recorded videos that break down the core theories of parallel computing. These are paired with interactive, face-to-face flipped classroom style lectures where you can ask questions, see demos, and connect the theory to your semester-long parallelisation project, which is the core learning activity of this unit. In this project, you'll tackle the challenge of parallelizing a non-trivial sequential program to achieve the best possible speedup. You'll navigate the complexities of identifying which parts of the application can be safely parallelized, considering factors like load balance, overheads, communication bottlenecks, and non-uniform memory access. This project is where you'll apply all the concepts and theories you've learned to a real, large-scale, complex task.

From week 5 onwards, you'll also research and present on various parallel computing languages, frameworks, or environments. These presentations, which make up about half of our two-hour practical/tutorial classes each week, are a great opportunity to share your insights and engage in Q&A and discussions led by your tutor. This will help you see how the concepts from the lectures come to life in both your project and the specific parallel computing contexts you explore.

You can expect to spend between 10 - 15 hours per week involved in preparing for and attending all scheduled workshops, completing assessment tasks, and undertaking your own independent study to consolidate your learning.

Feedback on Learning and Assessment

Feedback in this unit is provided to you in the following ways:

  • Ongoing formative feedback will be provided by your tutor during the lectures and practicals.

  • Automated feedback is available on the completion of formative online quizzes.

  • Summative assessment tasks will be graded using rubrics, which will provide details of your achievement against the specified standards and also include written feedback on your performance.

Feedback on summative assessment tasks will be received prior to the submission of the next summative assessment task.

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: Presentation (Oral)

You will research one of a number of predefined topics related to parallel computing and present an oral presentation with the aid of slides and answer questions from the audience.

Talk to your tutor in advance if you are unable to attend the tutorial session at which you are scheduled to present.

Weight: 20
Length: 10 minutes including question time.
Individual/Group: Individual
Due (indicative): Scheduled throughout the semester (depending on your topic)
Related Unit learning outcomes: 3, 4, 5
Related Standards: EASTG1CMP: 3, 3.2, 3.3, 3.5

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. 

This assignment is eligible for the 48-hour late submission period and assignment extensions.

Weight: 50
Individual/Group: Individual
Due (indicative): Week 12
Related Unit learning outcomes: 1, 2
Related Standards: EASTG1CMP: 1, 1.5, 2, 2.1, 2.2

Assessment: Timed Online Examination

This is an open book examination where students are free (and encouraged) to use any printed materials or resources they can find on the internet, as well as programming tools such as Visual studio.

There are no multiple choice questions. Answers to each question are typically one page in length. Given the open book nature of the exam, all questions require students to apply their understanding to specific contexts and examples. Questions include programming tasks and parallel computing analysis activities. Emphasis is on deep understanding by exploring why and how we do certain things with respect to high performance and parallel computing.

Weight: 30
Individual/Group: Individual
Due (indicative): During central examination period
Central exam duration: 2:10 - Including 10 minute perusal
Related Unit learning outcomes: 1, 6
Related Standards: EASTG1CMP: 1, 1.3, 2, 2.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

Various readings will be assigned during lectures, all from publically available web sites. Required software is either installed in on-campus computer labs and/or freely available. Students are not expected to purchase any software or other resources for this unit.

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.

Standards/Competencies

This unit is designed to support your development of the following standards\competencies.

Australian Computer Society Core Body of Knowledge

1: ICT Professional Knowledge

  1. Understanding the ICT profession
    Relates to: ULO6

3: Technology Resources

  1. Hardware and software fundamentals
    Relates to: ULO1

4: Technology Building

  1. Programming
    Relates to: ULO1, ULO2, ULO5

Engineers Australia Stage 1 Competency Standard for Professional Engineer

1: Knowledge and Skill Base


  1. Relates to: Timed Online Examination

  2. Relates to: Project (applied)

2: Engineering Application Ability


  1. Relates to: Project (applied), Timed Online Examination

  2. Relates to: Project (applied)

3: Professional and Personal Attributes


  1. Relates to: Presentation (Oral)

  2. Relates to: Presentation (Oral)

  3. Relates to: Presentation (Oral)

Course Learning Outcomes

This unit is designed to support your development of the following course/study area learning outcomes.

EN01 Bachelor of Engineering (Honours)

  1. Make decisions ethically within the social, cultural, and organisational contexts of professional engineering practice.
    Relates to: ULO6
  2. Engage stakeholders professionally and communicate the outcomes of your work effectively to expert and non-expert audiences using appropriate modes.
    Relates to: ULO4, Presentation (Oral)
  3. Display leadership, creativity, and initiative in both self-directed and collaborative contexts of professional engineering practice.
    Relates to: ULO3, Presentation (Oral)
  4. Manage projects to solve complex engineering problems, using appropriate information, engineering methods, and technologies.
    Relates to: ULO5
  5. Deploy appropriate approaches to engineering design and quality.
    Relates to: ULO2, Project (applied)
  6. Demonstrate a thorough understanding of one engineering discipline, its research directions, and its application in contemporary professional engineering practice.
    Relates to: ULO1, Timed Online Examination

EV01 Bachelor of Engineering (Honours)

  1. Engage stakeholders professionally and communicate the outcomes of your work effectively to expert and non-expert audiences using appropriate modes.
    Relates to: Presentation (Oral)
  2. Display leadership, creativity, and initiative in both self-directed and collaborative contexts of professional engineering practice.
    Relates to: Presentation (Oral)
  3. Deploy appropriate approaches to engineering design and quality.
    Relates to: Project (applied)
  4. Demonstrate a thorough understanding of one engineering discipline, its research directions, and its application in contemporary professional engineering practice.
    Relates to: Timed Online Examination

IN01 Bachelor of Information Technology

  1. Demonstrate well-developed IT discipline knowledge
    Relates to: ULO1, ULO6
  2. Employ appropriate IT Methods
    Relates to: ULO2
  3. Critically apply design and problem solving skills
    Relates to: ULO5
  4. Work independently and within effective teams
    Relates to: ULO3
  5. Communicate effectively in professional contexts
    Relates to: ULO4