Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2024/2025

Programming in CUDA

The course is not on the list Without time-table
Code Completion Credits Range Language
MI-PRC Z,ZK 4 2P+1C Czech
Course guarantor:
Lecturer:
Tutor:
Supervisor:
Department of Computer Systems
Synopsis:

The students gain a good overview of present parallel architectures in GPUs. Students also get hands-on experience with programming these systems.

Requirements:

Programming in C/C++, parallel algorithms, computer architectures.

Syllabus of lectures:

1. Introduction, system of classification

2. Multithreaded programming

3. Introduction to GPGPU

4. Introduction of CUDA API

5. CUDA datatypes

6. Synchronization of threads and blocks

7. Textures and streams

8. CUDA optimization - SIMT architecture, coalesced memory access pattern

9. CUDA optimization - transformations of source codes

10. CUDA API libraries

11. CUDA and other programming languages

12. Overview of other API for GPGPU

13. Final prezentation, conclusions

Syllabus of tutorials:

1. Introduction, assigning projects to students

2. Serial project presentation

3. CUDA code compilation, linking CUDA libraries

4. Debugging and profiling tools

5. Project consultation

6. CUDA project presentation, assessment

Study Objective:

Nowadays, the importance of parallel computing rapidly grows due to the fact that Moore's law moved to parallelization of processors, GPGPU systems are becoming a commodity, and even any PC end-user meets these systems. These trends bring challenges for SW developers, since common applications should be optimally parallelized. The aim is to teach students tools and methods for programming GPGPU systems.

Study materials:

J. Sanders, E. Kandrot ''CUDA by Example: An Introduction to General-Purpose GPU Programming''

David B. Kirk, Wen-mei W. Hwu: Programming Massively Parallel Processors: A Hands-on Approach. 1st ed., Morgan Kaufmann, 2010.

Note:
Further information:
https://courses.fit.cvut.cz/MI-PRC/
No time-table has been prepared for this course
The course is a part of the following study plans:
Data valid to 2024-12-13
For updated information see http://bilakniha.cvut.cz/en/predmet2006806.html