Programming in CUDA
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
MI-PRC | Z,ZK | 4 | 2+1 | Czech |
- Lecturer:
- Ivan Šimeček (gar.)
- Tutor:
- Ivan Šimeček (gar.)
- 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://edux.fit.cvut.cz/courses/MI-PRC/
- Time-table for winter semester 2011/2012:
- Time-table is not available yet
- Time-table for summer semester 2011/2012:
-
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 Tue Fri Thu Fri - The course is a part of the following study plans: