ADVANCED ARCHITECTURES Canale unico

Docente coordinatore e verbalizzante: ANNALISA MASSINI

Risultati di apprendimento attesi

Conoscere e capire le diverse architetture di calcolo e il loro impatto sul calcolo scientifico.

Essere in grado di confrontare correttamente i risultati ottenuti con diverse architetture.

Capire le differenze e i vantaggi nell’uso di diverse architetture.

Prerequisiti

Nessun prerequisito

Programma dell’insegnamento

Introduzione alle architetture parallele e a high-performance computing. Panoramica su organizzazione e architettura dei calcolatori. (5 hours)
Canalizzazione delle istruzioni. Cache coherence. (5 hours)
Moduli aritmetici. Circuiti aritmetici veloci. Rappresentazione dei numeri per aritmetica veloce. Valutazione di circuiti. (10 hours)
Classificazione di Flynn. La classe SIMD. Architetture vettoriali e GPU. (10 hours)
Matrici sparse. (3 hours)
La classe MIMD e le reti di interconnessione. (12 hours)
Analisi della performance. (3 hours)
Nozioni di quantum computing e circuiti aritmetici quantistici. (12 hours)

Testi di riferimento

- Computer Architecture: A Quantitative Approach J. L. Hennessy, D. A. Patterson - Morgan Kaufmann, 2019
- Multicore and GPU Programming An Integrated Approach - G. Barlas - Morgan Kaufmann, 2014
- Programming Massively Parallel Processors: A Hands-on Approach, David B. Kirk and Wen-mei W. Hwu, Morgan Kaufmann, 2010
- Altro materiale è indicato nelle slide del corso http://twiki.di.uniroma1.it/twiki/view/CI/

Bibliografia

- Introduction to High-Performance Scientific Computing, Lloyd D. Fosdick, Elizabeth R. Jessup, Carolyn J. C. Schauble and Gitta Domik, The MIT Press, 1996, ISBN 0-262-06181-3
- Introduction to scientific computing: A Matrix-Vector Approach Using MATLAB, Charles F. Van Loan, Prentice Hall , 1997
- MATLAB: http://www.mathworks.com/help/techdoc/learn_matlab/bqr_2pl.html
Introduction to scientific computing: A Matrix-Vector Approach Using MATLAB, Charles F. Van Loan, Prentice Hall, 1997

Modalità di svolgimento

Il corso è svolto con lezioni frontali

Frequenza

Attendance is optional, but strongly recommended.

Modalità di esame

The exam consists of a written test and an oral exam.

Written test: Students attending the lessons can take a mid-term exam and a final exam (or a whole exam). The mid-term and final exam (or whole exam) consist in a written test with exercises and open questions.

Oral exam: One of the following, at the choice of the student: oral exam/presentation of one-two papers/project.

The final grade will be the average of the grades of the written test and the oral part.

There will also be homework assignments, that could substitute some part of the written test. Homeworks will contribute to the final grade (max 2 points out of 30).

Esempi di domande

Esercizi e testi d'esame sono reperibili alla pagina: https://twiki.di.uniroma1.it/twiki/view/CI/

Programmazione delle attività didattiche

  • Fondamenti di aritmetica e circuiti: Ripple-carry adders,
    moltiplicatori, carry select/look-ahead adder, pipelining, sistemi numerici
    ridondanti e Residue Number Systems.

  • Prestazioni e architetture parallele: Leggi di Amdahl e
    Gustafson-Barsis, Calssificazione di Flynn e altr classificazioni di
    architetture parallele. SIMD, architetture vettoriali,  GPU, MIMD. 

  • Interconnessione e reti di calcolatori: Reti di
    interconnessione, topologie, Clos networks, fat trees, topologies per Data
    Center

  • Quantum Computing: Qubit, porte a uno e più qubit, circuiti
    quantistici.

Obiettivi per lo sviluppo sostenibile - Agenda ONU 2030

  • Goal8
  • Goal9
  • Anno accademico/1
  • Codice insegnamento10612318
  • Anno e semestre2º anno - 2º semestre
  • TipologiaAttività formative affini ed integrative
  • AmbitoAttività formative affini o integrative
  • SSDINF/01
  • Presenza obbligatoriaNo
  • Linguaita
  • CFU6 CFU
  • Durata complessiva60 ore
  • Distribuzione delle ore36 classroom hours, 24 training hours