CUDA GPU Programming Workshop

From Gridkaschool


While the computing community is racing to build tools and libraries to ease the use of these heterogeneous parallel computing systems, effective and confident use of these systems will always require knowledge about the low-level programming interfaces in these systems. This lecture is designed to introduce through examples and hands-on exercises, based on the CUDA programming language, the three abstractions that make the foundations of GPU programming:

  • Thread hierarchy
  • Synchronization
  • Memory hierarchy/Shared Memory

How to connect to the machines

First you need to connect to the GridKa School node:

ssh -p24 -XC then you need to connect to the machine that was assigned to you. This can be achieved by exporting the following environmental variable

export KITID="your@email.address"

and connect to the machine:

ssh -o SendEnv=KITID -p22 -XC


sudo service ssh stop; sudo ssh -f -p24 -L -N