An introduction to programming GPUs for general computing tasks.
Read more Read less
GPUs are a key element of the current computing landscape; they are capable of exceptional performance for a substantial range of applications, hence they are found in most contemporary supercomputers. Harnessing their power requires using appropriate techniques, which are the main topic of this course.
At a glance
- Please enquire for course dates
- Duration3 days
- Cost£1,000 Concessions available
Course structureMixture of lectures and practical, hands-on sessions.
What you will learnDelegates will get the necessary knowledge to 1. judge when and where to apply GPU computing 2. use existing development tools and frameworks to best advantage 3. adapting existing algorithms 4. understand performance issues.
- Introduction to General Purpose GPU
- The GPU architecture
- CUDA threading model (threads, blocks, warps)
- CUDA synchronisation (intra-block and host-device)
- CUDA memory model (registers, global, and shared memory) and memory management API
- Performance considerations (memory coalescing, shared memory bank conflicts, warp divergence)
- Running the Hello World example (kernel dispatch, CPU-GPU data transfers)
- Examples from linear algebra, outlining: 2D thread blocks, reduction operations, shared memory, synchronisation, coalescing
- GPU Performance issues (Compute Capability, device occupancy, peak performance, performance measurement)
- Development Tools (Nsight, Visual profiler, Occupancy calculator, cuda-memcheck)
- GPU Libraries (Thrust, CUBLAS, CUSPARSE, CUFFT)
- Advanced Optimisation techniques
A typical timetable for this course is available to give you an idea of how this course is structured. Please note that this is not the actual timetable for the upcoming course and is subject to change.
Who should attend
20% discount for Cranfield Alumni.
10% discount when registering 3 or more delegates, from the same organisation at the same time.
Accommodation options and prices
Location and travelThis course is being delivered online.
Location addressThis course is being delivered online.
I really enjoyed this course - both the lively format of the lectures, presented by Dr Salvatore Filippone, and the labs, which became more and more challenging but also encouraged a good level of technical learning. Thanks for an interesting and fun course.
Dr Barry Henderson,
Read our Professional development (CPD) booking conditions.