Personalized medicine represents a cutting-edge approach to healthcare delivery. In this scenario, genome analysis is crucial to highlight genetic variants and provide customized treatments to each patient. HaplotypeCaller is one of the most relevant tools for variant calling, based on the Pair Hidden Markov Model (PairHMM) algorithm. However, this tool’s analyses require long execution times mainly due to a significant bottleneck represented by the PairHMM algorithm. Moreover, given the algorithm’s compute-intensiveness, general-purpose computing architectures exacerbate this limitation. Thus, offloading it to hardware accelerators is a suitable solution to speed the execution up, as proven in the literature. However, the performance achieved by State-of-the-Art works comes with many constraints on the application’s flexibility, jeopardizing the solutions’ usability. This Thesis proposes a methodology to overcome the performance and flexibility issues and accelerate the PairHMM algorithm on Graphics Processing Unit (GPU). It provides methods to expose parallelism in the algorithm, which is crucial to achieving high performance. Furthermore, it describes two strategies to enable different layers of flexibility: the dynamic memory swap, to increase the number of alignments processable on the device, and the adaptive precision, to readjust data precision to performance requirements. Then, we demonstrate our methodology’s effectiveness, implementing the PairHMM algorithm on an NVIDIA RTX A5000 GPU. Experimental results validate our approach, which enables speedups higher than 9′000× compared to the algorithm’s Java baseline. Finally, we integrated the design into HaplotypeCaller to demonstrate its usability, and we achieved an 12.68× improvement in execution time against the HaplotypeCaller’s sequential Java baseline without compromising the application’s usability and executing all the alignments on GPU.
La medicina personalizzata rappresenta uno degli approcci più innovativi per il processo di cura. In questo ambito, l’analisi del genoma è centrale per evidenziare variazioni genetiche e fornire terapie personalizzate per il paziente. HaplotypeCaller è una delle applicazioni più rilevanti per l’identificazione di varianti genomiche, basato sull’algoritmo Pair Hidden Markov Model (PairHMM). Tuttavia, questa applicazione richiede lunghe tempistiche per l’esecuzione delle analisi, principalmente dovute a un considerevole collo di bottiglia rappresentato dall’algoritmo PairHMM. Inoltre, data l’intensità computazionale dell’algoritmo, le architetture a scopo generale aggravano questa limitazione. Una soluzione promettente consiste nel trasferire l’esecuzione dell’algoritmo su architetture eterogenee, già validata in letteratura. Le performance raggiunte dalle implementazioni nello Stato dell’Arte, tuttavia, sono il risultato di numerose limitazioni sulla flessibilità dell’applicazione, minando l’utilizzo di queste implementazioni in casi reali. Questa Tesi propone una metodologia per risolvere i problemi legati a flessibilità e performance e accelerare l’algoritmo PairHMM su Unità di elaborazione grafica (GPU). La metodologia fornisce metodi per esporre il parallelismo dell’algoritmo, chiave per raggiungere alte prestazioni. In aggiunta, propone due strategie per consentire diversi livelli di flessibilità: lo scambio dinamico di memoria, per aumentare il numero di allineamenti analizzabili sulla GPU, e la precisione adattiva, per adattare la precisione dai dati ai requisiti di performance. Questo lavoro dimostra anche l’efficacia della metodologia, implementando l’algoritmo su una scheda grafica NVIDIA RTX A5000. I risultati sperimentali validano il nostro approccio, che permette di raggiungere miglioramenti fino a 9′000× in tempo di esecuzione rispetto alla baseline Java dell’algoritmo. Infine, abbiamo integrato questa implementazione in HaplotypeCaller per dimostrarne l’usabilità, migliorando il tempo di esecuzione di 12.68 volte rispetto alla versione sequenziale in Java del tool, senza comprometterne la flessibilità ed eseguendo tutti gli allineamenti sulla GPU.
A methodology for accelerating variant calling on GPU
Branchini, Beatrice
2021/2022
Abstract
Personalized medicine represents a cutting-edge approach to healthcare delivery. In this scenario, genome analysis is crucial to highlight genetic variants and provide customized treatments to each patient. HaplotypeCaller is one of the most relevant tools for variant calling, based on the Pair Hidden Markov Model (PairHMM) algorithm. However, this tool’s analyses require long execution times mainly due to a significant bottleneck represented by the PairHMM algorithm. Moreover, given the algorithm’s compute-intensiveness, general-purpose computing architectures exacerbate this limitation. Thus, offloading it to hardware accelerators is a suitable solution to speed the execution up, as proven in the literature. However, the performance achieved by State-of-the-Art works comes with many constraints on the application’s flexibility, jeopardizing the solutions’ usability. This Thesis proposes a methodology to overcome the performance and flexibility issues and accelerate the PairHMM algorithm on Graphics Processing Unit (GPU). It provides methods to expose parallelism in the algorithm, which is crucial to achieving high performance. Furthermore, it describes two strategies to enable different layers of flexibility: the dynamic memory swap, to increase the number of alignments processable on the device, and the adaptive precision, to readjust data precision to performance requirements. Then, we demonstrate our methodology’s effectiveness, implementing the PairHMM algorithm on an NVIDIA RTX A5000 GPU. Experimental results validate our approach, which enables speedups higher than 9′000× compared to the algorithm’s Java baseline. Finally, we integrated the design into HaplotypeCaller to demonstrate its usability, and we achieved an 12.68× improvement in execution time against the HaplotypeCaller’s sequential Java baseline without compromising the application’s usability and executing all the alignments on GPU.File | Dimensione | Formato | |
---|---|---|---|
2022_10_Branchini_01.pdf
non accessibile
Descrizione: Tesi
Dimensione
1.83 MB
Formato
Adobe PDF
|
1.83 MB | Adobe PDF | Visualizza/Apri |
2022_10_Branchini_02.pdf
non accessibile
Descrizione: Executive Summary
Dimensione
468.25 kB
Formato
Adobe PDF
|
468.25 kB | 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/195630