ADVANCED ARCHITECTURES Canale unico
Docente coordinatore e verbalizzante: ANNALISA MASSINI
Docenti
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
- 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