An introduction to programming GPUs for general computing tasks. 

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

Course structure

Mixture of lectures and practical, hands-on sessions.

What you will learn

Delegates 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.

Core content

  • 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

Anyone who needs to develop new applications or port existing ones on GPU -enabled computing resources 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

This course is non-residential. If you would like to book accommodation on campus, please contact Mitchell Hall or Cranfield Management Development Centre directly. Further information about our on campus accommodation can be found here. Alternatively you may wish to make your own arrangements at a nearby hotel.

Location and travel

Cranfield University is situated in Bedfordshire close to the border with Buckinghamshire. The University is located almost midway between the towns of Bedford and Milton Keynes and is conveniently situated between junctions 13 and 14 of the M1.

London Luton, Stansted and Heathrow airports are 30, 90 and 90 minutes respectively by car, offering superb connections to and from just about anywhere in the world.

For further location and travel details.

Location address

Cranfield University

College Road



MK43 0AL

How to apply

To apply for this course please use the online application form.

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.