GPU Programming by NVIDIA

Dates: April 27 - 28, 2016

Agenda: April 27th | Day 1

Introduction to GPU programming: 9AM - 4:30PM

  • High Level Overview of GPU architecture
  • OpenACC: An introduction on compiler directives to specify loops and regions of code in standard C, C++ and Fortran to be offloaded from a host CPU to an attached accelerator
  • Hands-On examples: Focusing on data locality
  • GPU-Accelerated Libraries: discussion including AmgX, cuSolver, cuBLAS and cuDNN
  • Basics of GPU Programming: An introduction to the CUDA C/C++ Language
  • 4 Hands-On examples: Illustrating simple kernel launches and using threads

Agenda: April 28th | Day 2

Performance and Optimization with an Intro to Deep Learning: 9AM - 4:30PM

  • Overview of Global and Shared memory usage
  • Hands-On examples: Illustrating a 1D Stencil and Matrix Transpose
  • Using NVIDIA Profiler to identify performance bottlenecks
  • Advanced Optimization: Using Streams and Concurrency to overlap communication and computation
  • Hands-On examples: Using CUBLAS with Matrix Multiply

Additional Links