GPU Programming
Study plans 2016-2017
-
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 examiner used periodically every fourth year, next time in 2019.
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.