This is an introductory course covering programming and computing on GPUs - graphics processing units - which are an increasingly common presence in massively parallel computing architectures. The basics of GPU programming will be covered, and students will work through a number of hands on examples. The structuring of data and computations that makes full use of the GPU will be discussed in detail. Students should be able to leave the course with the knowledge necessary to begin developing their own GPU applications.

This workshop will be delivered online in six sessions over three days:

  • June 26 from 9:00 A.M. to 12:00 P.M. Eastern Daylight Time
  • June 26 from 1:30 P.M. to 4:30 P.M. Eastern Daylight Time
  • June 27 from 9:00 A.M. to 12:00 P.M. Eastern Daylight Time
  • June 27 from 1:30 P.M. to 4:30 P.M. Eastern Daylight Time
  • June 28 from 9:00 A.M. to 12:00 P.M. Eastern Daylight Time
  • June 28 from 1:30 P.M. to 4:30 P.M. Eastern Daylight Time

C++ offers a unique blend of performance, abstraction, and stability that make it useful for large commercial and HPC projects, especially in performance-critical domains. The power and complexity of the language does present challenges, but with good practices, C++ remains an industry leader.  Standards like Data Parallel C++ (DPC++) based on oneAPI aims to bring the productivity benefits of heterogeneous computing using a unified, standardized programming model that is future-proof, portable, and offers simplified programming along with high performance across CPUs, GPUs and accelerators.

In this workshop, we will explore Object-Oriented Programming which is a model for designing your C++ program around data and procedures which is important in machine learning and AI applications.  We will also look at Exception Handling and it's application.  The workshop will include a combination of presentations and live demos which participants can follow along.

This workshop will be delivered online in two sessions:

  • June 29 from 9:00 A.M. to 12:00 P.M. Eastern Daylight Time
  • June 29 from 1:30 P.M. to 4:#0 P.M. Eastern Daylight Time