Advanced computer architecture (2019/2020)

Course code
Nicola Bombieri
Other available courses
Other available courses
    Academic sector
    Language of instruction
    Teaching is organised as follows:
    Activity Credits Period Academic staff Timetable
    Teoria 4 II semestre Nicola Bombieri

    Go to lesson schedule

    Laboratorio 2 II semestre Nicola Bombieri

    Go to lesson schedule

    Learning outcomes

    This course aims at providing theoretical and practical knowledge about programming and analysis of advanced computational architectures, with emphasis on multiprocessor and GPU platforms. At the end of the course the student will have to demonstrate the ability to apply the knowledge necessary to: identify techniques for parallel programming, also in a research context, through analysis of application efficiency and by considering both functional and non-functional design constraints (correctness, performance, energy consumption); analyze performance and perform code profiling, by identifying critical zone and the corresponding optimizations by considering the architectural characteristics of the platform; demonstrate ability to compare parallel patterns and to select the best one by considering the use case; by defining the structure of the optimized code, demonstrate the ability to identify the proper architectural choices, by considering the target application and platform contexts. Finally, the student will have to demonstrate the ability to be able to continue the study autonomously in the field of the parallel programming languages and of the Software development for parallel embedded platforms.

    Reference books
    Activity Author Title Publisher Year ISBN Note
    Teoria John Hennessy, David Patterson Computer Architecture - A Quantitative Approach (Edizione 6) Morgan Kaufmann 2018 9780128119051
    Teoria 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