FDD3015 Introduction to Programming with GPGPU and Applications in Scientific Computing 7.5 credits
Content and learning outcomes
Course contents
Part 1: Introduction, Basic programming
- introduction to CUDA and the device architecture of GPGPU
- the programming of GPGPU devices
- performance optimization and application examples.
Part 2: Scientific Programming
- libraries for the development of parallel numeric algorithms
- parallelization of numerical algorithms.
Assignments:
Part 1: One smaller and one larger programming project combined with questions to explain the used technology
Part 2: One programming project combined with questions to explain the used approach.
Intended learning outcomes
The overall goal of the course is to give basic knowledge of the theory, hardware, and software approaches to parallel computing with GPGPU. Especially, hardware and software challenges plus the interactions between them, as well as exposure to research challenges in this field will be emphasized.
The course consists of two parts. Part 1 (4,5 hp) provides the introduction to the field, a detailed look at the device architecture, the basic programming considerations plus the presentation of possibilities to do performance optimizations. Part 2 (3,0 hp) introduces the software tools for the development of numerical appllications and examples of algorithms from the field of scientific coomputing.
After the course you will be able to:
- understand the properties of GPGPU devices
- reason about the performance of programs running on it
- assess the potential and limitations of using a GPGPU
- write parallel programs for GPGPU.
Literature and preparations
Specific prerequisites
Programming experience in C.
Recommended prerequisites
Equipment
Literature
Examination and completion
If the course is discontinued, students may request to be examined during the following two academic years.
Grading scale
Examination
Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.
The examiner may apply another examination format when re-examining individual students.
Opportunity to complete the requirements via supplementary examination
Opportunity to raise an approved grade via renewed examination
Examiner
Ethical approach
- All members of a group are responsible for the group's work.
- In any assessment, every student shall honestly disclose any help received and sources used.
- In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.