![A-Sprint-Planning-Meeting-Agenda-Template](https://hackmd.io/_uploads/r1nhbi3EA.png) <p style="text-align: center"><b><font size=5 color=blueyellow>GPU Programming Workshop (Planning Meeting)</font></b></p> **Contents of this documents and quicklinks**: [TOC] ## Links to previous events - Agenda for workshop in 2023 (2-day event): https://hackmd.io/@yonglei/gpu-programming-2023-schedule - Agenda for workshop in 2024 (2.5-day event): https://hackmd.io/@yonglei/gpu-programming-schedule-2024 - lesson material: https://enccs.github.io/gpu-programming/ ## The 1st planning meeting (Oct. 2nd) :::info **Arrangement for this event** - 2.5(3)-day event: - 4*0.5-day event: - ==3 separate 45min webinars spread across different days + 3*0.5-day event== - 2\*1.5 webinars + 3*0.5-day event: - a 3-h webinar + 3*0.5-day event: - ~~one day + 3*0.5 day event~~ - webinar covers theoretical part (the first 5 episodes at [HERE](https://enccs.github.io/gpu-programming/5-intro-to-gpu-prog-models/)) - three half-day workshop - directive (40+40) + non-portable (45+30) - portable (60+30) + high-level (40+20) - multi-gpu-mpi (30+30) + porting (30+20) + computation (30+30) **Date** It would be (Tue-Thu or Wed-Fri, 09:00-12:00 (CET)/10:00-13:00(EET) for half-day event) | Week | Date | Poll | | :--: | :---------: | :--: | | 47 | Nov. 18-21 | ++++++++ | | 48 | Nov. 25-28 | +++++++++ | | 49 | Dec. 2-5 | ++++ | | 50 | Dec. 9-12 | ++ | Note - ==week 47 for 3 half-day webinars, week 48 for three-half day workshop== - ST unavailable for Nov 27th (definitely) and 28th (possibly) ::: ### Instructors and helpers **Send YW the logo of your institution to create an [event image](https://enccs.se/events/gpu-programming-why-when-how-2024/)** - Yonglei, LiU/ENCCS - Wei Li, LiU/ENCCS - Stepas, VU/NCC LT - Hicham, UiB/NRIS - Ashwin, RISE/ENCCS - Francesco, RISE/ENCCS - Bjørn Lindi, NTNU/NRIS - Tapish, [HZDR](https://www.hzdr.de/db/Pic?pOid=57530)/[CASUS](https://www.hzdr.de/db/Pic?pOid=58211), [alpaka](https://github.com/alpaka-group/alpaka/blob/develop/docs/logo/alpaka.png) - Johan Hellsvik, PDC/KTH/NAISS - Cristian-Vasile Achim, CSC - Yann Pfau-Kempf, CSC - CSC logo: https://csc.fi/en/image-bank/ https://csc.fi/app/uploads/2024/01/CSC_2012_LOGO_RGB_72dpi.jpg ### HPC resources & target number of participants - In the last two years we used LUMI for hand-on exercises. - We expected to be 60 registrations. ### Agenda for webinars and workshop 2025 | Time | Contents | Instructor(s) | | :----: | :----------: | :-------------: | | 10 min | Welcome | Yonglei/ Ashwin | | 1st webinar | Why GPUs? GPU architecture and software ecosystem | | | 2nd webinar | GPU programming concepts, what problems fit | Francesco, Stepas (help), (Yonglei) | | 3rd webinar | Introduction to GPU programming models | Daniel, Ashwin | | Time | Contents | Instructor(s) | Helper(s) | | :----: | :----------: | :-----------: | :-----------: | | | Session 2 (Nov. 25) | | | | 40+40 min | Directive-based models (OpenACC, OpenMP) | Wei, Yann | CVA (help OpenMP) <br>Qiang (help) <br>Stepas (help OpenMP) | | 45+30 min | Non-portable kernel-based models (CUDA, HIP) | ??? | Johan (help), CVA (help) | | | Session 3 (Nov. 26) | | 80+30 min | Portable kernel-based models (Kokkos, OpenCL, SYCL, C++ stdpar, alpaka, etc.) | Simeon/Tapish (alpaka), Bjørn (Kokkos), | CVA (help SYCL) | | 30+10 min | High-level language support | Simeon (julia), Ashwin (Python) | Stepas (help Python) | | | Session 4 (Nov. 27) | | | 30+45 min | Multi-GPU programming with MPI | Hicham, ??? | ??? | | 30+20 min | Preparing code for GPU porting | ??? | ??? | | 30+30 min | Recommendations + Stencil examples | Stepas, ??? | Yonglei | | 10 min | Wrap-up | Yonglei | ## The 2nd planning meeting (Oct. 2nd) ### Agenda for webinars (==Nov. 18-20==) :::success Update lesson material [**Introduction to GPU Programming**](https://enccs.github.io/intro-gpu-programming/) - Event page at HPC portal: https://events.hpc-portal.eu/event/224 - Registration: https://events.hpc-portal.eu/event/224/registrations/ - Event page at ENCCS website: ==???== ::: | Time | Contents | Instructor(s) | | :---------: | :----------: | :-----------: | | | <span style="background-color: cyan">Nov. 18</span> | | | 10:00-10:15 | Welcome | Yonglei/Ashwin | | 10:15-10:30 | Why GPUs? | Yann, Hicham | | 10:30-11:00 | GPU hardware and software ecosystem | Yann, Hicham | | 11:00-11:20 | Q/A | | | 11:20-12:00 | On-boarding session (login to LUMI) | Yonglei | | | | | | | <span style="background-color: cyan">Nov. 19</span> | | | 10:00-10:10 | Welcome and Recap | Yonglei/Francesco | | 10:10-10:40 | GPU programming concepts | Francesco, Stepas (help), (Yonglei) | | 10:40-11:00 | What problems fit GPU programming? | Francesco, Stepas (help), (Yonglei) | | 11:00-11:20 | Q/A | | 11:20-12:00 | On-boarding session (login to LUMI) | Yonglei | | | | | | | <span style="background-color: cyan">Nov. 20</span> | | | 10:00-10:10 | Welcome and Recap | Yonglei/Ashwin | | 10:10-11:00 | Introduction to GPU programming models | Daniel, Ashwin | | 11:00-11:20 | Q/A | | | 11:20-12:00 | On-boarding session (login to LUMI) | Yonglei | ### Agenda for workshop (==Nov. 25-27==) :::success Update lesson material [**GPU Programming: When, Why and How?**](https://enccs.github.io/gpu-programming/) - Event page at HPC portal: https://events.hpc-portal.eu/event/97/ - Registration: https://events.hpc-portal.eu/event/97/registrations/ - Event page at ENCCS website: ==???== ::: | Time | Contents | Instructor(s) | Helper(s) | | :---------: | :----------: | :-----------: | :-------: | | | <span style="background-color: cyan">Nov. 25</span> | | | | 09:00-09:10 | Welcome | Yonglei/Ashwin | | | 09:10-10:30 | Directive-based models (OpenACC, OpenMP) | Wei, Yann | CVA (help OpenMP) <br>Qiang (help) <br>Stepas (help OpenMP) | | 10:30-10:40 | Break | | 10:40-12:00 | Non-portable kernel-based models (CUDA, HIP) | ==YW seeks experts== | Johan (help), CVA (help) | | 12:00-12:30 | Q/A session | | | | | | | | | | <span style="background-color: cyan">Nov. 26</span> | | | | 09:00-09:10 | Welcome and Recap | Yonglei/??? | | | 09:10-11:00 | Portable kernel-based models <br>(Kokkos, OpenCL, SYCL, C++ stdpar, alpaka, *etc.*) | Simeon/Tapish (alpaka ~20 min) <br>Bjørn (Kokkos ~20 min) <br>~~???(C++ Stdpar)~~ <br>??? (OpenCL) <br>??? (SYCL) | CVA (SYCL) | | 11:00-11:10 | Break | | 11:10-12:00 | High-level language support | Simeon (julia), Ashwin (Python) | Stepas (help Python) | | 12:00-12:30 | Q/A session | | | | | | | | <span style="background-color: cyan">Nov. 27</span> | | | | 09:00-09:10 | Welcome | Yonglei/Ashwin | | | 09:10-10:30 | Multi-GPU programming with MPI | Hicham, ??? | ??? | | 10:30-10:40 | Break | | 10:40-11:30 | Example problem: Stencil computation | Stepas | ??? | | 11:30-11:40 | Break | | 11:40-12:20 | GPU porting <br>Recommendations | ==???== | Yonglei | | 12:20-12:30 | Q/A & Summary | Yonglei/Ashwin | | ### HPC resources & target number of participants - LUMI - target 60 registrations for workshop - no number limitations for webinars --- --- ## The 3rd planning meeting (Nov. 20) ### Feedback for webinars - Nov. 18, ~60 people (excluding oraganizers) in the zoom room - Nov. 19, ~50 people (excluding oraganizers) - Nov. 20, ~40 people (excluding oraganizers) ### HPC resources & target number of participants - Got ~80 registrations and have added accepted people to the LUMI training allocation - YW have solved sevearl technical issues to help participants get accessing LUMI ### Agenda for workshop (==Nov. 25-27==) | Time | Contents | Instructor(s) | Helper(s) | | :---------: | :----------: | :-----------: | :-------: | | | <span style="background-color: cyan">Nov. 25</span> | | | | 09:00-09:10 | Welcome | Yonglei/Ashwin | | | 09:10-10:30 | [Directive-based models (OpenACC, OpenMP)](https://enccs.github.io/gpu-programming/6-directive-based-models/) | Wei, Yann | CVA (help OpenMP) <br>Qiang (help) <br>~~Stepas (help OpenMP)~~ | | 10:30-10:40 | Break | | 10:40-12:00 | [Non-portable kernel-based models (CUDA, HIP)](https://enccs.github.io/gpu-programming/7-non-portable-kernel-models/#fundamentals-of-gpu-programming-with-cuda-and-hip) | Mariia | Johan (help), CVA (help) | | 12:00-12:30 | Q/A session | | | | | | | | | | <span style="background-color: cyan">Nov. 26</span> | | | | 09:00-09:10 | Welcome and Recap | Yonglei/Ashwin | | | 09:10-10:30 | [Portable kernel-based models <br>(Kokkos, alpaka, *etc.*)](https://enccs.github.io/gpu-programming/8-portable-kernel-models/) | Simeon/Tapish (alpaka 20+20) <br>Bjørn (Kokkos 20+20) | CVA (SYCL) | | 10:30-10:40 | Break | | 10:40-12:00 | [High-level language support](https://enccs.github.io/gpu-programming/9-language-support/) | Simeon (julia, 20+20), Ashwin (Python, 20+20) | ~~Stepas (help Python)~~ Yonglei | | 12:00-12:30 | Q/A session | | | | | | | | <span style="background-color: cyan">Nov. 27</span> | | | | 09:00-09:10 | Welcome | Yonglei/Ashwin | | | 09:10-10:20 | [Multi-GPU programming with MPI](https://enccs.github.io/gpu-programming/10-multiple_gpu/) | Hicham | Yonglei/ENCCS people | | 10:20-10:30 | Break | | 10:30-11:20 | [Example problem: Stencil computation](https://enccs.github.io/gpu-programming/13-examples/) | Stepas | Yonglei | | 11:20-11:30 | Break | | 11:30-12:20 | [GPU porting <br>Recommendations](https://enccs.github.io/gpu-programming/11-gpu-porting/) | Yonglei | CVA | | 12:20-12:30 | Q/A & Summary | Yonglei/Ashwin | CVA | ### MISC :::danger :::