This is an old revision of the document!


Introduction to GPU Computing

This workshop introduces the concept of GPU computing - the ability to write general-purpose, non-graphical applications that can be processed by a modern GPU. Since 2001 GPUs have become programmable processors, initially capable of only handling graphical applications like video games or professional visualization tools. Currently, however, they are much more capable: based on a highly parallel, many-core architecture, GPUs are being used in a large number of high-performance computing domains, such as computational physics, computer vision, computational finance, medical imaging and many others.

When and Where?

July 25th - July 26th 2015.

Date Time Room
July 25th, 2015 09:00-19:00 EG304
July 26th, 2015 13:00-19:00 EG304

Workshop Agenda

DAY 1 (July 25th, 2015)

  • GPGPUs and GPU computing
  • GPU computing APIs
  • GPU hardware architecture
  • The accelerator programming model
  • CUDA C
  • The NVCC compiler
  • Threading model
  • GPU-specific memory types
  • Compute capabilities
  • GPU computing demos
  • The CUDA SDK
  • Hands-on: Implemeting “Hello World!” using CUDA

DAY 2 (July 26th, 2015)

  • Hands-on: Vector addition using CUDA
  • Using NSIGHT for CUDA debugging and profiling
  • Hands-on: 1D convolution (naive implementation)
  • Hands-on: 1D convolution (optimized implementation)
  • Discussing the performance difference between the 2 1D convolution implementations
  • Conclusions

Technical Prerequisites

  • basic to intermediate C / C++ programming knowledge
  • basic knowledge of parallel programming concepts (threads, barriers etc.)
  • basic notions of a computing system's architecture (CPU, RAM, GPU etc.)

This workshop is addressed to people who are curious to learn how a modern GPU can be programmed to run numerically-intensive non-graphical applications. Knowledge of a typical computing system's architecture is necessary to better understand how the GPU fits in as a high-performance computing accelerator. C / C ++ programming knowledge and parallel programming concepts will be needed during the hands-on sessions.

Registration

Please fill in the following form in order to register: Registration form. Enrollment will be based on a first-come, first-serve principle.

Trainer

Andrei Trandafir

E-mail: andrei.tra@gmail.com

sesiuni/gpu_computing.1435228274.txt.gz · Last modified: 2015/06/25 13:31 by atrandafir