GPU Programming
2015-2016 - IMT3612 - 5 ECTS

Prerequisite(s)

 IMT2531 Graphics Programming

Expected learning outcomes

 After completing the subject the students should improved

Knowledge

  • Understanding the archetecture of a GPU
  • Understand the role of visual effects in games and their connection to player experience
  • Understand how to use a GPU as a general proceesing device

Skills, the student will be able to:

  • Program the graphics processor (GPU), i.e. write shaders
  • Use software for testing and development of shaders
  • Develop a GPU shader to implement a relevant feature in a computer game.
  • Impement a non graphics specific algorithm on a GPU

General competence 

  • Improved ability to analyse a problem and find a parallel solution
  • Improved general programming ability
  • Improved process around testing and assessing code.

Topic(s)

 Topics will include but are not limited to:

  •  GLSL - API and language
  •  Lights, materials and textures
  •  Raycasting
  •  Use of multiple shaders

Teaching Methods

Lectures
E-learning
Mandatory assignments

Teaching Methods (additional text)

Online Lectures
Local tutorials
Local Assignments

Form(s) of Assessment

Home exam, 24 hours

Form(s) of Assessment (additional text)

24 hour take home exam with a 15 minute oral discussion

Grading Scale

Alphabetical Scale, A(best) – F (fail)

External/internal examiner

Two internal examiners, or internal and external examiners. External examiners next time in 2015.

Re-sit examination

Resit exam within 2 months of orignal exam based on the same format.

Coursework Requirements

2 assignments

Teaching Materials

GPU computing at http://www.gpucomputing.net/

Open textbook: Programming on Parallel Machines; GPU, Multicore, Clusters and More, Norm Matloff, http://heather.cs.ucdavis.edu/parprocbook

Udacity course: https://www.udacity.com/course/cs344

Notes : GLSL-tutorial from Lighthouse3D.com

Replacement course for

IMT3611

Additional information

The IMT3611 course was 10 points, this content has been separated into IMT3801 Multithreaded Programming and this 5 point verison.