Skip to menu Skip to content Skip to footer
Course profile

High-Performance Computing (COSC3500)

Study period
Sem 2 2024
Location
St Lucia
Attendance mode
In Person

Course overview

Study period
Semester 2, 2024 (22/07/2024 - 18/11/2024)
Study level
Undergraduate
Location
St Lucia
Attendance mode
In Person
Units
2
Administrative campus
St Lucia
Coordinating unit
Elec Engineering & Comp Science School

This course teaches the methods and technology of high-performance computing. Primarily a project-based course, students select a scientific model they are interested in parallelising and then apply some or all of the techniques of vectorisation (SIMD, AVX), threading (MIMD, openMP), GPU programming (CUDA), and/or cluster computing (MPI) to accelerate their computation.

This course is part of the computational science program in the Bachelor of Scienceᅠ at UQ and is also accessible to interested students in other programs (e.g.ᅠBachelor of Engineering, Bachelor of Information Technology, Bachelor of Computer Science, Bachelor of Mathematics).ᅠIt is primarily concerned with the practical application of high-performance computing technology to solve significant problems across all fields of science. Minimal background knowledge is assumed from core mathematics and computing courses, to maximise accessibility for students across the range of degree programs.

Course requirements

Assumed background

Experience programming in C/C++, or at least a similar compiled language such as Java or C#. Some experience with Linux would also be advantageous, but not strictly necessary.

Prerequisites

You'll need to complete the following courses before enrolling in this one:

COSC2500 or CSSE2002 or CSSE2010 or CSSE2310 or PHYS3071

Incompatible

You can't enrol in this course if you've already completed the following:

COSC7502

Jointly taught details

This course is jointly-taught with:

  • COSC7502

All learning activities are jointly taught.

Course contact

Course staff

Lecturer

Dr Joel Carpenter
Dr Stephen Sanderson
Dr Cullan Howlett

Timetable

The timetable for this course is available on the UQ Public Timetable.

Aims and outcomes

This course aims to enable students to gain knowledge and experience in the practical application of high-performance computing technology to solving significant problems, with relevance across a variety of fields of science. While students will become familiar with the underlying architecture and workings of current high-performance computing systems, the course is mainly concerned with techniques and knowledge surrounding the use ofᅠthese systems in solving problems.

Learning outcomes

After successfully completing this course you should be able to:

LO1.

Anticipate the key attributes, strengths and limitations when solving scientific problems using the main paradigms of contemporary high-performance computing.

LO2.

Interpret the key elements of techniques for computational modelling and simulation of large-scale scientific systems, including their main
strengths and limitations.

LO3.

Relate to all stages of solving a scientific problem using high performance computing: formulation, implementation, and evaluation of the techniques and technologies used.

LO4.

Create programs that efficiently implement solutions on shared memory and distributed systems.

LO5.

Evaluate performance analysis techniques to discover and resolve inefficiencies in computer code.

Assessment

Assessment summary

Category Assessment task Weight Due date
Computer Code, Project Major Project: Milestone 1 (Serial) 24%

6/09/2024 3:00 pm

Computer Code Assignment 1 21%

4/10/2024 3:00 pm

Computer Code, Project Major Project : Milestone 2 (Parallel)
  • Hurdle
  • Identity Verified
55%

4/11/2024 3:00 pm

A hurdle is an assessment requirement that must be satisfied in order to receive a specific grade for the course. Check the assessment details for more information about hurdle requirements.

Assessment details

Major Project: Milestone 1 (Serial)

Mode
Oral, Product/ Artefact/ Multimedia
Category
Computer Code, Project
Weight
24%
Due date

6/09/2024 3:00 pm

Task description

Students will implement a serial (ie non-parallel) solution to the problem assigned in Week One. Their submission will consist of the source code to their solution as well as a video containing:

·         A statement of the problem to be addressed, along with any necessary context of the problem and background.

·         A description of the algorithm to be used.

·         A description of the steps taken to verify the implementation.

·         Results of performance scaling with problem size.

A more detailed specification will be available from the course site.

Students must submit their source code and slurm logs.

Students may be asked to participate in an interview to clarify any questions staff may have about their submission.

Submission guidelines

Video presentation (via blackboard)
Code (via blackboard)

Deferral or extension

You may be able to apply for an extension.

The maximum extension allowed is 7 days. Extensions are given in multiples of 24 hours.

Marked submissions with feedback and/or detailed solutions with feedback will be released to students within 7-14 days where the earlier time frame applies if no extensions

Late submission

Assignment submissions received after the due time (or any approved extended deadline) will be subject to a 100% late penalty. A one-hour grace period applies to the due time after which time (4:00pm) the 100% late penalty will be imposed. This grace period is designed to deal with issues that might arise during submission (e.g. delays with Blackboard or Gradescope) and should not be considered a shift of the due time.

Assignment 1

Mode
Product/ Artefact/ Multimedia
Category
Computer Code
Weight
21%
Due date

4/10/2024 3:00 pm

Learning outcomes
L01, L04, L05

Task description

A simple function will be parallelised using AVX, openMP, CUDA, and MPI, with the goal being to make the function as fast as possible. Students will be assigned marks directly related to how fast (and correct) their implementation is. Students must submit their code, and slurm logs.

Students may be asked to participate in an interview to clarify any questions staff may have about their submission.

Submission guidelines

Submission via blackboard.

Deferral or extension

You may be able to apply for an extension.

