Porting of an Atmospheric Chemistry Solver to Parallel CPU-GPU Execution

dc.contributor.author
Guzman Ruiz, Christian
dc.date.accessioned
2024-12-28T12:41:33Z
dc.date.available
2024-12-28T12:41:33Z
dc.date.issued
2024-11-26
dc.identifier.uri
http://hdl.handle.net/10803/693090
dc.description.abstract
Els Models del Sistema Terrestre (ESMs) són crucials per a comprendre el canvi climàtic, ja que brinden informació valuosa sobre fenòmens i sistemes del món real, amb nombroses aplicacions en ciència i enginyeria. No obstant això, la comunitat científica requereix una major potència computacional per a reduir les incerteses en aquests models. S'estan aconseguint avanços significatius mitjançant la transició a sistemes informàtics heterogenis que combinen Unitats Centrals de Processament (CPUs) i Unitats de Processament Gràfic (GPUs). Aquests models es poden accelerar notablement mitjançant l'optimització dels components que consumeixen més temps, com la química, així reduint les incerteses i millorant la nostra comprensió de la dinàmica climàtica. L'objectiu principal d'aquesta tesi és millorar el rendiment dels solucionadors de química en models atmosfèrics mitjançant el desenvolupament de solucions eficients adaptades a arquitectures heterogènies basades en GPU. Específicament, la tesis es centra en maximitzar el rendiment de la GPU, millorar la precisió, garantir la portabilitat i minimitzar l'esforç de desenvolupament mitjançant la realització de modificacions menors al solucionador de química existent. La contribució fonamental d'aquesta tesi és el desenvolupament d'una versió CPU-GPU del solucionador de química CAMP per al model atmosfèric MONARCH, aconseguint una acceleració significativa. A més, el solver químic desenvolupat es pot adaptar fàcilment per a resoldre sistemes genèrics d'Equacions Diferencials Ordinàries (ODE) a la GPU, gràcies a la seva similitud amb la llibreria CVODE utilitzada per al solver CPU de CAMP. El codi font obert s'ha publicat com una actualització de CAMP per a facilitar la portabilitat. Les principals contribucions inclouen un mètode per integrar fàcilment codi GPU als solucionadors de química (Multi-cells), distribuir la càrrega computacional entre els processos de la GPU (Block-cells) i un algoritme d'equilibri de càrrega automàtic per a l'execució concurrent de la CPU i la GPU. Particularment, l'algoritme d'equilibri de càrrega automàtic està dissenyat per ésser simple, garantint la portabilitat i oferint una execució accelerada. A més, s'ha desenvolupat un solucionador lineal de GPU seguint l'enfocament Block-cells, la qual cosa permet una major exploració de Block-cells en solucionadors iteratius i facilita l'acoblament amb altres sistemes, una consideració important donat l'ús generalitzat de solucionadors lineals en les comunitats científiques i matemàtiques. Els resultats demostren una acceleració de 250x en comparació amb la versió de CPU d'un sol procés utilitzant quatre GPU en un sol node. En una comparació de node a node, utilitzant quatre GPU enfront de 80 nuclis de CPU, l'acceleració obtinguda és de 8,14x. Normalitzant els nuclis utilitzats enfront d'altres solucions d'última generació, l'acceleració és de 16x. L'acceleració substancial aconseguida amb canvis algorítmics mínims subratlla l'importància de les noves estratègies desenvolupades en aquesta tesi.
dc.description.abstract
Los modelos del sistema terrestre (ESMs) son cruciales para comprender el cambio climático, ya que brindan información valiosa sobre fenómenos y sistemas del mundo real, con numerosas aplicaciones en ciencia e ingeniería. Sin embargo, la comunidad científica requiere una mayor potencia computacional para reducir las incertidumbres en estos modelos. Se están logrando avances significativos mediante la transición a sistemas informáticos heterogéneos que combinan Unidades Centrales de Procesamiento (CPUs) y Unidades de Procesamiento Gráfico (GPUs). Estos modelos se pueden acelerar notablemente mediante la optimización de los componentes que consumen más tiempo, como la química, lo que reduce las incertidumbres y mejora nuestra comprensión de la dinámica climática. El objetivo principal de esta tesis es mejorar el rendimiento de los solucionadores de química en modelos atmosféricos mediante el desarrollo de soluciones eficientes adaptadas a arquitecturas heterogéneas basadas en GPU. Específicamente, el enfoque se centra en maximizar el rendimiento de la GPU, mejorar la precisión, garantizar la portabilidad y minimizar el esfuerzo de desarrollo mediante la realización de modificaciones menores al solucionador de química existente. La contribución fundamental de esta tesis es el desarrollo de una versión CPU-GPU del solucionador de química CAMP para el modelo atmosférico MONARCH, logrando una aceleración significativa. Además, el solver químico desarrollado se puede adaptar fácilmente para resolver sistemas genéricos de Ecuaciones Diferenciales Ordinarias (ODE) en la GPU, gracias a su similitud con la libreria CVODE utilizada para el solver CPU de CAMP. El código fuente abierto se ha publicado como una actualización de CAMP para facilitar la portabilidad. Las principales contribuciones incluyen un método para integrar fácilmente código GPU en los solucionadores de química (Multi-cells), distribuir las cargas computacionales entre los procesos de la GPU (Block-cells) y un algoritmo de equilibrio de carga automático para la ejecución concurrente de la CPU y la GPU. En particular, el algoritmo de equilibrio de carga automático está diseñado para ser simple, garantizando la portabilidad y ofreciendo una ejecución acelerada. Además, se ha desarrollado un solucionador lineal de GPU siguiendo el enfoque Block-cells, permitiendo una mayor exploración de Block-cells en solucionadores iterativos y facilitando el acoplamiento con otros sistemas, una consideración importante dado el uso generalizado de solucionadores lineales en las comunidades científicas y matemáticas. Los resultados demuestran una aceleración de 250x en comparación con la versión de CPU de un solo proceso utilizando cuatro GPU en un solo nodo. En una comparación de nodo a nodo, utilizando cuatro GPU frente a 80 núcleos de CPU, la aceleración lograda es de 8,14x. Al normalizar los núcleos utilizados frente a otras soluciones de última generación, la aceleración es de 16x. La aceleración sustancial lograda con cambios algorítmicos mínimos subraya la importancia de las nuevas estrategias desarrolladas en esta tesis.
dc.description.abstract
Earth System Models (ESMs) are crucial for understanding climate change, providing valuable insights into real-world phenomena and systems, with numerous applications in science and engineering. However, the scientific community requires greater computational power to reduce uncertainties in these models. Significant progress is being made by transitioning to heterogeneous computing systems that combine Central Processing Units (CPUs) and Graphics Processing Units (GPUs). These models can be accelerated notably by optimizing the most time-consuming components, such as chemistry, thereby reducing uncertainties and enhancing our understanding of climate dynamics. The primary objective of this thesis is to improve the performance of chemistry solvers in atmospheric models by developing efficient solutions tailored to GPU-based heterogeneous architectures. Specifically, the focus is maximizing GPU performance, enhancing accuracy, ensuring portability, and minimizing development effort by minor modifications to the existing chemistry solver. This thesis's critical contribution is developing a CPU-GPU version of the CAMP chemistry solver for the atmospheric model MONARCH, achieving significant acceleration. Furthermore, the developed chemical solver can be easily adapted to solve generic systems of Ordinary Differential Equations (ODEs) on the GPU due to its similarity to the CVODE library used in the CAMP CPU solver. The open-source code has been released as an upgrade to CAMP to facilitate portability. The main contributions include a method for seamlessly integrating GPU code into chemistry solvers (Multi-cells), distributing computational loads across GPU threads (Block-cells), and an automatic load-balancing algorithm for concurrent CPU-GPU execution. Notably, the automatic load-balancing algorithm is designed to be simple, ensuring portability while delivering accelerated execution. Furthermore, a GPU linear solver has been developed following the Block-cells approach, enabling further exploration of Block-cells in iterative solvers and facilitating coupling with other systems—an important consideration given the widespread use of linear solvers in scientific and mathematical communities. The results demonstrate a 250x speedup compared to the single-threaded CPU version when using four GPUs in a single node. In a node-to-node comparison, utilizing four GPUs versus 80 CPU cores, the speedup achieved is 8.14x. When normalizing the cores used against other state-of-the-art solutions, the speedup is 16x. The substantial speedup achieved with minimal algorithmic changes underscores the significance of the new strategies developed in this thesis.
dc.format.extent
132 p.
dc.language.iso
eng
dc.publisher
Universitat Autònoma de Barcelona
dc.rights.license
L'accés als continguts d'aquesta tesi queda condicionat a l'acceptació de les condicions d'ús establertes per la següent llicència Creative Commons: http://creativecommons.org/licenses/by-nc-nd/4.0/
dc.rights.uri
http://creativecommons.org/licenses/by-nc-nd/4.0/
dc.source
TDX (Tesis Doctorals en Xarxa)
dc.subject
Informàtica d'alt rendiment
dc.subject
High-Performance Computing
dc.subject
Computación de alto rendimient
dc.subject
GPU
dc.subject
Models climàtics químics
dc.subject
Chemistry Climate models
dc.subject
Modelos climáticos químicos
dc.subject.other
Tecnologies
dc.title
Porting of an Atmospheric Chemistry Solver to Parallel CPU-GPU Execution
dc.type
info:eu-repo/semantics/doctoralThesis
dc.type
info:eu-repo/semantics/publishedVersion
dc.date.updated
2024-12-28T12:41:33Z
dc.subject.udc
004
dc.contributor.director
Acosta, Mario C. (Mario César)
dc.contributor.director
César Galobardes, Eduardo
dc.contributor.tutor
César Galobardes, Eduardo
dc.embargo.terms
cap
dc.rights.accessLevel
info:eu-repo/semantics/openAccess
dc.description.degree
Universitat Autònoma de Barcelona. Programa de Doctorat en Informàtica


Documents

cgr1de1.pdf

2.330Mb PDF

This item appears in the following Collection(s)