Virtual workshop: GPU Programming. Why. When. How
This workshop is based on a multilateral collaboration between GPU programming specialists from the Nordic countries. It is meant to help both software developers and decision-makers navigate the GPU programming landscape and make more informed decisions on which languages or frameworks to learn and use for their projects.
Date: 12-14 November 2024
Description
This workshop will cover basic aspects of GPU programming concepts and models including:
- GPU hardware and software ecosystem
- GPU programming concepts & models
- Directive-based models (OpenACC, OpenMP)
- Portable kernel-based models (Kokkos, OpenCL, SYCL, etc.)
- Non-portable kernel-based models I (CUDA, HIP)
- High-level language support (Python, Julia)
- Multi-GPU programming with MPI
- Preparing code for GPU porting
- Hand-on examples
Prerequisites
This workshop is most relevant to researchers and engineers who already develop software that runs on CPUs in workstations or supercomputers. We recommend familiarity with one or more programming languages like C/C++, Fortran, Python or Julia.
However, the first morning session on November 12 (9:00-12:00) is appropriate also to decision-makers or project managers who don’t write code but make strategic decisions in software projects, whether it’s in academia, industry, or the public sector. If you wish to attend only the first morning session, please indicate so in the registration form.
In the final afternoon session, we urge participants to bring their own code, discuss it with experts, and get concrete advice.
Learning outcomes
- Understand why and when to use GPUs.
- Become comfortable with key concepts in GPU programming.
- Acquire a comprehensive overview of different software frameworks, what levels they operate at, and which to use when.
- Learn the fundamentals in at least one framework to a level which will enable you to quickly become a productive GPU programmer.