Calcolo parallelo (alpha)
Parallel Computing (alpha)
Componenti
- Aldinucci Marco (Coordinatore)
- Rabellino Sergio (Componente)
- Cantalupo Barbara (Componente)
- Colonelli Iacopo (Componente)
- Martinelli Alberto Riccardo (Dottorando/a)
- Mittone Gianluca (Dottorando/a)
- Torquati Massimo (Collaboratore/Collaboratrice esterno)
- Danelutto Marco (Collaboratore/Collaboratrice esterno)
- Kilpatrick Peter (Collaboratore/Collaboratrice esterno)
- Misale Claudia (Collaboratore/Collaboratrice esterno)
- Birke Robert (Professore/Professoressa associato/a)
- Colonnelli Iacopo (Ricercatore/Ricercatrice)
- Medic Doriana (Ricercatore/Ricercatrice)
- Antelmi Alessia (Ricercatore/Ricercatrice)
- Casella Bruno (Dottorando/a)
- Bracciali Andrea (Collaboratore/Collaboratrice)
- Bosio Lorenzo (Tecnico )
- Santimaria Marco Edoardo (Borsista)
- Eletto Giuseppe (Borsista)
- Gianluca Mittone (Dottorando/a)
- Bruno Casella (Dottorando/a)
- Adriano Garcia Marques (Assegnista)
- Alberto Mulone (Dottorando/a)
- Giulio Malenza (Dottorando/a)
- Lorenzo Brescia (Dottorando/a)
Settore ERC
Attività
L’attività del gruppo di ricerca di calcolo parallelo (alpha) è focalizzata sui modelli, i linguaggi e gli strumenti per la programmazione parallela. Per molti anni il calcolo parallelo è stato un argomento di abbastanza di nicchia, assorbito quasi interamente dalle necessità del calcolo ad alte prestazioni (HPC) dove le “prestazioni” sono appunto la ragione d’essere. Prestazioni spesso raggiunte con strumenti di sviluppo molto vicini all’hardware in modo lasciare al programmatore esperto la possibilità di sfruttare configurare e mettere a punto le applicazioni per ogni specifica macchina. Un lavoro artigianale di altissima specializzazione ed altissimo costo. In questo ambito, la complessità intrinseca dello sviluppo del codice parallelo mediante approcci molto vicini alla macchina è stato tradizionalmente considerato il prezzo da pagare per le prestazioni di poche applicazioni in esecuzione su poche macchine.
Ma cambia ciò che è superficiale e anche ciò che è profondo, cambia il modo di pensare, cambia tutto in questo mondo [cit]. Oggi - poco dopo - è solo impossibile trovare un sistema di calcolo che non sia parallelo, dal server al telefonino e una applicazione che non abbia bisogno delle tecniche legate al calcolo parallelo, a partire dai metodi moderni per Intelligenza Artificiale. Tutti questi sistemi eseguono programmi paralleli e devono essere programmati. Per tutti questi sistemi, la correttezza, la produttività, il costo e il tempo di sviluppo sono aspetti di uguale se non maggiore importanza delle prestazioni assolute. Aspetti di interesse sono la portabilità delle applicazioni su piattaforme diverse, anche eterogenee (multi-core, GPU, cluster, cloud, FPGA, …), la portabilità delle prestazioni del codice parallelo, la progettazione del codice parallelo secondo un modello di costo industriale. Cioè che permetta la produzione di applicazioni di buona qualità a un costo per unità accettabile.
Nel gruppo alpha cerchiamo di inventare, sviluppare e testare le astrazioni e gli artefatti in grado di semplificare lo sviluppo dei programmi paralleli. Cioè, ci occupiamo di modelli di programmazione.
- Programming models and run-time systems for parallel computing
- Parallel programming models for HPC, multicores and accelerators
- RISC-V software ecosystem: vectorization, memory performance, energy efficiency
- System software for HPC: Workflows for hybrid HPC-cloud, storage
- Foundational aspects of parallel processing
- Cloud Engineering, virtualization, containerization (OpenStack, Kubernetes, etc.), web3.0
- Distributed and federated learning, foundational models for AI at scale, AI for Science
Più informazioni a Parallel Computing research group website e HPC4AI