Seminar: "GPU-computing using Python" - Prof. Thomas Schrøder (Roskilde University)

Event typology: 
home
Seminars
Event taking place on
Event starting on: 
10/25/2023 - 10:30
Event until: 
10/25/2023 - 11:30
Event publish date
Published on: 
10/19/2023
Campus: 
Trieste

"GPU-computing using Python"
Prof. Thomas Schrøder
Glass and Time, University of Roskilde (Danemark)

GPU computing is popular due to the large compute power in GPUs (Graphical Processing Units) as compared to CPUs. In our research group we have developed RUMD, which utilizes GPUs to do molecular dynamics. RUMD is built in the traditional way for GPU computing: a layer of CUDA, which has a layer of C++ on top, from which Swig is used to build the Python interface presented to the end user. This has in many ways been successful: RUMD is fast - in particular it is optimized to utilize the GPU hardware down to a few thousand particles - and we can even use it to introduce high-school students to our research. We are now making a pure Python version of RUMD, called rumdpy (early version here). By 'pure' is here meant that we as developers only program in Python, and we let the numba package do the heavy lifting of generating fast code by doing JIT (Just-In-Time) compilation both to CPU and GPU. This approach leads to much faster development, and results in an extremely extensible package: simply by injecting Python functions in the right places, the experienced user can extend most aspects of the code, including, e.g. new integrators, new pair-potentials, new properties to be calculated during simulation, as well as new particle properties.

In this talk, I will discuss pros and cons of the two approaches for GPU computing, with an emphasis on showing examples of how to do it by the Python-numba approach.

 
Venue: 

Room 204, Miramare Campus (ICTP)

Contacts: 
Daniele Coslovich (UniTS)
Last update: 10-19-2023 - 16:44
Share/Save