After successful completion of the course, students are able to master GPU-based architectures and related technologies and to develop efficient parallel algorithms based on many-cores. Through the final assignment, they will also acquire important team working skills.
The course will start with an introduction on the modern GPU architectures, by tracing the evolution from the SIMD (Single Instruction, Multiple Data) architecture to the current architectural features and by discussing the trends for the future. We then will explore CUDA Programming Model. Real case studies will expose students to the potential applications of this technology. A final project will give them the possibility to make a concrete experience of the concepts taught, to solve a modest GPU programming problem that will be assigned by the teacher or proposed by the student, to present it at the end to the class.This is the list of the main topics of the course:
The enrollment can be performed using TISS. The enrollment will be close on February 20th, 2021. The max number of students for this course is 30. Please register soon !!! Lectures will be held online via ZOOM.
In the first month of the course we will present the basic knowledge that is required to do the assignment. In the second part of the course, we will present advance topics that will be useful to further improve their project. We will ask the students to setup a git hub repository where we will monitor the progress and the actual work of the single students in the group. The students will ask to make two presentations. One presentation where the students must to elaborate, before starting the project, a contingency plan where they can still safely achieve some goals and the risk istaken into consideration. The students must write a document explaining the solution adopted for their assignment. At end of the course, the students are asked to make a public final presentation where they their results.
ECTS-Breakdown: 6 ECTS = 150 Hours
Some Resources:
Students will be divided in groups of three people and a project will be assigned to each group. The project consists in solving a very high computationally intensive task, developing efficient GPU-based algorithms. At the end of the semester the students will defend their solution in a public presentation.