Introduction to GPU Programming for Life Sciences
Date: 11 - 12 February 2025
Duration: PT7H
This course will take place over two half-day sessions, held exclusively in the mornings.
Overview
We currently live in an era where most computers possess multiple computing units, and where parallelization is key.
In particular, GPGPUs (General Purpose Graphical Processing Units) are built for massive parallelism and they have recently risen to prominence as they are now used for many scientific tasks, such as physics or biological simulations, statistical inference or machine learning.
In this crash course we will focus on CUDA as well as several CUDA-based API, including openMP GPU offloading and python APIs. Through concrete examples we will describe the principles at the core of a successful parallelization attempt.
Audience
This course is intended for programmers and computational biologists who want to take their first steps with GPU programming.
We will assume no previous knowledge of GPU programming, CUDA, or parallelization techniques, but we require that the participant be proficient in at least one language among python or C++.
Learning outcomes
By the end of the course, the participant will be able to:
* identify good candidates tasks for GPU acceleration
* understand the structure of a GPU, including memory handling
* perform some computations on a GPU, using either python or C++
* manage memory transfers to the GPU for better performances
* evaluate their GPU code using profiling
Prerequisites
Knowledge / competencies
Participants should be comfortable working in a Linux/UNIX environment and have some basic experience in programming.
Some knowledge of C/C++, Fortran or Python is necessary.
Technical
You are required to work on your own laptop with an Internet connection.
The computer you use for the practicals should be the same as the one you use to connect to the course zoom room (in order for us to help you debug your code during practicals).
Schedule - CET time zone
Tentative program
Day 1 9:00 -13:00
- Introduction: what is a GPU?
- What problems can it solve? And how to use it?
- First real life examples and practical
Day 2 9:00 -13:00
- Real life examples, and random number generation on a GPU
- Common pitfalls in GPU programming
- Memory management on a GPU
- GPU monitoring
- Practical
Application
The registration fees for academics are 100 CHF and 500 CHF for for-profit companies.
While participants are registered on a first come, first serve basis, exceptions may be made to ensure diversity and equity.
Applications will close as soon as the places will be filled up. Deadline for free-of-charge cancellation is set to 06/02/2025. Cancellation after this date will not be reimbursed. Please note that participation in SIB courses is subject to our general conditions.
You will be informed by email of your registration confirmation. Upon reception of the confirmation email, participants will be asked to confirm attendance by paying the fees within 5 days.
Venue and Time
This course will be streamed using Zoom.
It will start at 9:00 and end around 13:00 CET each day.
Precise information will be provided to the participants before the course.
Additional information
Coordination: Valeria Di Cola, SIB Training Group.
You are welcome to register to the SIB courses mailing list to be informed of all future courses and workshops, as well as all important deadlines using the form here.
Please note that participation in SIB courses is subject to our general conditions.
SIB abides by the ELIXIR Code of Conduct. Participants of SIB courses are also required to abide by the same code.
For more information, please contact training@sib.swiss.
Keywords: API, high-performance computing , programming, training, torsten schwede & thierry sengstag group
City: Streamed
Country: Switzerland
Organizer: SIB Swiss Institute of Bioinformatics (https://ror.org/002n09z45)
Event types:
- Workshops and courses
Activity log