![training-plans](https://hackmd.io/_uploads/SJ2xY04vkl.jpg) <p style="text-align: center"><b><font size=5 color=blueyellow>ENCCS KOM - Training - 2025</font></b></p> :::info **Contents of this documents and quick links**: [TOC] ::: ## <span style="background-color: cyan">Planned training events</span> ### 2025-H2 - Sept. 9-11, CR autumn training (1st stage) - onsite place at KTH library - Ashwin, yonglei (not sept. 10), Daniel - several webinars will be delivered at the 2nd stage (one webinar per week from Sept. 17) - https://coderefinery.github.io/2025-09-09-workshop/ - Sept. 16-18, Practical machine learning - Yonglei - Nov. 3-7, QAS 2025 - brief overview by Karim & Juan - open questions: **LUMI-Q**, IQM-cloud, VTT system - HPC access: **LUMI** and Leonardo - XXX, Build system course (led by Johan @ PDC) - [event webpage, 2024](https://enccs.se/events/build-systems-course-and-hackathon-2024/) - planning meeting will come soon - GPU programming - cuda on AMD gpu - Sept. 18, Quantum-accelerated supercomputing for materials science (Karim) - reschedule to oct. x - Oct. 9, HPC workloads in the cloud – a practical intro webinar (Daniel) - check no. of registrations - Juan? - Best practice in HPC training - stepas - samantha? ### 2026-H1 :::warning Jan.-Mar. for AI/ML/DL Apr.-Jun. for HPC ::: MultiGPU AI TTT course (Castiel2) - planning meeting on Sept. 2 - [agenda on 2024](https://docs.google.com/document/d/1ztkd5I2k40QetHLwKdnOw4d6Ub_BsrR2epV2dt0wV3E/edit?tab=t.0) Python HPC **Webinars** **Events on the waiting list** - OpenFOAM? - https://enccs.github.io/openfoam/ - hopefully a PR for updated OpenFOAM material - no new content (yet), but ported to OF 12 - Ashwin? Francesco? - Best Practice HPC Training (Train-the-Trainer) - GPU Programming - Yonglei will organize planning meetings - OpenACC-CUDA - https://github.com/ENCCS/OpenACC-CUDA-beginners - https://github.com/ENCCS/OpenACC-CUDA-intermediate - https://github.com/ENCCS/openacc - ??? - ==MultiGPU AI Train-the-Trainers Course???== - ENCCS leads the organization effort - probably Jan. 2026 - first meeting on Sept. 2 and repeats monthly for detailed discussion - yonglei & ashwin will try to update the schedule - VASP-EMTO (webinars) - Yonglei will organize planning meetings - Weine, Wei, Karim - Ashwin – Using MLFlow on LUMI - Francesco – Julia and ML - Perfomance programming - https://enccs.github.io/performance-programming/ - Daniel's update ## <span style="background-color: gold">Regular training events</span> Based on our training materials, we can have some (hard-core) training event and we are the main organizer for these training events. - Julia HPDA/HPC - Python HPDA - split HPDA in HPDA (new) and HPC (scientific computing & image processing) - HPDA in 2025H2 - HPC in 2026H1 - Practical ML/DL - Best Practice HPC Training - GPU Programming - OpenACC-CUDA - Pedro used to be interested in teaching/contributing - HPC2N material is good, especially profiling part - QAS - possible training events - c++ - mpi - rust? **Collaborate with other organizers for specific HPC applications** (everyone can be the moderator/organizer for the workshop) - CoEs - MaX - Plasma-PEPSC - CEEC - HiDALGO2 - BioExcel - ... - CR, AaltoSciComp, *etc.* - PDC, NAISS, *etc.* - Research groups - VeloxChem - EMTO - ... For webinars, we can arrange at least one webinar (60 min + 30 min) per month. Everyone is welcome to make the contribute, either to be the presenter or invite external people for presentation. - Programming language issues - Julia, Python, *etc.* - CPU/GPU hybrid parallel programming, profiling - Practical Intro to GPU programming - HPC applications - Gromacs, EMTO, VASP, *etc.* - Programming tools - Quantum computing - ... - ~~AI/ML/DL~~ **Other ENCCS events** - Sept. 22-25, NeIC & EuroCC AHM @ Tallinn - Yonglei, Ashwin for NeIC AHM - Yonglei, Francesco, Karim, Erik, and Emma for EuroCC AHM - AI4Science, AIF - Thor - Oct. 22, Nordic HPC Summit 2025 - XX ## <span style="background-color: lime">MOOC course</span> ## <span style="background-color: magenta">Github repositories -- Lesson materials</span> ### Best Practices in HPC Training - https://enccs.github.io/instructor-training/ - pay more attention to the `TTT` lesson materials from CR: https://coderefinery.github.io/train-the-trainer/ ### HPC Programming - [Performance Programming](https://enccs.github.io/performance-programming/) - MPI - [Introduction to MPI (PDC)](https://github.com/ENCCS/MPI-course/) - [Intermediate MPI](https://enccs.github.io/intermediate-mpi/) ### GPU computing - [GPU programming](https://enccs.github.io/gpu-programming/) - [OpenMP for GPU Offloading](https://enccs.github.io/openmp-gpu/) - Three repos for openacc & cuda: - https://enccs.github.io/openacc/ - https://enccs.github.io/OpenACC-CUDA-beginners/ - https://enccs.github.io/OpenACC-CUDA-intermediate/ - [(Intermediate) CUDA](https://enccs.github.io/cuda/) - [Heterogeneous programming with SYCL](https://enccs.github.io/sycl-workshop/) - [Applications with AMD-ROCm Ecosystems](https://enccs.github.io/amd-rocm-development/) - [HIP101 Workshop](https://enccs.github.io/HIP101/) ### High Level Language Programming (HPDA/HPC) - Python - [Python for Scientific Computing (AaltoSciComp)](https://aaltoscicomp.github.io/python-for-scicomp/) - [High-performance Data Analytics with Python](https://enccs.github.io/hpda-python/) - Julia - [Introduction to Julia](https://github.com/ENCCS/julia-intro/) - [Julia HPC](https://enccs.github.io/julia-for-hpc/) - [Julia HPDA](https://enccs.github.io/julia-for-hpda) - [2D Heat Equation in Julia](https://github.com/ENCCS/HeatEquation.jl) ### HPC applications - Electronic Structures Calculations - [VASP Best Practices Workshop](https://enccs.github.io/vasp-best-practices/) - [EMTO Best Practices Workshop](https://enccs.github.io/emto-best-practices/) - Efficient Materials Modelling - [QUANTUM ESPRESSO, Yambo, and BigDFT](https://enccs.github.io/efficient-materials-modelling-on-hpc/) - [QUANTUM ESPRESSO, SIESTA, and Yambo](https://enccs.github.io/max-coe-workshop/) - VeloxChem - [VeloxChem: Quantum chemistry from laptop to HPC](https://enccs.github.io/veloxchem-workshop/) - [VeloxChem: quantum chemistry towards pre-exascale and beyond](https://enccs.github.io/veloxchem-hpc/) - [Computational Chemistry from Laptop to HPC](https://kthpanor.github.io/echem/docs/title.html) - Molecular dyanmics simulations - [Gromacs GPU Performance](https://enccs.github.io/gromacs-gpu-performance/) - CFD Calculations - [OpenFOAM Training Workshop](https://enccs.github.io/openfoam/) - [Training on Nek5000](https://enccs.se/events/training-on-nek5000/) - [Training on HPDA for Climate Data with Ophidia Framework (ESiWACE CoE)](https://github.com/ESiWACE/hpda-vis-training/tree/master/) - [Space Plasma Simulations with Vlasiator on LUMI Supercomputer](https://enccs.github.io/plasma-pepsc-workshop/) ### Programming tools - [Introduction to cMake](https://enccs.github.io/intro-cmake/) - [CMake](https://enccs.github.io/cmake-workshop/) - [RISE software bootcamp](https://github.com/ENCCS/software-bootcamp) - [CR lesson materials](https://coderefinery.org/lessons/) ### AI/ML/DL - [Intro to Deep Learning](https://enccs.github.io/deep-learning-intro/) - there will be a lesson development sprint on Sept. 1 - [Upscaling A.I. with Containers](https://enccs.github.io/upscalingAI/) - split into 2 parts: - [Upscaling AI](https://enccs.github.io/upscalingAItraining/) - [Introduction to Containers](https://enccs.github.io/Containers/) - [A.I. as a Tool for Change](https://www.youtube.com/watch?v=_FMnopQNF3M) - [Graph Neural Networks and Transformers](https://enccs.github.io/gnn-transformers/) - Hyperparameter Optimization & Distributed Training - [Hyperparameter Optimization using Optuna](https://enccs.github.io/hp_optimization/) - [Distributed PyTorch Training](https://enccs.github.io/partorch/) - [Contemporary NLP Workshop](https://enccs.github.io/contemporary-nlp/) - [Swedish Language Corpuses for Text-to-Speech Training with NeMo](https://github.com/ENCCS/swedish-tts/) ### Quantum computing - [Introduction to Quantum Computing and hybrid HPC-QC systems](https://enccs.github.io/NordIQuEst-workshop/) - [Quantum Autumn School (2023)](https://enccs.github.io/qas2023/) - [Quantum Autumn School (2024)](https://enccs.github.io/qas2024/) **External training materials** - [CodeRefinery](https://coderefinery.org/) - [NVIDIA bootcamp resources](https://github.com/ENCCS/gpubootcamp) - [Aalto Scientific Computing](https://github.com/AaltoSciComp) - [Awesome high performance computing](https://github.com/ENCCS/awesome-high-performance-computing) ### New lessons ==**Bootcamp for data engineer/scientist**???== - concept from the agenda for [Scania training](https://secc.zulipchat.com/#narrow/channel/255382-Training/topic/Scania.20training) - we had RISE software bootcamp before by virtually merging different modules, now how about to explicitly combine all modules to a module - this module can be used either for workshops or multiple webinars (Maybe) Have a sort of general onboarding lesson. Similar to the carpentry lesson, maybe adding a couple of sections about using Windows, etc. - Realised that we end up saying very similar things to every company we onboard, so maybe we could have a structured script to follow. - Can also be a sort of "internal playbook" for us to use. ### Future training events - Suggestion: we should try the [co-teaching](https://coderefinery.github.io/train-the-trainer/co-teaching/#team-teaching-models) format, since we are many now. For example: teacher 1 shares screen and does exercises, teacher 2 focuses on the lectures. +1 - To our new members: is there anything from https://enccs.se/lessons/ that you would like to teach / co-teach? - To all: write 3 lessons that you think you can teach / co-teach and vote via https://www.menti.com/alkq43m7c9ck ## <span style="background-color: deeppink">EVITA project related</span> Internally restructure our time and schedules so that our commitment do not exceed the allotted PMs - also such that the time are not all lost in meetings ## <span style="background-color: yellow">Other topics</span> - shared calendar(s) at `nextcloud.enccs.se` - Virtual training cluster - some brainstorming and setting up an action plan - renew training allocations on LUMI & LB (other JU clusters?) - We currently have allocations on MN5 and MeluXina