Teaching GPU computing, experiences from our Master-level course
Ludovic Räss, Samuel Omlin, Mauro Werder
In the Fall Semester 2021 at ETH Zurich, we designed and taught a new course: Solving PDEs in parallel on GPUs with Julia. We present technical and teaching experiences we gained: we look at our tech-stack CUDA.jl, ParallelStencils.jl and ImplictGlobalGrid.jl for GPU-computing; and Franklin.jl, Literate.jl, IJulia.jl/Jupyter for web, slides, and exercises. We look into the crash-course in Julia, teaching software-engineering (git, CI) and project-based student evaluations.