Random challenge ================= This hackMD document collects information and guided unwinding of the hands-on proposed here: https://gitlab.hpc.cineca.it/training/epicure-gpu-hackathon CUDA exercises ------------- The exercises are collected at [this](https://gitlab.hpc.cineca.it/training/epicure-gpu-hackathon/-/tree/main/day1/openacc/exercises?ref_type=heads) link 1. Vector Addition 2. Electrostatic Particle-In-Cell code 3. Martix Multiplication 4. Matrix Transpose OpenACC Exercises ----------------- The exercises are collected at [this](https://gitlab.hpc.cineca.it/training/epicure-gpu-hackathon/-/tree/main/day1/openacc/exercises?ref_type=heads) link 1. [Daxpy offload](https://hackmd.io/GsD-A0kNR9qgiCPD9i86pQ) 2. [Explicit data management](https://hackmd.io/8OM9zb44Qlu9CJ3_FTtQ5g) 3. [Optimise matmul](https://hackmd.io/ME7OsNuPSWO6ZnmB0t2bww) 5. [Interoperability](https://hackmd.io/fcnPfpQ2Tsu8JcricKGkXA) Challenges --------- The following list includes challenges on the different topics presented during the lectures. The highlighted ones will be solved during day 3 and day 4 @ Epicure hackathon. - [**CFD single-gpu**](https://hackmd.io/7Fjt6yAdR72ky__FHirNlQ) : OpenACC, CUDA/Fortran, single-gpu offload - [**Asynchronous mandelbrot**](https://hackmd.io/ZIeCWyypQTy1n4XAQrCA6g) : OpenACC, C/Fortran, advanced - [Single-node multi-GPU mandelbrot](https://hackmd.io/iJ67tor-T3WT3UZPFWLsMA): OpenACC, Fortran, advanced - [multi-GPU Jacoby with MPI](): CUDA, C, advanced - [CDF multi-GPU with MPI](https://hackmd.io/WL0NVNM4THOn20ADO7TyqA): OpenACC, C/Fortran, advanced Preferred software stack on Leonardo ------------------------------------ The suggested software stack is based on ``` module load nvhpc/24.3 module load cuda/12.3 module load openmpi/4.1.6--nvhpc--24.3 ``` You can also try hpcx as MPI implementation (suggested for Allreduce operations) ``` module load /leonardo/prod/spack/5.2/install/0.21/linux-rhel8-icelake/gcc-8.5.0/nvhpc-24.3-v63z4inohb4ywjeggzhlhiuvuoejr2le/modulefiles/nvhpc-hpcx-cuda11/24.3 ``` :exclamation: To look for an installation, you can use the following command ``modmap -m <installation-name>`` Notebook ----- Notes for *Random challenge* teams - [Team ](https://hackmd.io/8AU7QtejT72T4qpAnTSwfg) - [Team ]() - [Team ]() - [Team ]() - [Team ]() - [Team ]() Speedup chart :trophy: ------------- Who is the [winner](https://hackmd.io/FnRKlhWtRzWD2pKR_elBwA)?