Advanced computer architecture (2016/2017)

Course code
Name of lecturer
Nicola Bombieri
Nicola Bombieri
Number of ECTS credits allocated
Other available courses
Academic sector
Language of instruction
II sem. dal Mar 1, 2017 al Jun 9, 2017.

Lesson timetable

II sem.
Day Time Type Place Note
Thursday 2:30 PM - 5:30 PM laboratorio Laboratory Gamma  
Friday 10:30 AM - 1:30 PM lesson Lecture Hall I  

Learning outcomes

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.


Theory (32h):
Intro High-performance computing (HPC)
Parallel architectures
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.
Performance measurement
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

Lab (24h):
R parallel pack
Qualitative modelling lab.

Reference books
Author Title Publisher Year ISBN Note
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

Assessment methods and criteria

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.