- Class Number 7393
- Term Code 3260
- Class Info
- Unit Value 6 units
- Mode of Delivery In Person
- Dr Giuseppe Maria Junior Barca
- Dr Giuseppe Maria Junior Barca
- Class Dates
- Class Start Date 25/07/2022
- Class End Date 28/10/2022
- Census Date 31/08/2022
- Last Date to Enrol 01/08/2022
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.
Upon successful completion, students will have the knowledge and skills to:
- Appreciate the building blocks of scientific and engineering software.
- Demonstrate a basic knowledge of numerical computing using an appropriate programming language.
- Be competent in experimental computing in a numerical context and of the optimisation of algorithms on high performance architectures.
- Be able to reason about the accuracy of mathematical and numerical models of real physical phenomena.
- Have an awareness of the modern field of computational science and engineering and of the impact of high performance computing on science and industry.
- Have an understanding of the various paradigms of high performance computing and their potential for performance and programmability.
- 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 equipment0
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 FeedbackStudents 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 FeedbackANU 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.
|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 task||Value||Due Date||Learning Outcomes|
|Assignment 1: Serial Optimisation of Molecular Dynamics Code||20 %||02/09/2022||?COMP3320 - High Perform Sc Comput - Learning Outcomes - 1? ?COMP3320 - High Perform Sc Comput - Learning Outcomes - 2? ?COMP3320 - High Perform Sc Comput - Learning Outcomes - 3?|
|Assignment 2: Parallel Optimisation of Cloth Simulation Code||20 %||28/10/2022||?COMP3320 - High Perform Sc Comput - Learning Outcomes - 7? ?COMP3320 - High Perform Sc Comput - Learning Outcomes - 3? ?COMP3320 - High Perform Sc Comput - Learning Outcomes - 4? ?COMP3320 - High Perform Sc Comput - Learning Outcomes - 6?|
|Mid-Semester Exam||20 %||30/08/2022||?COMP3320 - High Perform Sc Comput - Learning Outcomes - 2? ?COMP3320 - High Perform Sc Comput - Learning Outcomes - 4? ?COMP3320 - High Perform Sc Comput - Learning Outcomes - 5?|
|Final Exam||40 %||*||?COMP3320 - High Perform Sc Comput - Learning Outcomes - 2? ?COMP3320 - High Perform Sc Comput - Learning Outcomes - 3? ?COMP3320 - High Perform Sc Comput - Learning Outcomes - 4? ?COMP3320 - High Perform Sc Comput - Learning Outcomes - 5? ?COMP3320 - High Perform Sc Comput - Learning Outcomes - 6? ?COMP3320 - High Perform Sc Comput - Learning Outcomes - 7?|
* If the Due Date and Return of Assessment date are blank, see the Assessment Tab for specific Assessment Task details
PoliciesANU 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 RequirementsThe 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 AssessmentMarks 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
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
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
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
Learning Outcomes: ?COMP3320 - High Perform Sc Comput - Learning Outcomes - 2? ?COMP3320 - High Perform Sc Comput - Learning Outcomes - 3? ?COMP3320 - High Perform Sc Comput - Learning Outcomes - 4? ?COMP3320 - High Perform Sc Comput - Learning Outcomes - 5? ?COMP3320 - High Perform Sc Comput - Learning Outcomes - 6? ?COMP3320 - High Perform Sc Comput - Learning Outcomes - 7?
The final exam will be 3 hours with 15 minutes of reading time and will assess your knowledge on the whole course material.
Academic IntegrityAcademic 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 SubmissionThe 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 SubmissionFor 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 SubmissionNo 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 RequirementsAccepted 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 PenaltiesExtensions 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.
Distribution of grades policyAcademic 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 studentsThe 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).
- ANU Health, safety & wellbeing for medical services, counselling, mental health and spiritual support
- ANU Diversity and inclusion for students with a disability or ongoing or chronic illness
- ANU Dean of Students for confidential, impartial advice and help to resolve problems between students and the academic or administrative areas of the University
- ANU Academic Skills and Learning Centre supports you make your own decisions about how you learn and manage your workload.
- ANU Counselling Centre promotes, supports and enhances mental health and wellbeing within the University student community.
- ANUSA supports and represents undergraduate and ANU College students
- PARSA supports and represents postgraduate and research students
Dr Giuseppe Maria Junior Barca