Talks

Tutorial:
CPU/GPU programming with CUDA

Felipe Cruz

PhD candidate, Department of Mathematics, University of Bristol, UK



Abstract

  1. In hybrid CPU/GPU systems, the GPU works as a coprocessor for the CPU. The CPU offloads computing-intensive units of work to the GPU.  Due to the massively parallel GPU architecture, the way in which units of work are processed by the GPU is greatly different from the processing of a general-purpose CPU.  Therefore, an efficient implementation for the highly-specialized hardware of the GPU often requires not only to re-code the serial application but to rethink the algorithm, and consequently, not all algorithms can be accelerated by the GPU.  However, where it is possible to accelerate the computations using the GPU, the speed-ups can vary from one to two orders of magnitude in comparison with the most powerful CPU available today.

  2. The focus of this tutorial will be on hybrid CPU-GPU computing systems, where the GPU is used as a co-processor to accelerate some of the computations. In this tutorial, we will discuss the challenge of implementing algorithms for GPU-enabled computing systems from the point of view of an heterogeneous computing system.

  3. We will provide an introduction to the CUDA architecture and programming model, and we will present real-case applications implemented for a hybrid CPU/GPU system. We will end with a hands-on session, where the attendees will apply the theory and gain real-application experience (depending on resources available).


About the speaker

  1. Felipe Cruz obtained his BSc and his MSc in Informatics from Universidad Técnica Federico Santa María in Valparaíso, Chile.

  2. In 2006, he obtained a grant from the SCAT project (Scientific Computing Advanced Training) for a research internship in the group of Dr Lorena Barba, at University of Bristol.  A year later, he started his PhD with industrial funding from BAE Systems and Airbus to develop numerical algorithms for flow simulation based on particle and continuum approaches.