The maximum extension allowed is 7 days. Extensions are given in multiples of 24 hours.

Marked submissions with feedback and/or detailed solutions with feedback will be released to students within 7-14 days where the earlier time frame applies if no extensions

Late submission

Assignment submissions received after the due time (or any approved extended deadline) will be subject to a 100% late penalty. A one-hour grace period applies to the due time after which time (4:00pm) the 100% late penalty will be imposed. This grace period is designed to deal with issues that might arise during submission (e.g. delays with Blackboard or Gradescope) and should not be considered a shift of the due time.

Major Project : Milestone 2 (Parallel)

  • Hurdle
  • Identity Verified
Mode
Oral, Product/ Artefact/ Multimedia
Category
Computer Code, Project
Weight
55%
Due date

4/11/2024 3:00 pm

Task description

Students will produce a short video presentation describing the work done in their major project for the course. Students must also submit their source code and slurm logs.

Students must show their face and student ID during this video, as it is an identity verified assessment item.

The student must pass this item (>=50%) to pass the course.

Students may be asked to participate in an interview to clarify any questions staff may have about their submission.

Further details will be specified on the course website.

Hurdle requirements

Must achieve greater than 50% in Milestone 2 to pass the course

Submission guidelines

Upload online (link to be provided)

Deferral or extension

You may be able to apply for an extension.

The maximum extension allowed is 7 days. Extensions are given in multiples of 24 hours.

Marked submissions with feedback and/or detailed solutions with feedback will be released to students within 7-14 days where the earlier time frame applies if no extensions

Late submission

Assignment submissions received after the due time (or any approved extended deadline) will be subject to a 100% late penalty. A one-hour grace period applies to the due time after which time (4:00pm) the 100% late penalty will be imposed. This grace period is designed to deal with issues that might arise during submission (e.g. delays with Blackboard or Gradescope) and should not be considered a shift of the due time.

Course grading

Full criteria for each grade is available in the Assessment Procedure.

Grade Cut off Percent Description
1 (Low Fail) 0 - 19

Absence of evidence of achievement of course learning outcomes.

2 (Fail) 20 - 44

Minimal evidence of achievement of course learning outcomes.

3 (Marginal Fail) 45 - 49

Demonstrated evidence of developing achievement of course learning outcomes

4 (Pass) 50 - 64

Demonstrated evidence of functional achievement of course learning outcomes.

5 (Credit) 65 - 74

Demonstrated evidence of proficient achievement of course learning outcomes.

6 (Distinction) 75 - 84

Demonstrated evidence of advanced achievement of course learning outcomes.

7 (High Distinction) 85 - 100

Demonstrated evidence of exceptional achievement of course learning outcomes.

Additional course grading information

Students must pass (greater than 50%) the Milestone 2 presentation assessment item in order to pass the course.

Supplementary assessment

Supplementary assessment is available for this course.

Additional assessment information

Having Troubles?

If you are having difficulties with any aspect of the course material you should seek help. Speak to the course teaching staff.

If external circumstances are affecting your ability to work on the course, you should seek help as soon as possible. The University and UQ Union have organisations and staff who are able to help, for example, UQ Student Services are able to help with study and exam skills, tertiary learning skills, writing skills, financial assistance, personal issues, and disability services (among other things).

Complaints and criticisms should be directed in the first instance to the course coordinator. If you are not satisfied with the outcome, you may bring the matter to the attention of the School of EECS Director of Teaching and Learning.


Programming Assignment Interviews

For the programming assignments the teaching staff may conduct interviews with a subset of students about their submissions for the purpose of establishing genuine authorship. If you write your own code, you have nothing to fear from this process. If you legitimately use permitted code from other sources (following the usage/referencing requirements in the assignment specification) then you are expected to understand that code. If you are not able to adequately explain the design of your solution and/or adequately explain your submitted code (and/or earlier versions in your repository) and/or be able to make simple modifications to your solution as requested at the interview, then your assignment mark will be scaled down based on the level of understanding you are able to demonstrate and/or your submission may be subject to a misconduct investigation where your interview responses form part of the evidence. Interview invitations will be issued by email to your student email account at any time up until the end of week one of the exam period. Failure to respond to an interview invitation by the deadline stated in the invitation (which will be at least one week after the invitation is sent) or failure to attend a scheduled interview will result in zero marks for the assignment unless exceptional circumstances can be demonstrated with supporting evidence.


Artificial Intelligence (AI) and Machine Translation (MT) are emerging tools that may support students in completing this assessment task. Students may appropriately use AI and/or MT in completing this assessment task. Students must clearly reference any use of AI or MT in each instance. A failure to reference generative AI or MT use may constitute student misconduct under the Student Code of Conduct.

Learning resources

You'll need the following resources to successfully complete the course. We've indicated below if you need a personal copy of the reading materials or your own item.

Library resources

Find the required and recommended resources for this course on the UQ Library website.

Learning activities

The learning activities for this course are outlined below. Learn more about the learning outcomes that apply to this course.

Filter activity type by

Please select
Clear filters
Learning period Activity type Topic
Multiple weeks
Practical

Computer Lab/self-directed computing & programming

Lecture

Lecture

Policies and procedures

University policies and procedures apply to all aspects of student life. As a UQ student, you must comply with University-wide and program-specific requirements, including the:

Learn more about UQ policies on my.UQ and the Policy and Procedure Library.

School guidelines

Your school has additional guidelines you'll need to follow for this course: