General-purpose computing on graphics processing units (GPGPU)


High-performance computing using Graphics Processing Units (GPUs) has become increasingly popular due to their remarkable computational power, improved programmability and relatively cheap prices. Performing general purpose computing on graphics processor units (GPGPU) usually leads to performance gains of several orders of magnitude compared with traditional CPU implementations. This course aims to provide the students with the knowledge and the practical means on how to get the most out of this data-parallel computing environment, as well its limitations and pitfalls.
Practical examples span from solving linear problems to the simulation of molecular dynamics.


Miguel A. Otaduy

Miguel A. Otaduy is an associate professor in the Department of Computer Science at Universidad Rey Juan Carlos (URJC Madrid). His main research areas are physically based computer animation and haptic rendering. He obtained his BS (2000) on electrical engineering from Mondragon University, and MS (2003) and PhD (2004) on computer science from the University of North Carolina at Chapel Hill. From 2005 to 2008 he was a research associate at ETH Zurich, and then he joined URJC Madrid. He has published over 50 papers in computer graphics and haptics, and has recently co-chaired the program committees for the ACM SIGGRAPH / Eurographics Symposium on Computer Animation (2010) and the Spanish Computer Graphics Conference (2010). He also leads the ERC Starting Grant Animetrics, on measurement-based modeling of complex mechanical phenomena.

Marco Fratarcangeli

Marco Fratarcangeli is an assistant professor at the Department of Computer and Systems Science "A. Ruberti" at Sapienza University of Rome, Italy, where he also received his MSc (Laurea) in 2003 in Computer Engineering. He obtained his PhD in 2009 in the field of physically-based animation of virtual faces. Between 2004 and 2006, he was a research assistant at the Image Coding Group at the Linköping University, Sweden. From 2008 to 2011, he worked as technical lead at Taitus Software, focusing on the development of cross-platform visualization tools for planning and analysis of Earth Observation missions.
His research interests focus on physically-based simulation of deformable bodies, face and body animation for virtual characters, collision handling and geometric algorithms.

Course Schedule

The course can be taken for credits as a course of class B (with an additional project) or as seminars of class C.

Where: Room A4, Via Ariosto 25.

To access the slides and all the related material, send an email to


Students interested in class B credits shall develop a personal project using CUDA or GPGPU relevant technology, like OpenCL, DirectCompute or GLSL shaders.
The topic of the project shall be approved by the instructors and shall regard the implementation of an algorithm or data structure of interest for your research, and that is interesting for the others.

The projects will be presented in a seminar of 30-45 minutes in front of the other students.
The talk will address the topic theory, how the parallelization has been implemented and shall provide some benchmark.