PARALLEL PROGRAMMING ON GPU ARCHITECTURES

INF/01 - 6 CFU - 1° Semester

Teaching Staff

GIUSEPPE BILOTTA


Learning Objectives

Knowledge and understanding: acquire the fundamentals of massively parallel computing on modern hardware (GPU, multicore CPU, accelerators) based on the stream computing paradigm.

Applying knowledge and understanding: acquire the competence to apply the knowledge to the development of parallel computing software using the main frameworks (CUDA and OpenCL).

Making judgements: acquire che capacity to identify fundamental coding paradigms (embarrasingly parallel problems, reductions, scans) and the corresponding opportunities to paralelize them.

Communication skills: acquire che capacity to describe with proper language both the theoretical and practical aspects of parallel computing on modern architectures.

Learning skills: develop the ability to understand specialized texts on the topic.


Course Structure

The course is composed of both active and practical lectures, with real-time development of sample code for each topic discussed, to provide the students with the necessary familiarity with both the theoretical and practical aspects of the material. Lectures may be held using mixed or remote techniques if required by circumstances.



Detailed Course Content



Textbook Information

NVIDIA CUDA Programming Guide
OpenCL specification




Open in PDF format Versione in italiano