B8563 - SISTEMI DI ELABORAZIONE ACCELERATA M

Anno Accademico 2025/2026

  • Docente: Stefano Mattoccia
  • Crediti formativi: 8
  • SSD: ING-INF/05
  • Lingua di insegnamento: Italiano
  • Moduli: Stefano Mattoccia (Modulo 1) Fabio Tosi (Modulo 2)
  • Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
  • Campus: Bologna
  • Corso: Laurea Magistrale in Ingegneria informatica (cod. 6719)

Conoscenze e abilità da conseguire

Al termine del corso lo studente acquisisce competenze avanzate nell'ambito del calcolo accelerato e dei moderni sistemi per l'elaborazione ad alte prestazioni (HPC). In particolare, sviluppa una conoscenza approfondita delle tecnologie di accelerazione disponibili, dalle estensioni SIMD fino alle moderne architetture GPU e framework emergenti per il calcolo eterogeneo, maturando la capacità di ottimizzare problemi computazionali attraverso la scelta appropriata di pattern algoritmici, formati numerici e strategie di decomposizione del calcolo. Lo studente padroneggia gli strumenti di programmazione per l'accelerazione su CPU e attraverso CUDA per GPU, acquisendo una comprensione avanzata dei modelli di esecuzione e delle tecniche di ottimizzazione specifiche per ogni piattaforma. Queste capacità permettono di sviluppare soluzioni computazionalmente efficienti in ambiti all'avanguardia quali intelligenza artificiale, elaborazione di big data e calcolo scientifico ad alte prestazioni.

Contenuti

Architetture e modelli di programmazione per calcolo a elevate prestazioni. Nel corso si farà paricolare riferimento a tematiche inerenti computer vision e intelligenza artificiale.

1: Introduzione al calcolo a elevate prestazioni

  • Concetti fondamentali del calcolo parallelo

  • Architetture per calcolo a elevate prestazioni: CPU multi-core, GPU, sistemi embedded

2: SIMD and Multi-threading (Modulo 1)

  • Introduzione al SIMD

  • Principi di multi-threading

  • SIMD e Multi-threading

3: GPU e Programmazione CUDA C (Modulo 2) 

  • Modello di Programmazione CUDA

  • Architetture GPU e Modello di Esecuzione CUDA

  • Gerarchia e Organizzazione della Memoria GPU

  • Ecosistema CUDA: Librerie e Applicazioni

4: Rappresentazione ed elaborazioni con numeri reali (Modulo 1)

  • Floating point

  • Fixed point

5: Tecnologie Emergenti (Modulo 1)

  • FPGA (Field Programmable Gate Array)

Testi/Bibliografia

Lucidi e codice disponibili in Virtuale.

Per approfondimenti:

Cheng, J., Grossman, M., McKercher, T. (2014). Professional CUDA C Programming. Wrox Pr Inc. (1^ edizione)

Kirk, D. B., Hwu, W. W. (2013). Programming Massively Parallel Processors. Morgan Kaufmann (3^ edizione)

Timothy G. Mattson, Yun (Helen) He, Alice E. Koniges, The OpenMP Common Core: Making OpenMP Simple Again, MIT Press, 2019

Jean-Michel Muller , Nicolas Brunie , Florent de Dinechin , Claude-Pierre Jeannerod , Mioara Joldes , Vincent Lefèvre , Guillaume Melquiond , Nathalie Revol , Serge Torre, Handbook of Floating-Point Arithmetic, Springer Birkhäuser 2018

Jean-Michel Muller, Elementary Functions: Algorithms and Implementation, Springer Birkhäuser 2016

Metodi didattici

Verifica delle nozioni presentate durante le lezioni mediante esercitazioni con strumenti di sviluppo software.

Modalità di verifica e valutazione dell'apprendimento

La verifica consiste nello sviluppo automomo di un progetto (gruppi di non più di due studenti) e in domande sui temi del corso.

Studenti/sse con DSA o disabilità temporanee o permanenti: si raccomanda di contattare per tempo l’ufficio di Ateneo responsabile (https://site.unibo.it/studenti-con-disabilita-e-dsa/it): sarà sua cura proporre agli/lle studenti/sse interessati/e eventuali adattamenti, che dovranno comunque essere sottoposti, con un anticipo di 15 giorni, all’approvazione del/della docente, che ne valuterà l'opportunità anche in relazione agli obiettivi formativi dell'insegnament

Strumenti a supporto della didattica

Piattaforme di svilippo software.

Orario di ricevimento

Consulta il sito web di Stefano Mattoccia

Consulta il sito web di Fabio Tosi