Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2019/2020

Programming in CUDA

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
MI-PRC Z,ZK 4 2P+1C Czech
Lecturer:
Ivan Šimeček (guarantor)
Tutor:
Ivan Šimeček (guarantor)
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://moodle.fit.cvut.cz/courses/MI-PRC/
Time-table for winter semester 2019/2020:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon
roomT9:301
Šimeček I.
11:00–12:30
(lecture parallel1)
Dejvice
NBFIT učebna
roomT9:351
Šimeček I.
12:45–14:15
EVEN WEEK

(lecture parallel1
parallel nr.101)

Dejvice
NBFIT PC ucebna
Tue
Fri
Thu
Fri
Time-table for summer semester 2019/2020:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2019-09-17
For updated information see http://bilakniha.cvut.cz/en/predmet2006806.html