This three day workshop will provide attendees with the knowledge required to understand the most optimal way to port, execute and optimize applications for ARCHER2. The workshop is a mixture of lectures and practical hands-on sessions. Example exercises will be provided but attendees are encouraged to bring their own applications. Specific topics that will be covered include:
- Cray EX System Architecture
- Compiling and running applications ( Programming Environment, compilers, libraries, Slurm )
- Debugging tools
- Application profiling
- Optimization of applications for serial performance, parallel execution and efficient use of I/O
- GPU topics (see below)
As an update to the previous course run in 2023 this instance will also cover development and profiling of GPU applications, specifically for the GPU development platform on ARCHER2 but also of relevance for people who might be using other HPE Cray EX systems in Europe such as LUMI.
This is an opportunity to learn about the system hardware and software architecture, direct from HPE Cray Centre of Excellence experts, and we do not expect to be able to repeat this opportunity in the near future. No recordings will be provided so we encourage you to sign up now to ensure your place.
Target Audience:
Although the first day has content of a more introductory nature it is expected that attendees are proficient Linux users, are familiar with HPC system environments in general and have a good understanding of parallel programming in C/Fortran. The course covers advanced topics relating to software development, profiling and optimization.
Requirements:
Participants need to be able to connect with ARCHER2 via ssh and will receive training material in PDF format.
They are also required to abide by the ARCHER2 Code of Conduct.
This course is primarily intended current or prospective users of ARCHER2 but others may be accepted should numbers permit. Please ensure you enter your ARCHER2 Username and Project code in the “Reason for participation” section to ensure your registration is categorised properly. You will be given access to a temporary training project to use during the course.
This course will not be recorded and the materials will be shared only with the participants.
Schedule:
Day 1: Introduction to the ARCHER2 architecture and software.
- Introduction to the Cray Hardware and Programming Environment.
- Overview of compilers and libraries
- Advanced Job Launching and application placement with resources
Day 2: Deep dive on compilation and profiling.
- Introduction to Perftools
- Advanced performance analysis
- Performance Optimization: Improving single-core efficiency
- Debugging at scale
Day 3: Deep dive on MPI and IO. You will also have the opportunity to compile your code on ARCHER2.
- Understanding Cray MPI
- Python on Cray EX
- GPU debugging and profiling
- Rank reordering and MPMD application launch
- IO Optimization - Parallel I/O
- There will be morning, lunch, and afternoon breaks. There will be a mixture of presentations and hands-on exercises.
Timetable:
Tuesday 28th
- 09:00 Welcome
- 09.10 Introduction to the HPE Cray Hardware
- 10.10 Introduction to the HPE Cray Programming Environment
- 10:40 Break
- 11:00 First steps for running on Cray EX hardware
- 11:20 Exercises
- 12:00 Lunch
- 13:20 Overview of compilers and Parallel Programming Models
- 14:20 Exercises
- 14:50 Break
- 15:00 Scientific Libraries
- 15:30 Exercises
- 16:00 CPE GPU Offloading Models: directives and other approaches
- 16:45 Q&A
- 17:00 End
Wednesday 29th
- 09:00 Advanced Application Placement
- 09:45 Exercises
- 10:15 Break
- 10:35 Debugging at scale
- 11:20 Exercises
- 12:00 Lunch
- 13:20 Introduction to Perftools
- 14:20 Exercises
- 14:55 Break
- 15:05 Advanced performance analysis
- 16:05 Exercises
- 16:45 Q&A
- 17:00 End