In recent years, the field of biomedical informatics has witnessed an explosion in data volume and complexity, demanding innovative approaches to accelerate computational tasks. Graphics Processing Units (GPUs) have emerged as potent hardware accelerators, driving substantial performance gains in various domains. However, their adoption within biomedical informatics has been mainly limited to the deep learning domain, due to the availability of libraries that mask the GPU computation. This is mainly due to the scarce integration of GPUs with high-level pro- programming languages, such as R or Python, commonly used in the biomedical context. This dissertation addresses the critical need to extend GPU utilization to such high-level languages in the context of biomedical informatics. The first part of this thesis presents a series of applications that leverage GPUs to expedite the training of deep learning models for different tasks, namely drug repurposing, dementia detection, and lung cancer identification. By harnessing the parallel processing capabilities of GPUs, significant reductions in training times are achieved, thereby facilitating quicker iterations and enhancing the pace of research and clinical decision-making. Nonetheless, the aforementioned applications involve other compute-intensive processing steps that could benefit from heterogeneous hardware acceleration. A bridge between high-level languages and GPU programming is imperative to enable researchers and practitioners to exploit the full potential of GPU hardware in biomedical informatics applications. To address such a need, the centerpiece of this dissertation presents an innovative framework to simplify GPU programming, named GrCUDA. Initially developed by NVIDIA and Oracle, GrCUDA serves as an intermediary layer that enables seamless access to GPU resources from the high-level programming languages supported by the polyglot GraalVM ecosystem. This thesis introduces a novel multi-GPU asynchronous scheduler for GrCUDA, which facilitates the development of multi-GPU applications by abstracting low-level GPU details and providing a high-level interface that is both efficient and user-friendly. Experimental results prove that the proposed scheduler transparently provides speedups comparable to what an expert programmer can achieve by hand, making multi-GPU computations easier to approach while minimizing performance compromises. Thus, the GrCUDA framework emerges as a crucial bridge, enabling biomedical informatics researchers to harness GPUs’ substantial computational capabilities without compromising programming ease and language flexibility. Building upon the GrCUDA framework, the final part of the thesis showcases two applications that underscore its utility. The first application introduces GPJSON, a GPU-accelerated JavaScript Object Notation (JSON) processing engine, exemplifying how GrCUDA can enhance data parsing and manipulation tasks prevalent in biomedical informatics. The second application presents a sequence-to-graph aligner tailored for genomics ap- plications, demonstrating how GrCUDA can handle complex systems inherent to the domain. In conclusion, this dissertation advocates for the integration of GPUs into high-level programming languages to address the computational challenges in biomedical informatics. By enhancing the GrCUDA framework, this work provides a novel solution that empowers researchers and practitioners to harness the full potential of GPUs while developing applications for critical tasks within the biomedical field. Through concrete applications and empirical results, this thesis underscores the transformative impact of GPU acceleration on the landscape of biomedical informatics and, consequently, of precision medicine.
Negli ultimi anni, il campo dell’informatica biomedica ha visto una vera e propria esplosione in termini di volume e complessità dei dati generati. Ciò ha reso evidente la necessità di sviluppare approcci innovativi per accelerare le analisi computazionali. Le unità di elaborazione grafica (Graphics Processing Unit (GPU)) sono emerse come potenti acceleratori hardware, in grado di garantire un sostanziale aumento delle prestazioni in vari settori. Tuttavia, la loro adozione nell’ambito dell’informatica biomedica è stata limitata principalmente al dominio del deep learning, a causa della disponibilità di librerie che mascherano la computazione su GPU. Ciò è dovuto principalmente alla scarsa integrazione delle GPU con i linguaggi di programmazione di alto livello, come R o Python, comunemente utilizzati nel contesto biomedicale. Questa tesi risponde all’esigenza critica di estendere l’utilizzo delle GPU a questi linguaggi di alto livello nel contesto dell’informatica biomedica. La prima parte della tesi presenta una serie di applicazioni che sfruttano le GPU per accelerare l’addestramento di modelli di deep learning per diversi compiti, in particolare la riproposizione di farmaci, l’individuazione di demenza e l’identificazione di tumori polmonari. Sfruttando le capacità di elaborazione parallela delle GPU, si ottengono riduzioni significative dei tempi di addestramento, facilitando così iterazioni più rapide, e migliorando il ritmo della ricerca e del processo decisionale in ambito clinico. Tuttavia, le applicazioni citate comprendono altre fasi di elaborazione ad alta intensità di calcolo che potrebbero beneficiare dell’accelerazione hardware eterogenea. Un ponte tra i linguaggi di alto livello e la programmazione su GPU è indispensabile per consentire a ricercatori e professionisti di sfruttare appieno il potenziale di tali architetture computazionali nelle applicazioni di informatica biomedica. Il fulcro di questa tesi è la presentazione di un framework innovativo chiamato GrCUDA. Proposto inizialmente da NVIDIA e Oracle, GrCUDA funge da strato intermedio che consente di accedere facilmente alle risorse delle GPU da tutti i linguaggi di programmazione di alto livello supportati dall’ecosistema poliglotta GraalVM. Questa tesi introduce un nuovo scheduler asincrono multi-GPU per GrCUDA che facilita lo sviluppo di applicazioni multi-GPU, astraendo i dettagli di basso livello delle e fornendo un’interfaccia di alto livello efficiente e facile da usare. I risultati sperimentali dimostrano che lo scheduler proposto consente di raggiungere automaticamente delle prestazioni comparabili a quelle ottenute da un programmatore esperto, rendendo le computazioni multi-GPU più semplici da approcciare e minimizzando il compromesso in termini di performance. Ciò rende GrCUDA uno strumento ad altissimo potenziale, consentendo ai ricercatori nell’ambito dell’informatica biomedica di sfruttare le notevoli capacità di calcolo di molteplici GPU senza compromettere la facilità di programmazione e la flessibilità del linguaggio. A dimostrazione delle potenzialità del framework GrCUDA, la parte finale della tesi presenta due applicazioni che ne sottolineano l’utilità nell’ambito biomedicale. La prima applicazione è GPJSON, un motore di elaborazione di file JavaScript Object Notation (JSON) accelerato su GPU, che esemplifica come GrCUDA possa migliorare le attività di parsing e manipolazione dei dati grezzi, prevalenti nell’informatica biomedica. La seconda applicazione consiste in un allineatore di sequenze nucleotidiche a grafi genomici, che dimostra come GrCUDA sia in grado di gestire complessi sistemi di elaborazione nell’ambito dell’analisi genomica. In conclusione, questa tesi sottolinea l’importanza di esporre l’utilizzo di GPU nei linguaggi di programmazione di alto livello per affrontare le sfide computazionali dell’informatica biomedica. Migliorando il framework GrCUDA, questo lavoro fornisce una soluzione innovativa che consente a ricercatori e professionisti di sfruttare appieno il potenziale delle GPU nello sviluppo di applicazioni nel campo biomedicale. Attraverso applicazioni concrete e risultati empirici, questa tesi evidenzia l’impatto trasformativo dell’accelerazione su GPU sul panorama dell’informatica biomedica e, conseguentemente, della medicina di precisione.
Leveraging heterogeneous hardware acceleration from high-level programming languages : the case for biomedical informatics
Di DONATO, GUIDO WALTER
2023/2024
Abstract
In recent years, the field of biomedical informatics has witnessed an explosion in data volume and complexity, demanding innovative approaches to accelerate computational tasks. Graphics Processing Units (GPUs) have emerged as potent hardware accelerators, driving substantial performance gains in various domains. However, their adoption within biomedical informatics has been mainly limited to the deep learning domain, due to the availability of libraries that mask the GPU computation. This is mainly due to the scarce integration of GPUs with high-level pro- programming languages, such as R or Python, commonly used in the biomedical context. This dissertation addresses the critical need to extend GPU utilization to such high-level languages in the context of biomedical informatics. The first part of this thesis presents a series of applications that leverage GPUs to expedite the training of deep learning models for different tasks, namely drug repurposing, dementia detection, and lung cancer identification. By harnessing the parallel processing capabilities of GPUs, significant reductions in training times are achieved, thereby facilitating quicker iterations and enhancing the pace of research and clinical decision-making. Nonetheless, the aforementioned applications involve other compute-intensive processing steps that could benefit from heterogeneous hardware acceleration. A bridge between high-level languages and GPU programming is imperative to enable researchers and practitioners to exploit the full potential of GPU hardware in biomedical informatics applications. To address such a need, the centerpiece of this dissertation presents an innovative framework to simplify GPU programming, named GrCUDA. Initially developed by NVIDIA and Oracle, GrCUDA serves as an intermediary layer that enables seamless access to GPU resources from the high-level programming languages supported by the polyglot GraalVM ecosystem. This thesis introduces a novel multi-GPU asynchronous scheduler for GrCUDA, which facilitates the development of multi-GPU applications by abstracting low-level GPU details and providing a high-level interface that is both efficient and user-friendly. Experimental results prove that the proposed scheduler transparently provides speedups comparable to what an expert programmer can achieve by hand, making multi-GPU computations easier to approach while minimizing performance compromises. Thus, the GrCUDA framework emerges as a crucial bridge, enabling biomedical informatics researchers to harness GPUs’ substantial computational capabilities without compromising programming ease and language flexibility. Building upon the GrCUDA framework, the final part of the thesis showcases two applications that underscore its utility. The first application introduces GPJSON, a GPU-accelerated JavaScript Object Notation (JSON) processing engine, exemplifying how GrCUDA can enhance data parsing and manipulation tasks prevalent in biomedical informatics. The second application presents a sequence-to-graph aligner tailored for genomics ap- plications, demonstrating how GrCUDA can handle complex systems inherent to the domain. In conclusion, this dissertation advocates for the integration of GPUs into high-level programming languages to address the computational challenges in biomedical informatics. By enhancing the GrCUDA framework, this work provides a novel solution that empowers researchers and practitioners to harness the full potential of GPUs while developing applications for critical tasks within the biomedical field. Through concrete applications and empirical results, this thesis underscores the transformative impact of GPU acceleration on the landscape of biomedical informatics and, consequently, of precision medicine.File | Dimensione | Formato | |
---|---|---|---|
PhD_Thesis_DiDonato_def.pdf
non accessibile
Dimensione
6.61 MB
Formato
Adobe PDF
|
6.61 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/216332