Epicure hackathon ================= Welcome to the first edition of the <font color="#F7A004">**Epicure**</font> hackathons! The event will be hosted at *Edificio INFN-CINECA , Tecnopolo Via Stalingrado 84/3 40128, Bologna* :runner: How to get there? Link [here](https://www.google.com/maps/place/Via+Stalingrado,+84%2F3,+40128+Bologna+BO/@44.5198681,11.3570589,16z/data=!3m1!4b1!4m6!3m5!1s0x477fd3447f2ee44d:0xb2d3271340bf3bb4!8m2!3d44.5198643!4d11.3596338!16s%2Fg%2F11r_k5rv4v?entry=ttu&g_ep=EgoyMDI0MTAyMy4wIKXMDSoASAFQAw%3D%3D) :call_me_hand: Microsoft Teams link [here](https://teams.microsoft.com/l/meetup-join/19:meeting_YTIxNjU3MTQtOGI0ZS00ZTlkLTgxYTEtNjY5N2M5NGIxNTU0@thread.v2/0?context=%7B%22Tid%22:%22c5492249-84a0-43af-bd29-a7892e94b5b7%22,%22Oid%22:%229728361a-784d-4a1d-b642-485ed59a3b7a%22%7D) Agenda ------ |Day 1 || |------|-| | 9.00 - 9.15 | Welcome and Registration  | 9.15 - 9.30 | The EPICURE project | 9.30 - 10.30 | **Introduction to GPU computing**  | 10.30 - 11.00 | Coffee break  | 11.00 - 12.30 | **Introduction to CUDA**  | 12.30 - 14.00 |  LUNCH |   | 14.00 - 14.30 |  **Leonardo's visit** |   | 14.30 - 15.30 | **Fundamentals of OpenACC**  | | 15.30 - 16.00 | Coffee break  | | 16.00 - 18.00 | **Heterogenous profiling with NSight Systems** |   |Day 2  || |-------|-| |9.00 – 10.30|  **Advanced optimisation for Heterogenous Systems**  | |10.30 – 11.00 | Coffee break  | |11.00 - 12.30 | **Advanced profiling on Heterogenous systems**  | |12.30 – 14.00 | LUNCH  | |14.00 - 14.45 | **How to use Leonardo** | |15.00 - 17.30 | Lab session | |Day 3 || |-------|-| |9.00 - 12.00 | Lab session | | 12.00 - 12.30 | **How to solve challenge 1** | | 12.30 - 14.00  | LUNCH| | 14.00 -17.00  | Lab session | | 17.00 - 17.30 | **How to solve challenge 2** | | Day 4  || |--------|-| |9.00 - 12.00 | Lab session | | 12.00 - 12.30 | **How to solve challenge 3** | | 12.30 - 14.00 | LUNCH |  | 14.00 - 16.30 | Lab session | | 16.30 - 17.00 | Closing remarks | Speakers -------- - Nitin Shukla (CINECA) - Laura Bellentani (CINECA) - Sergio Orlandini (CINECA) - Ilya Zhukov (Jülich Supercomputing Centre) - Moreno Guernelli (CINECA) - Tommaso Gorni (CINECA) Lectures -------- ### OpenACC Slides [here](https://gitlab.hpc.cineca.it/training/epicure-gpu-hackathon/-/blob/main/day1/openacc/OpenACC&Nsys.pdf?ref_type=heads) - compute constructs: parallel vs kernels - data directives : structured and unstructured, update - reductions - loop optimizations: collapsing, gang-worker-vector - privatizations - device routines - CUDA-OpenACC interoperability ### NSight Systems This lecture will review how to offload an application assisted by NSight Systems for heterogenous profiling. A summary of the main commands can be found [here](https://hackmd.io/2yzmOcPfTsasGVfzRRnGJw). This summary presents the following topics: - the command line interface `nsys`; - the graphical user interface; - NVIDIA Tools Extension Library (NVTX); - filtering `nsys` traces; - posprocessing with `nsys`; - multi-gpu instrumentation. ### Advanced profiling All materials can be found [here](https://fz-juelich.sciebo.de/s/FXEQMqBi7CNfXR2). Suggested GUI installations ----------------------- - Nsight system GUI : download [here](https://developer.nvidia.com/nsight-systems/get-started) - CUBE GUI : download [here](https://www.scalasca.org/software/cube-4.x/) - Vampir demo version : download [here](https://vampir.eu/downloads/demo) Lab --- The Lab session will be hosted on CINECA's cluster **Leonardo Booster**. The User guide can be found at [this link](https://wiki.u-gov.it/confluence/display/SCAIUS/UG3.2%3A+LEONARDO+UserGuide). - [Bring your code](https://hackmd.io/yOdwfGaSRPGbjuhB-9ZREg) - [Random challenge](https://hackmd.io/_RWCTSqcQP2Ss-zty3VdgQ)