• Class Number 7468
  • Term Code 3360
  • Class Info
  • Unit Value 6 units
  • Mode of Delivery In Person
    • Dr Giuseppe Maria Junior Barca
    • Dr Rhys Hawkins
    • Dr Giuseppe Maria Junior Barca
  • Class Dates
  • Class Start Date 24/07/2023
  • Class End Date 27/10/2023
  • Census Date 31/08/2023
  • Last Date to Enrol 31/07/2023
SELT Survey Results

This course provides an introduction to High Performance Computing with an orientation towards applications in science and engineering. Aspects of numerical computing and the design and construction of sophisticated scientific software will be considered. The focus will be on the C and C++ programming languages, although reflecting the reality of modern scientific computation this course will also touch on other languages such as Python, Java and FORTRAN95. The course will study high performance computer architectures, including modern parallel processors, and will describe how an algorithm interacts with these architectures. It will also look at practical methods of estimating and measuring algorithm/architecture performance.

The following topics will be addressed: the C++ programming language; basic numerical computing from aspects of floating point error analysis to algorithms for solving differential equations; the engineering of scientific software; general high performance computing concepts and architectural principles; modern scalar architectures and their memory structure; performance and programmability issues, and program analysis techniques for high performance computing; parallel computing paradigms and programming using the OpenMP standard; trends in HPC systems.

Learning Outcomes

Upon successful completion, students will have the knowledge and skills to:

  1. Appreciate the building blocks of scientific and engineering software.
  2. Demonstrate a basic knowledge of numerical computing using an appropriate programming language.
  3. Be competent in experimental computing in a numerical context and of the optimisation of algorithms on high performance architectures.
  4. Be able to reason about the accuracy of mathematical and numerical models of real physical phenomena.
  5. Have an awareness of the modern field of computational science and engineering and of the impact of high performance computing on science and industry.
  6. Have an understanding of the various paradigms of high performance computing and their potential for performance and programmability.
  7. Be capable of writing algorithms that yield good performance on high-performance architectures, and to be able to estimate and evaluate their performance.

Examination Material or equipment


Required Resources

There will be no set text book for COMP3320/6464, but we will draw on material from a variety of sources. Dowd, Kevin & Severance, Charles High Performance Computing, O'Reilly, 2nd edition, 1998. Hyde, Randall Write Great Code Volume 1: Understanding the Machine No Starch Press Hyde, Randall Write Great Code Volume 2: Thinking Low-Level, Writing High-Level, No Starch Press Scott, L.R., Clark, T. & Bagheri, B. Scientific Parallel Computing, Princeton University Press. Shiflet, A.B. & Shiflet, G.W. Introduction to Computational Science: Modeling and Simulation for the Sciences , Princeton University Press Garg, Rajat P. & Sharapov, Ilya Techniques for Optimizing Applications: High Performance Computing , Prentice Hall. Hennessy, John L., Patterson, David A. & Kaufmann, Morgan Computer Architecture: A Quantitative Approach . Barton, John R. & Nackman, Lee R. Scientific and Engineering C++: An introduction with Advanced Techniques and Examples, Addison Wesley. Fosdick, Lloyd D., Jessep, Elizabeth R., Schauble, Carolyn J. C, & Domik, Gitta. An Introduction to High-Performance Scientific ComputingThe MIT Press, 1996. Heath, Michael T. Scientific Computation - An Introductory Survey. McGraw-Hill, 1997.

Staff Feedback

Students will be given feedback in the following forms in this course:
  • Written comments
  • Verbal comments
  • Feedback to the whole class, to groups, to individuals, focus groups

Student Feedback

ANU is committed to the demonstration of educational excellence and regularly seeks feedback from students. Students are encouraged to offer feedback directly to their Course Convener or through their College and Course representatives (if applicable). The feedback given in these surveys is anonymous and provides the Colleges, University Education Committee and Academic Board with opportunities to recognise excellent teaching, and opportunities for improvement. The Surveys and Evaluation website provides more information on student surveys at ANU and reports on the feedback provided on ANU courses.

Class Schedule

