layout | title | permalink |
---|---|---|
page |
Introduction to CUDA |
/education/cuda-glasgow/ |
This course is part of the Three day Introduction to CUDA and Deep Learning with GPUs training course provided by NVIDIA and Dell and taught by Dr Paul Richmond and Twin Karmakharm (Research software Engineering at the University of Sheffield). The CUDA aspect of this course will take place over the first 2 days.
The aim of the CUDA course is to provide a basic understanding of principles of CUDA GPU programming and GPU programming. Prior knowledge of CUDA or Parallel programming is not required. 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 required. The course consists of approximately 2-3 hours of lectures and 3-4 hours of practical training each day.
- Architectures.pdf
- Introduction to CUDA.pdf
- Lab: Getting Started with Qwiklabs
- Lab: Lab01 - CUDA Basics Lab
- Optimisation.pdf
- Lab: Lab 02 - CUDA Optimisation Lab
- Advanced Memory.pdf
- Lab03: Caching and Memory
- Libraries and Primitives.pdf
- Lab04: Primitives and Thrust
Optional:
The course aims to introduce core concepts of deep learning and how it can be applied to your research in a practical way. The course will specifically look at the use of Caffe deep learning package. Through practical examples you will learn to:
- Implement convolution models for image classification.
- Implement recurrent models for serial inputs and outputs such as text prediction.
- Visually debugging your model by visualising their weights.
- Deploying and inferencing a trained model.
The course will be delivered by Twin Karmakharm with assistance from Dr. Paul Richmond from the Research software Engineering at the University of Sheffield group.
Pre-requisites
Familiarity with Linux, the use of command line, Python and basic understanding of neural network. If you're not familiar with neural networks please see Stephen Welch's Neural Networks Demystified to get a better understanding. Working through his code exercises may also be useful but is not essential for the course: