PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

Elenco notifiche



GPU programming

01URVOV

A.A. 2024/25

Course Language

Inglese

Degree programme(s)

Master of science-level of the Bologna process in Ingegneria Informatica (Computer Engineering) - Torino

Course structure
Teaching Hours
Lezioni 30
Esercitazioni in aula 10
Esercitazioni in laboratorio 20
Lecturers
Teacher Status SSD h.Les h.Ex h.Lab h.Tut Years teaching
Cantoro Riccardo   Professore Associato IINF-05/A 30 0 0 0 1
Co-lectures
Espandi

Context
SSD CFU Activities Area context
ING-INF/05 6 B - Caratterizzanti Ingegneria informatica
2023/24
The course aims to allow to students to work on GPUs, that in the last fifteen years (as of 2021) are continuously increasing their usefulness and popularity. For this reason the course will cover arguments as parallel computing and its rules, GPU and CPU architectures (comparison), CUDA programming, debugging, profiling and applications of GPU programming. During the laboratory, if possible, the work will be done on specific development cards by means of Python programming language, able to work also on artificial intelligence algorithms and graphics projects, e.g. Tensorflow. All the described competences are very well considered in the job market.
At the end of the course students will be able to master: - parallel computing and its rules - GPU and CPU architectures (comparison) - CUDA programming, debugging, executing and profiling on GPUs - applications of GPU programming - realistic applications on embedded GPU cards
C programming, Python programming (suggested, but not required), Computer architectures, Operating systems.
Introduction to parallel computing. Classification of Parallel Computers. Amdahl's law, SISD, SIMD, MISD e MIMD. GPU architecture. Comparison of CPU with GPU architectures (1 cfu). GPGPU concurrency and processin organization: multiprocessors and streaming processors. GPGPU profiling. GPU memories: local and shared, cache memories. GPGPU architecture: grids, blocks, threads and warps (1 cfu). GPGPU threading optimization, GPGPU convolution and memory management, GPGPU task parallelism. CUDA programming, debugging, tiling, ray tracing and libraries (2 cfu). Applications: Matrix Multiplication, Convolution and Image filtering (2 cfu).
The laboratory sessions will build on the material covered in the class, and aim to solidify your understanding of concepts through hands-on experimentation. During the laboratory, the work will be done on specific GPU development cards programmable with Cuda and controlled by means of Python. Project will be assigned individually or to small groups. The results will be evaluated and will contribute to the final mark.
Course transparencies and other material at http://didattica.polito.it
Lecture slides; Exercises; Exercise with solutions ; Lab exercises; Lab exercises with solutions; Video lectures (current year); Video lectures (previous years);
Exam: Compulsory oral exam; Individual project;
The exam is composed of two parts. The first one consists on a mandatory assignment from one to three students, focused on creating an application using the knowledge got during the course. The second part consists on the oral presentation of the assignment to verify the knowledge acquired during the course. The process of the exam would be the following: the students intended to obtain the evaluation must book the exam. By the exam date, the students must submit the project files and relative documentations. In the following days, the professors will communicate the oral examination dates. The correctness and accuracy of the assignment, the complention of the presentation and the correctness of the answers to the oral exam will produce the final mark, up to 30L.
In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.
Esporta Word