November 23rd (all times CET) |
Topic |
9:30 |
Welcome, introduction to the course |
9:45 |
• Introduction to the HPE Cray Hardware and Programming Environment• Focus on the HPE Cray EX hardware architecture and software stack.• Tutorial on the Cray module environment and compiler wrapper scripts. |
10:50 |
break (30 minutes) |
11:20 |
• First steps to running on Cray EX Hardware• Examples of using the Slurm Batch system, launching jobs on the front end and basic controls for job placement.• Exercises: about 45 minutes |
12:40 |
lunch break (80 minutes) |
14:00 |
• Overview of compilers and libraries• An introduction to the compiler suites available. Including examples of how to get additional information about the compilation process. Special attention is given the Cray Compilation Environment (CCE) noting options relevant to porting and performance. CCE classic to Clang transition• Exercises: about 20 minutes |
15:30 |
break (30 minutes) |
16:00 |
• Advanced Application Placement• More detailed treatment of Slurm binding technology and OpenMP controls.• Exercises: about 30 minutes |
17:00 |
Open Questions & Answers |
17:30 |
End of first course day |
November 24rd (all times CET) |
Topic |
09:30 |
Performance and Debugging Tools incl exercises and a break Includes following content broken up with Exercises/Demos and a break • Introduction to perftools• Pertfools lite modules• Loop work estimates• Reveal for performance data display, compiler feedback and automated scoping• Debugging tools at scale |
12:30 |
lunch break (60 minutes) |
13:30 |
• Understanding Cray MPI on Slingshot, rank reordering and MPMD launch• High level overview of Cray MPI on Slingshot, useful environment variable controls.• Rank reordering and MPMD application launch.• Exercises: about 20 minutes |
14:30 |
• I/O Optimisation — Parallel I/O• Introduction into the structure of the Lustre Parallel file system. Tips for optimisingparallel bandwidth for a variety of parallel I/O schemes. Examples of using MPI-IO to improve overall application performance.• Advanced Parallel I/O considerations• Further considerations of parallel I/O and other APIs.• Being nice to Lustre• Consideration of how to avoid certain situations in I/O usage that don’t specifically relate to data movement. |
15:15 |
break (20 minutes) |
15:35 |
Additional software on LUMI-C • Software policy• Software environment on LUMI• Installing software with EasyBuild (concepts, contributed recipes)• Containers for Python, R, VNC (container wrappers) |
16:50 |
LUMI support: • LUMI documentation• What can we help you with and what not? How to get help, how to write good support requests• Some typical/frequent support questions of users on LUMI-C? |
17:10 |
Open Questions & Answers |
17:30 |
End of second course day |