Course Topics

General purpose computing on graphics processing units (GPGPU) has been popular for a long time, as inexpensive graphics cards (normally used for advanced computer games) can also be used to speedup demanding calculations. The main reason for this is that the parallel architecture of GPUs consists of several hundred or thousand processor cores, and these can be programmed for arbitrary operations. Through the introduction of the CUDA programming language in 2007, GPGPU became significantly easier and is today used in a wide range of applications (e.g. image processing, machine learning, physics simulation, computational neuroscience, bioinformatics).

This short course will go through the basics of the GPU architecture, GPU programming and provide some examples of how computationally demanding statistical algorithms (such as permutation tests and Markov Chain Monte Carlo (MCMC) simulation) can be accelerated . Specifically, parallel analysis of functional magnetic resonance imaging (fMRI) data will be demonstrated. fMRI data is used to study brain activity and consists of a large number of time series that can be processed in parallel. A GPU implementation can be several hundred times faster than standard software packages for fMRI. A freely available fMRI dataset, consisting of data from 13 subjects, will be used ( Attendees are expected to be familiar with basic programming concepts (e.g. for-loops, allocation of memory, pointers) as well as different statistical algorithms  (linear regression, t-tests, permutation tests, MCMC) to fully appreciate this short course.

LISA Short Course: Accelerating statistical calculations using inexpensive graphics cards from LISA on Vimeo.

The code used in this course can be found here.