The aim of the course is to provide an understanding of GPU hardware and a competence in CUDA GPU programming. Prior knowledge of CUDA or Parallel programming is not required.
Introduction to Parallel Computing and GPGPU NVIDIA GPU Architectures The CUDA Programming Model and runtime API The CUDA Memory Model
CUDA Streams, concurrency and asynchronous execution Optimisation techniques Shared memory vs global memory access Memory coalescing
Please bring your own laptop, with an SSH client installed (Windows users can use http://www.putty.org)
Check your installation
On Windows, make sure you can start putty.
On Mac OS X and Linux, if you type ssh into the terminal, you expect output like this:
$> ssh usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file] [-L [bind_address:]port:host:hostport] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-R [bind_address:]port:host:hostport] [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]] [user@]hostname [command]
If you get the following response, you haven't got an ssh client installed (or it is not in the search path, or has an unusual name):
$> ssh -bash: ssh: command not found
Previous knowledge of C/C++ is required in order to get the most out of the course. Familiarity with concepts such as pointers, arrays and functions is essential.
Trainer: Anthony Morse
The training is provided on behalf of NVIDIA.