The increasing number of processing-power hungry applications, from traditional physics and financial computing solutions, to the now raising wave of machine and deep learning, has led to a surge in demand for High Performance Computing (HPC) systems. The MANGO project was introduced with the objective of enabling the development of user applications on heterogeneous HPC systems. Up to this point, MANGO offered support for a custom hardware architecture, used to explore manycore architectures for HPC systems. This thesis focuses on a number of additions to the MANGO platform, starting with a Python language API, followed by the Just In Time compilation of computing kernels, and culminating in the introduction of GPU accelerators: highly parallel devices that are commonly found in heterogeneous systems. The incorporation of GPU support resulted in a restructure of the MANGO software stack, with the addition of a Hardware Abstraction Layer and a complete rework of the user-facing module.
Il crescente numero di applicazioni ad alte prestazioni, dalle simulazioni fisiche alla finanza computazionale, fino alle applicazioni di intelligenza artificiale ha portato ad un incremento della richiesta di sistemi per il calcolo ad alte prestazioni (HPC). Il progetto MANGO è stato creato per permettere lo sviluppo di applicazioni per sistemi HPC eterogenei. Fino ad ora, MANGO ha offerto supporto per una architettura hardware specializzata, impiegata per l'esplorazione di soluzioni many-core. Questo lavoro di tesi fornisce varie estensioni alla piattaforma MANGO: una API Python, il supporto per la compilazione Just-In-Time (JIT) dei kernel computazionali, e infine il supporto per l'accelerazione su GPU, ovvero il sistema di calcolo parallelo eterogeneo più comune. L'introduzione del supporto per le GPU ha portato ad una profonda ristrutturazione dell'architettura software, con l'introduzione di uno strato di astrazione dell'hardware (HAL) e una riformulazione del modulo in interfaccia.
Programming deeply heterogeneous architectures with resource management support
Pedrozo Favier, Manuel;PEREZ MOLINA, TOMÁS
2020/2021
Abstract
The increasing number of processing-power hungry applications, from traditional physics and financial computing solutions, to the now raising wave of machine and deep learning, has led to a surge in demand for High Performance Computing (HPC) systems. The MANGO project was introduced with the objective of enabling the development of user applications on heterogeneous HPC systems. Up to this point, MANGO offered support for a custom hardware architecture, used to explore manycore architectures for HPC systems. This thesis focuses on a number of additions to the MANGO platform, starting with a Python language API, followed by the Just In Time compilation of computing kernels, and culminating in the introduction of GPU accelerators: highly parallel devices that are commonly found in heterogeneous systems. The incorporation of GPU support resulted in a restructure of the MANGO software stack, with the addition of a Hardware Abstraction Layer and a complete rework of the user-facing module.File | Dimensione | Formato | |
---|---|---|---|
2021_07_Pedrozo_Perez.pdf
accessibile in internet per tutti
Descrizione: Thesis text
Dimensione
3.82 MB
Formato
Adobe PDF
|
3.82 MB | Adobe PDF | Visualizza/Apri |
I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/10589/177523