[en] 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.

[es] 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.