# ISC'24 tutorial - EESSI
## Next meeting
Fri 8 Dec'23 16:00 CET
## Repo
https://github.com/EESSI/isc-tutorial
subdir: `isc24/eessi`
use https://github.com/easybuilders/isc-tutorial as starting point
## Who
- Sebastian
- Kenneth
- Alan
## Title
Streaming Optimised Scientific Software: an Introduction to EESSI
## Inspiration for abstract & description
https://multixscale.github.io/cvmfs-tutorial-hpc-best-practices/eessi/
https://raw.githubusercontent.com/eessi/docs/main/talks/20231205-Introduction-to-EESSI-CASTIEL2/20231205-Introduction-to-EESSI-CASTIEL2.pdf
## Agenda
### Half-day (demo only)
2h+1.5h
- 09:00-09:45 Introduction to EESSI (45min)
- Motivation + goals (10min)
- High-level design + inspiration (15min)
- Using EESSI - incl. hands-demo (15min)
- MultiXscale (funding) (5min)
- Getting access to EESSI, incl. hands-on demo (30min)
- native installation (10min)
- production setup in HPC: proxy + Stratum-1 (10min)
- with prepared proxy + Stratum-1 VMs
- show impact on start-up performance
- alternative access mechanisms (without root) (10min)
- container
- cvmfsexec
- Use cases, incl. hands-on demo (20min)
- Uniform software env
- Portable workflows
- EESSI in CI env
- Facilitate training
- Collab with dev
- Adding software to EESSI (20min)
- EasyBuild
- PR to GitHub
- Bot
- 11:00-11:30 (30min coffee break)
- Troubleshooting access to EESSI, incl. hands-on demo (20min)
- Testing software in EESSI (20min)
- Performance evaluation: start-up perf, high load, scaling (MPI), OS jitter (20min)
- EESSI community: Slack, support, GitHub, ... (15min)
- 12:45-13:00 (15min) Q&A + closing remarks
### Full day (incl. hands-on for participants)
- 09:00 Introduction to EESSI (2h)
- Motivation + goals (15min)
- High-level design + inspiration (15min)
- Using EESSI (15min)
- MultiXscale (funding) (5min)
- Community (10min)
- Hands-on: using EESSI (60min)
- 11:00-11:30 (30min coffee break)
- 11:30- Getting access to EESSI, incl. hands-on demo (1.5h)
- native installation (20min)
- production setup in HPC: proxy + Stratum-1 (30min)
- Stratum-1 setup + init sync
- setup proxy + use
- show impact on start-up performance
- alternative access mechanisms (without root) (20min)
- container
- cvmfsexec
- use private Stratum-1 (20min)
- 13:00-14:00 (60min lunch break)
- Use cases, incl. hands-on (1h)
- Uniform software env
- Portable workflows
- EESSI in CI env
- Facilitate training
- Collab with dev
- Adding software to EESSI, incl. hands-on (1h)
- EasyBuild
- PR to GitHub
- Bot
- 16:00-16:30 (30min coffee break)
- 16:30 Troubleshooting access to EESSI, incl. hands-on (30min)
- fix broken setup
- 17:00 Testing software in EESSI (30min)
- use EESSI test suite
- 17:30 Performance evaluation: start-up perf, high load, scaling (MPI), OS jitter (20min)
- 17:50-18:00 (10min) Q&A + closing remarks
## Agenda (EasyBuild ISC'23)
Full-day format (7 hours of tutorial content)
- 09:00-09:20 (20min) Introduction to EasyBuild: scope & terminology
- 09:20-09:30 (10min) Practical information w.r.t. prepared environment for hands-on 09:30-10:00 (30min) Installing & configuring EasyBuild + basic usage (hands-on) 10:00-11:00 (60min) Installing software with EasyBuild + troubleshooting (hands-on) 11:00-11:30 (30min coffee break)
- 11:30-11:50 (20min) Module naming schemes (incl. hierarchical) (hands-on)
3
- 11:50-12:30 (40min) Adding support for additional software: easyconfigs + easyblocks (hands-on) 12:30-13:00 (30min) The EasyBuild community + contributing to EasyBuild (hands-on) 13:00-14:00 (60min lunch break)
- 14:00-14:20 (20min) Quick comparison with other tools
- 14:20-14:50 (30min) Advanced EasyBuild features: hooks, Slurm integration, . . . (hands-on)
- 14:50-16:00 (70min) Usage of EasyBuild in EESSI (hands-on)
- 16:00-16:30 (30min coffee break)
- 16:30-17:10 (40min) EasyBuild @ Ju ̈lich Supercomputing Centre (JSC): System overview, Easy- Build integration, hooks, build stages concept, developer modules and user installations
- 17:10-17:50 (40min) EasyBuild @ LUMI: LUMI overview, the Cray Programming Environment, EasyBuild integration, distributed development and support, user installations
- 17:50-18:00 (10min) Q&A + closing remarks
### Half-day format, 3.5 hours of tutorial content
- 09:00-09:20 (20min) Introduction to EasyBuild: scope & terminology
- 09:20-09:30 (10min) Practical information w.r.t. prepared environment for hands-on
- 09:30-09:50 (20min) Installing & configuring EasyBuild + basic usage (hands-on)
- 09:50-10:30 (40min) Installing software with EasyBuild + troubleshooting (hands-on) 10:30-11:00 (30min) Adding support for additional software (basics) (hands-on)
- 11:00-11:30 (30min coffee break)
- 11:30-11:50 (20min) Module naming schemes (incl. hierarchical) (hands-on demo)
- 11:50-12:30 (40min) Integration of EasyBuild in EESSI, JSC, and LUMI
- 12:30-12:45 (15min) The EasyBuild community + contributing to EasyBuild (hands-on demo)
- 12:45-13:00 (15min) Q&A + closing remarks (incl. quick comparison with other tools)