Dates: 23th  and 24th october,  9:30 to 16:00 hrs.
Place: CMM / Multimedia room
Vacants: 20

 
After a very successful decade being used as hardware accelerators, the GPUs constitute today an attractive low cost alternative for high performance computing. In this context CUDA is an architecture of parallel calculation by NVIDIA that makes the most out of the GPU’s potential in order to provide an extraordinary increase of the systems performance.
The present workshop, given by Manuel Ujaldón, pretends to familiarize a basic C language programmer with general purpose applications in GPUs with CUDA, encompassing the theoretical aspects as well as the hands-on ones. During the first day the different platforms and hardware generations that have been utilized for that in high performance computing will be described, to later introduce CUDA’s kernels, blocks and threads.
the second day we will start with simple exercises such as the sum of vectors or the product of matrices, to finalize with a hands-on workshop where the participants will program their own kernels in CUDA using resources in the cloud provided by Nvidia.
The programmers that had worked with CUDA previously can start coming from the second day, were we will focus on the programming methodology to then carry out a hands-on workshop. During this workshop different exercises with different levels of difficulty will be proposed so that each participant can choose the one that best accommodates to their abilities.
This workshop will be dictated by Dr. Manuel Ujaldón, professor at the Department of Computational Architecture at Universidad de Málaga.
Requirements: C programming knowledge,laptop with Web browser and SSH client.
 

Program

23th october

9.30 – 11.00 GPU Architecture: Many-core developments by hardware generations
11.00 – 11.30 Coffee break
11.30 – 13.00 CUDA Programming: Threads, blocks, kernels, nets
13.00 – 14.30 Lunch
14.30 – 16.00 CUDA Programming: Compiling, depuration and optimization

 
24th october

9.30 – 11.00 Examples on kernels programming: VectorAdd, ReverseArray, Stencils, Matrix Multiply
11.00 – 11.30 Coffee break
11.30 – 13.00 Cloud programming workshop (1): (to be performed individually): vector sum
13.00 – 14.30 Lunch
14.30 – 16.00 Cloud programing workshop (2): Matrices product and  reduction algorithms

 

Register*

Register is now closed
*Preference on the inscription to this workshop will be given to to Postgraduate students and Researchers. 

About Manuel Ujaldón

Manuel has worked in semi automatic parallelization and compilers of data parallelism for irregular applications during the development of his doctoral thesis, that concluded in 1996. During this period, formed part of the committees of specification of HPF and MPI, working as a postdoc at the Department of Computing Sciences at Maryland University in College Park (EEUU). In 2003, joined the GPGPU initiative using Cg, writing the first book in spanish on GPU programming for general purpose computing, focused on how to implement irregular applications and linear algebra algorithms in GPUs. Manuel substituted Cg for CUDA after its irruption, focusing from then on on applications of image processing and related to bioinformatics and data mining.
In the last 5 years has been co-author of more than 40 publications in journals and international congresses related to this thematics. Additionally, he has imparted more than 30 workshops on CUDA programming in universities all over the world, including european, american and australian centers of prestige. His work has been recognized by Nvidia with the Nvidia Academic Partnership award between 2008 and 2011, the Nvidia Teaching Center award between 2011 and 2013 in the Universidad de Málaga (Spain) and Newcastle University (Australia), the Nvidia Research Center award in 2012 as main researcher in the Universidad de Málaga, and finally the CUDA Fellow award in 2012.
More information available in his personal website: : http://cms.ac.uma.es/ujaldon/index.php/en