Introduction to Supercomputing
Overview
This unit aims to provide a comprehensive overview of high-performance computing (HPC) principles and their applications in scientific research and industry. The course will develop students' understanding of what supercomputers are, how they function, and their crucial role in solving complex, large-scale problems. Emphasis is placed on conceptual understanding and practical application, preparing students for industry roles and advanced research that increasingly rely on HPC. This unit is particularly relevant in addressing Australia's significant skills gap in HPC and aims to equip students with foundational knowledge for this rapidly evolving field.
Requisites
MJ-AST Astronomy and Astrophysics Major
OR
100cp in BH-ENG or 150cp in a Engineering Double degree
OR
100cp in BA-CS or 150cp in a Computer Science Double degree
OR
100cp in BA-SC2 or 150cp in a Science Double degree
Unit learning outcomes
Students who successfully complete this unit will be able to:
- Describe the fundamental concepts of high-performance computing, including hardware architectures and system software.
- Utilise HPC systems effectively, including navigating a Linux environment, managing jobs with a scheduler, and applying basic shell scripting
- Apply Python programming techniques to address scientific computing tasks suitable for HPC environments.
- Discuss the application of HPC and AI/Machine Learning to solve large-scale problems in scientific research and industry.
- Identify challenges and strategies for managing and visualising large datasets within an HPC context.
- Recognise the state-of-the-art and future directions in supercomputing.
Teaching methods
All applicable locations
| Activity Type | Hours per week | Number of weeks | Total (number of hours) |
|---|---|---|---|
On-Campus Lecture |
2 | 12 weeks | 24 |
| On-Campus Lab | 2 | 12 weeks | 24 |
| Online Specified Activities | 2 | 12 weeks | 24 |
| Unspecified Learning Activities (Independent Learning) | 6.5 | 12 weeks | 78 |
| Total | 150 |
Assessment
| Type | Task | Weighting | ULOs |
|---|---|---|---|
| Individual | Practical Examination | 20-40 % | 1, 2, 3, 4, 5, 6 |
| Individual | Portfolio | 40-60 % | 2, 3, 4, 5 |
| Individual | Online Quiz | 10-30 % | 1, 4, 5, 6 |
Content
- Fundamentals of Supercomputing: Core concepts, architectures (hardware, networking), and the rationale for HPC in science and industry.
- Using HPC Systems: Introduction to the Linux/UNIX environment, essential shell commands, connecting to clusters, and using job schedulers.
- Programming Tools for HPC: Scientific programming with Python for HPC tasks, leveraging relevant libraries, and version control.
- Data Handling in Supercomputing: Managing, analysing, and visualising large scientific datasets generated or processed on HPC systems.
- Applications and Future Trends: Exploring the use of HPC and AI/Machine Learning in astrophysics and other scientific domains, current state-of-theart, and future directions like quantum computing
Study resources
Reading materials
A list of reading materials and/or required textbooks will be available in the Unit Outline on Canvas.