ARCHITETTURE DEGLI ELABORATORI PER L'INTELLIGENZA ARTIFICIALE

Obiettivi formativi

Obiettivi generali: L’obiettivo dell'insegnamento di Architetture per AI è di dare una panoramica delle soluzioni hardware disponibili per esecuzione dei principali algoritmi per AI. Il corso parte dalla descrizione di un architettura di calcolo general purpose, evidenziandone le caratteristiche principali e i limiti prestazionali. In seguito vengono presentate diverse soluzioni hardware per AI utili a superare i limiti delle architetture general purpose. Verranno inoltre introdotti i paradigmi di progammazione relativi alle differenti architetture per AI. Obiettivi specifici: Il corso tratta le principali architetture harware utilizzate per AI. In particolare verranno presentate le seguenti architetture: - Processori Multicore e paradigma di programmazione parallela tramite OpenMP. - GPU e paradigma di programmazione massivamente parallelo tramite CUDA. - TPU e programmazione con TensorFlow - FPGA e programmazione con OpenCL/HLS Conoscenza e comprensione: Lo studente acquisirà conoscenza sull’organizzazione delle varie architture hardware utilizzate per AI. Inoltre, lo studente acquisirà conoscenza su come programmare tali architture per eseguire algoritmi per AI. Applicazione di conoscenza e comprensione: Lo studente sarà in grado di sviluppare algoritmi per AI su diverse architetture per AI e di valutare le prestazioni ottenibili sulle diverse architetture. Autonomia di giudizio: Lo studente sarà in grado di comprendere le problematiche relative alla programmazione ed alle prestazioni ottenibili dai principali algoritmi per AI su diverse architetture hardware. Abilità comunicative: Il corso non si propone espliciti obiettivi sulle capacità comunicative, eccetto di formare all'esposizione rigorosa degli argomenti tecnici. Capacità di apprendimento: Il corso consente di comprendere le differenze tra le varie architetture per AI e offre fornisce gli strumnenti per poter scegliere l'architettura più adatta a seconda dello scenario applicativo.

Canale 1
SALVATORE PONTARELLI Scheda docente

Programmi - Frequenza - Esami

Programma
- Architettura di un calcolatore: introduzione - Rappresentazione delle istruzioni - Aritmetica dei Computer - Progettazione di un processore - Le Memorie - Domain Specific Architectures - Processori Multicore e paradigma di programmazione parallela tramite OpenMP. - GPU e paradigma di programmazione massivamente parallelo tramite CUDA. - TPU e programmazione con TensorFlow - FPGA e programmazione con OpenCL/HLS
Prerequisiti
Fondamenti di programmazione
Testi di riferimento
D. Patterson, J. Hennessy - Struttura e progetto dei calcolatori. Progettare con RISC-V.
Frequenza
Frequenza non obbligatoria.
Modalità di esame
Domande orali sugli argomenti del corso. Approfondimento didattico/sperimentale con studi di caso su un argomento del corso.
Modalità di erogazione
Didattica frontale in presenza.
  • Codice insegnamento10605218
  • Anno accademico2025/2026
  • CorsoScienze matematiche per l’intelligenza artificiale
  • CurriculumCurriculum unico
  • Anno3º anno
  • Semestre1º semestre
  • SSDINF/01
  • CFU6