Short course/CPD

General Purpose GPU Programming

 

Course date: Please enquire

Course overview

The aim of this course is to introduce the programming techniques required to develop general purpose software applications for GPU hardware.  Using NVIDIA's CUDA framework, the course will focus on the solution to common problems encountered whilst developing numerical applications on the GPU.  This will include an introduction to the programming techniques required to take advantage of the architecture, as well as more advanced optimisation methodologies needed to get the most out of the platform.

 
Location

Cranfield University is located at the very heart of the UK – within the innovation triangle between London and the cities of Oxford and Cambridge.

Our central location provides easy access from the M1, excellent main line rail service as well as proximity to key international airports. Set in rolling countryside, Cranfield offers a rich, rural landscape complemented by thriving towns and picturesque villages.

  • Road: We are just 10 minutes from Junctions 13 & 14 of the M1 motorway. There is free parking on campus. 
  • Rail: Milton Keynes or Bedford 
  • Air: London Luton (22 miles), Heathrow (50 miles) or Birmingham (70 miles).

View our location maps.

Course fee:

£827

Accommodation fee:

£257

Accommodation is on a full-board basis from the evening before the course commences until the afternoon of the last day.  The course fee includes a course dinner for all participants and refreshments and lunch during the day.  The accommodation fee includes all other meals.   Details of arrangements will be in the delegate information pack.

Speakers

Course Director

Stuart Barnes

Applied Mathematics and Computing Group

T: +44 (0) 1234 750111 ext. 5162

F: +44 (0) 1234 754797

E: s.e.barnes@cranfield.ac.uk

How to register

 

Further information

For more information on this course or booking details please contact:
Academic Operations Unit
T: + 44 (0) 1234 754192
E: shortcourse@cranfield.ac.uk

Course Booking Conditions

Course description

Objectives

At the end of the course, delegates will be able to:

  • identify the key programming methods and use the tools needed to develop software for the GPU platform
  • understand how the GPU hardware architecture differs from more traditional CPU architectures, and how this impacts on the approach to developing software for the platform
  • analyse the impact of the hardware architecture on the execution of the CUDA application, and implement solutions that will optimize performance.

Course arrangements

The course will be delivered as a mix of classroom and practical lab based sessions.  The focus of the course will be to implement applications on actual GPU based hardware.

Who should attend?

This course will be of interest to software developers who wish to implement high performance applications using the GPU platform, particularly in the area of numerical computing, such as finance and engineering.  

Delegates will be expected to be familiar with software development using the C programming language.  An understanding of multi-threaded programming would be useful but is not necessary, as the basics will be covered on the course.

Topics

CUDA Programming Model

  • Stream computing and SIMD platforms
  • Threads and thread hierarchy
  • Memory hierarchy
  • Synchronisation
  • Host and device interactions

GPU Device Architecture

  • Streaming multiprocessors and scalar processors
  • On-chip memory: registers and local shared memory
  • Execution model: warps, scheduling and divergence
  • Device memory and latency

Performance Optimisation

  • Instruction performance
  • Memory access patterns
  • Global memory coalescence
  • Local memory bank conflicts
  • Optimisation strategies

 

Quick navigation:

 
Print this page Bookmark page Send to a friend