The CUDA computing platform enables the acceleration of CPU-only applications to run on the world’s fastest massively parallel GPUs. THis course will teach C/C++ application acceleration using techniques such as:
- Accelerating CPU-only applications to run their latent parallelism on GPUs
- Utilizing essential CUDA memory management techniques to optimize accelerated applications
- Exposing accelerated application potential for concurrency and exploiting it with CUDA streams
- Leveraging command line and visual profiling to guide and check your work
Upon completion, you’ll be able to accelerate and optimize existing C/C++ CPU-only applications using the most essential CUDA tools and techniques. You’ll understand an iterative style of CUDA development that will allow you to ship accelerated applications fast.
Basic C/C++ competency including familiarity with variable types, loops, conditional statements, functions, and array manipulations. No previous knowledge of CUDA programming is assumed.
Suggested courses to Satisfy Prerequisites
The learn-c.org interactive tutorial - https://www.learn-c.org/
Tools, Libraries, and Frameworks Used
A self-paced course to learn more intermediate CUDA C++ concurrency techniques after completing this course.
A self-paced course to learn more intermediate CUDA C++ multi-GPU techniques after completing this course.
Registering Your Interest
There are a limited number of places available for this course. Your application will be treated as an expression of interest and you are not guaranteed a place at the workshop.
As part of the application process, you will be asked to provide a brief explanation of how attending this workshop will benefit your work. You may find it useful to write this piece before attempting to register for the event.
After the application deadline has passed, submissions will be considered, and successful applicants will be offered a place by 16 March.
This event is only open to those working or studying at one of the N8 Research Partnership universities. Please register using your academic (.ac.uk) e-mail address to help verify your eligibility for this course.
About the Instructor
Richard Regan is the DiRAC Systems Manager at Durham University. As system manager, is involved in the procurement, installation, and configuration of the COSMA HPC systems at Durham. He is the training manager for DiRAC and is responsible for all training events including the essentials training, and the hackathon program. DiRAC is a national service that gives free HPC access to the astronomy, cosmology, high energy physics, and particle physics research community.
Richard believes that the path to efficient research is through education, and maximising the efficiency of your code through good design.
Richard was trained as a digital engineer, and then worked as a software engineer for over 15 years with companies such as British Steel, Rolls Royce and Ingenico Futronic. He then spent 8 years teaching software engineering and discovering the joys of e-learning before joining the Institute of Computational Cosmology at Durham University. At the ICC he is part of the HPC support team, and for the last 3 years has been steering the training for the DiRAC community as its Training manager.
Richard enjoys staying at home, short walks in his local area, meeting with friends outside his household in groups of one while maintaining a social distance and viewing holiday brochures in a hope that one day life will return.