Week/Session Summary of Activities Assessment
1 Course Introduction and Von Neumann Architecture
2 Measuring Performance and Computing with Floating-Point Numbers Assignment 1 start: Molecular Dynamics (MD)Lab 1: Getting Started on Gadi and Performance Benchmarking
3 Scalar Profiling and Compiler Optimisations Lab 2: Hardware Architecture and Code Performance 
4 Single-Instruction Multiple Data (SIMD) Lab 3: Assignment 1 Bootcamp
5 Memory and Data Access Optimisations Lab 4: Loops optimisation
6 Preparation and Mid-Semester Exam
7 Parallel Computers and Introduction to Assigment 2 Assignment 2 start: Cloth Simulation
8 Introduction to Thread-Level Parallelism with Pthreads Lab 5: SIMD instructions
9 OpenMP: Fundaments & Worksharing Lab 6: Introductory OpenMP
10 OpenMP: Synchronization & Other Features, Parallel Computer Hardware Lab 7: Advanced OpenMP Constructs
11 OpenMP: SIMD, Parallel Performance & Roofline Lab 8: Assignment 1 Bootcamp
12 Course Review and Exam Preparation 

Assessment Summary

Assessment task Value Due Date Learning Outcomes
Assignment 1: Serial Optimisation of Molecular Dynamics Code 20 % 01/09/2022 1,2,3,4,5
Assignment 2: Parallel Optimisation of Cloth Simulation Code 20 % 27/10/2022 7,8,9,10,11
Mid-Semester Exam 20 % 29/08/2022 1,2,3,4,5
Final Exam 40 % * 1,2,3,4,5,7,8,9,10,11

* If the Due Date and Return of Assessment date are blank, see the Assessment Tab for specific Assessment Task details


ANU has educational policies, procedures and guidelines, which are designed to ensure that staff and students are aware of the University’s academic standards, and implement them. Students are expected to have read the Academic Misconduct Rule before the commencement of their course. Other key policies and guidelines include:

Assessment Requirements

The ANU is using Turnitin to enhance student citation and referencing techniques, and to assess assignment submissions as a component of the University's approach to managing Academic Integrity. For additional information regarding Turnitin please visit the ANU Online website Students may choose not to submit assessment items through Turnitin. In this instance you will be required to submit, alongside the assessment item itself, hard copies of all references included in the assessment item.

Moderation of Assessment

Marks that are allocated during Semester are to be considered provisional until formalised by the College examiners meeting at the end of each Semester. If appropriate, some moderation of marks might be applied prior to final results being released.

Assessment Task 1

Value: 20 %
Due Date: 01/09/2022
Learning Outcomes: 1,2,3,4,5

Assignment 1: Serial Optimisation of Molecular Dynamics Code

This assignment involves the optimization of a molecular dynamics code single-core architecture. You will be asked to optimize the code using concepts learned in the course concerning caches, pipelining, and superscalar architecture, to name a few. You will also write a report to explain your optimizations and explain the final performance of your code.

Assessment Task 2

Value: 20 %
Due Date: 27/10/2022
Learning Outcomes: 7,8,9,10,11

Assignment 2: Parallel Optimisation of Cloth Simulation Code

This assignment involves the optimization of a cloth simulation code on a multi-core architecture. You will be asked to optimize the code using concepts learned in the course concerning parallelism and vectorization on shared memory multi-core architectures. You will also write a report to explain your optimizations and explain the final performance of your code.

Assessment Task 3

Value: 20 %
Due Date: 29/08/2022
Learning Outcomes: 1,2,3,4,5

Mid-Semester Exam

This will be a 90-minutes long exam on the first half of the course material, with 15 minutes of reading time. It will be scheduled for the week of Aug 29th. Details will be announced on the Wattle course site. If you miss the mid-semester exam for a legitimate reason (e.g. medical), you will be awarded zero and your final course mark will be derived by scaling your final examination mark to represent 60, instead of 40 marks.

Assessment Task 4

Value: 40 %
Learning Outcomes: 1,2,3,4,5,7,8,9,10,11

Final Exam

The final exam will be 3 hours with 15 minutes of reading time and will assess your knowledge on the whole course material.

Academic Integrity

Academic integrity is a core part of our culture as a community of scholars. At its heart, academic integrity is about behaving ethically. This means that all members of the community commit to honest and responsible scholarly practice and to upholding these values with respect and fairness. The Australian National University commits to embedding the values of academic integrity in our teaching and learning. We ensure that all members of our community understand how to engage in academic work in ways that are consistent with, and actively support academic integrity. The ANU expects staff and students to uphold high standards of academic integrity and act ethically and honestly, to ensure the quality and value of the qualification that you will graduate with. The University has policies and procedures in place to promote academic integrity and manage academic misconduct. Visit the following Academic honesty & plagiarism website for more information about academic integrity and what the ANU considers academic misconduct. The ANU offers a number of services to assist students with their assignments, examinations, and other learning activities. The Academic Skills and Learning Centre offers a number of workshops and seminars that you may find useful for your studies.

Online Submission

The ANU uses Turnitin to enhance student citation and referencing techniques, and to assess assignment submissions as a component of the University's approach to managing Academic Integrity. While the use of Turnitin is not mandatory, the ANU highly recommends Turnitin is used by both teaching staff and students. For additional information regarding Turnitin please visit the ANU Online website.

Hardcopy Submission

For some forms of assessment (hand written assignments, art works, laboratory notes, etc.) hard copy submission is appropriate when approved by the Associate Dean (Education). Hard copy submissions must utilise the Assignment Cover Sheet. Please keep a copy of tasks completed for your records.

Late Submission

No submission of assessment tasks without an extension after the due date will be permitted. If an assessment task is not submitted by the due date, a mark of 0 will be awarded. OR Late submission of assessment tasks without an extension are penalised at the rate of 5% of the possible marks available per working day or part thereof. Late submission of assessment tasks is not accepted after 10 working days after the due date, or on or after the date specified in the course outline for the return of the assessment item. Late submission is not accepted for take-home examinations.

Referencing Requirements

Accepted academic practice for referencing sources that you use in presentations can be found via the links on the Wattle site, under the file named “ANU and College Policies, Program Information, Student Support Services and Assessment”. Alternatively, you can seek help through the Students Learning Development website.

Extensions and Penalties

Extensions and late submission of assessment pieces are covered by the Student Assessment (Coursework) Policy and Procedure The Course Convener may grant extensions for assessment pieces that are not examinations or take-home examinations. If you need an extension, you must request an extension in writing on or before the due date. If you have documented and appropriate medical evidence that demonstrates you were not able to request an extension on or before the due date, you may be able to request it after the due date.

Privacy Notice

The ANU has made a number of third party, online, databases available for students to use. Use of each online database is conditional on student end users first agreeing to the database licensor’s terms of service and/or privacy policy. Students should read these carefully. In some cases student end users will be required to register an account with the database licensor and submit personal information, including their: first name; last name; ANU email address; and other information. In cases where student end users are asked to submit ‘content’ to a database, such as an assignment or short answers, the database licensor may only use the student’s ‘content’ in accordance with the terms of service — including any (copyright) licence the student grants to the database licensor. Any personal information or content a student submits may be stored by the licensor, potentially offshore, and will be used to process the database service in accordance with the licensors terms of service and/or privacy policy. If any student chooses not to agree to the database licensor’s terms of service or privacy policy, the student will not be able to access and use the database. In these circumstances students should contact their lecturer to enquire about alternative arrangements that are available.

Distribution of grades policy

Academic Quality Assurance Committee monitors the performance of students, including attrition, further study and employment rates and grade distribution, and College reports on quality assurance processes for assessment activities, including alignment with national and international disciplinary and interdisciplinary standards, as well as qualification type learning outcomes. Since first semester 1994, ANU uses a grading scale for all courses. This grading scale is used by all academic areas of the University.

Support for students

The University offers students support through several different services. You may contact the services listed below directly or seek advice from your Course Convener, Student Administrators, or your College and Course representatives (if applicable).
Dr Giuseppe Maria Junior Barca

Research Interests

High-Performance Computing

Dr Giuseppe Maria Junior Barca

Sunday By Appointment
By Appointment
Dr Rhys Hawkins

Research Interests

High-Performance Computing

Dr Rhys Hawkins

Dr Giuseppe Maria Junior Barca

Research Interests

High-Performance Computing

Dr Giuseppe Maria Junior Barca

Sunday By Appointment
By Appointment

Responsible Officer: Registrar, Student Administration / Page Contact: Website Administrator / Frequently Asked Questions