The foundation level courses are designed for students who want to run someone else code on an HPC system. They focus on the key skills needed to gain access to an HPC environment, navigate using BASH, and successfully launch jobs using a workload manager such as Slurm.

These courses also establish good foundational practices for future training, should students choose to progress into software maintenance or development.

Bash is the corner stone of HPC systems, learn to connect, navigate, and much much more.

This course is part of the Foundation Series of courses, which introduces the principles of HPC and the essential tools needed to work effectively on an HPC system. The training will help you develop the skills required to support your research and enable you to make effective use of DiRAC’s HPC resources. The series covers core competencies, such as: connecting to a system for the first time to establishing the foundations for writing robust, high-quality code, and finally launching your first HPC job. We assume familiarity with desktop computers, but no prior experience with programming, Linux, or HPC is required.

The foundation in BASH course is the first in the foundation series of courses and focuses on providing you with the fundamentals of the Linux BASH environment. It ensures you will develop the skills needed to connect to an HPC system, navigate and manage their working environment, access the appropriate directories, transfer data to the correct locations, and launch their first job on an HPC system.

Skill Level: Beginner

Lean how to manage your code, and work as a team using the industry standard GIT.

The foundation in GIT course is the second in the foundation series of courses and focuses on providing you with the fundamentals of the GIT software control system. It ensures you will develop the skills needed to use and manage you code development in a structured and safe way, enabling you to ether build a repository ready to share with others, or work seamlessly with your collaborators.

This course is part of the Foundation Series of courses, which  introduces the principles of HPC and the essential tools needed to work effectively on an HPC system. The training will help you develop the skills required to support your research and enable you to make effective use of DiRAC’s HPC resources. The series covers core competencies, such as: connecting to a system for the first time to establishing the foundations for writing robust, high-quality code, and finally launching your first HPC job. We assume familiarity with desktop computers, but no prior experience with programming, Linux, or HPC is required.

Skill Level: Beginner

Understanding the issues with scaling and how to deal with them is key for a successful HPC application.

This course is part of the Foundation Series of courses, which  introduces the principles of HPC and the essential tools needed to work effectively on an HPC system. The training will help you develop the skills required to support your research and enable you to make effective use of DiRAC’s HPC resources. The series covers core competencies, such as: connecting to a system for the first time to establishing the foundations for writing robust, high-quality code, and finally launching your first HPC job. We assume familiarity with desktop computers, but no prior experience with programming, Linux, or HPC is required.

The Foundation Course in Scalability is the fifth course in the Foundation Series and focuses on providing you with the fundamental knowledge and skills needed to understand the challenges and approaches involved in developing parallel code for HPC systems. It will ensure you can successfully launch jobs using Slurm, understand the limitations of scaling your code, and develop the skills required to produce both strong and weak scaling analyses.

Skill Level: Beginner

Focuses on good practise and highlighting the advantages of software engineering for HPC applications.

This course is part of the Foundation Series of courses, which  introduces the principles of HPC and the essential tools needed to work effectively on an HPC system. The training will help you develop the skills required to support your research and enable you to make effective use of DiRAC’s HPC resources. The series covers core competencies, such as: connecting to a system for the first time to establishing the foundations for writing robust, high-quality code, and finally launching your first HPC job. We assume familiarity with desktop computers, but no prior experience with programming, Linux, or HPC is required.

The Foundation in Software Engineering course is the third course in the Foundation Series and focuses on providing you with the fundamental principles of software engineering. It ensures you develop the skills and knowledge needed to follow good software engineering practices. The course covers key topics such as software usability, programming principles, writing code, code structures, and common development cycles.

Skill Level: Beginner

Good documentation, review processes and testing practice can make the difference in the long term viability of HPC code.

This course is part of the Foundation Series of courses, which introduces the principles of HPC and the essential tools needed to work effectively on an HPC system. The training will help you develop the skills required to support your research and enable you to make effective use of DiRAC’s HPC resources. The series covers core competencies, such as: connecting to a system for the first time to establishing the foundations for writing robust, high-quality code, and finally launching your first HPC job. We assume familiarity with desktop computers, but no prior experience with programming, Linux, or HPC is required.

The Foundation in Testing course is the fourth course in the Foundation Series and focuses on providing you with the fundamentals of testing, documentation, and code review. It ensures you develop a solid understanding of why these elements are essential in software development. You will be introduced to testing strategies, planning and running test systems, development tools, good practices for reviewing code, and effective approaches to documenting your work.

Skill Level: Beginner