|Thursday||2:30 PM - 5:30 PM||laboratorio||Laboratory Gamma|
|Friday||10:30 AM - 1:30 PM||lesson||Lecture Hall I|
The course aims at providing students with skills for programming and analysis of advanced computer architectures with emphasis on multicore and GPU architectures. For each subject, theoretical lessons are given followed by practices in laboratory. At the completion of the course the students will be able to program advanced parallel architectures targeting performance in the context of complex applications or large datasets. They will also be able to analyze and to optimize performance, work efficiency, and quality of results of the parallel computation.
Intro High-performance computing (HPC)
Parallel programming models
HPC and Symmetric Multi-Processors (SMP): OpenMP
HPC and Message Passing Interface (MPI): OpenMPI
Graphic Processing Units (GPUs): overview, parallel programming model, threads, memory model.
GPU performance considerations
GPU data transfers and streams.
Parallel graph algorithms for GPUs: BFS and SSSP
OpenCL and OpenACC
Modeling for qualitative simulation in Systems Biology targeting HPC
R parallel pack
Qualitative modelling lab.
|John L. Hennessy, David A. Patterson||Computer Architecture - A Quantitative Approach (Edizione 5)||Morgan Kaufmann||2011||012383872X|
|David B. Kirk, Wen-mei W. Hwu||Programming Massively Parallel Processors - A Hands-on Approach (Edizione 3)||Morgan Kaufmann||2017||978-0-12-811986-0|
The exam consists of a project agreed upon with the teacher after request by email and appointment for the elaboration of the specifications (the project is valid throughout the academic year). The projects have different levels of difficulty. Every difficulty corresponds to a maximum evaluation value. Students will hold an interview to comment the project
Attendees at the course will be able to expose to the class their project, the research context in which the project is located, and the state of progress of the course.
Voting for the project (project_mark) is expressed in thirty.
The final vote is calculated as min(31, (project_mark + Bias)).
Bias is expressed in the interval [-4, + 4] and reflects the maturation and scientific autonomy acquired during the development of the project, in the exposure and in the interpretation of the scientific literature and the scientific context of the project.