Parallel Programming with Graphic Processing Units (GPUs)

Tue, Jun 25, 2024 2:00pm - Thu, Jun 27, 2024 4:00pm

Status: Completed

Introduction to GPU programming with CUDA

Parallel computing is the business of breaking a large problem into tens, hundreds, or even thousands of smaller problems which can then be solved at the same time using a cluster of computers, or supercomputer. It can reduce processing time to a fraction of what it would be on a desktop or workstation, or enable you to tackle larger, more complex problems. It’s widely used in big data mining, AI, time-critical simulations, and advanced graphics such as augmented or virtual reality. It’s used in fields as diverse as genetics, biotech, GIS, computational fluid dynamics, medical imaging, drug discovery, and agriculture.

Graphics Processing Units (GPUs) are capable of speeding up many computational workloads by offloading computationally expensive tasks that can be solved in parallel to these processors. This introduction to CUDA programming discusses the architectural differences between CPUs and GPUs and their influence on performance. We will transform serial CPU algorithms that are written in C/C++ into CUDA kernels that can efficiently use the parallel architecture of the GPUs and explore how they can be optimized. Familiarity with compiled languages such as C/C++ is required.

 

Prerequisites: Before you take this training you should...


This session will take place on:

  • Tuesday, June 25th, 2:00 - 4:00 pm
  • Thursday, June 27th, 2:00 - 4:00 pm

 

All times above are in Atlantic time (UTC-3:00).

Participants must have a computer with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.). As with any on-line course, a headset and a second monitor will be of benefit.

Participants must register using their institutional / organizational email address (not a personal email, ie. gmail)

Instructions on how to connect will be provided prior to the event.