An Introduction to GPU Computing for Numerical Simulation Mantas Ruiz, José Miguel de la Asunción, Marc Castro, Manuel Jesús Graphics Processing Units (GPUs) have proven to be a powerful accelerator for intensive numerical computations. The massive parallelism of these platforms makes it possible to achieve dramatic runtime reductions over a standard CPU in many numerical applications at a very affordable price. Moreover, several programming environments, such as NVIDIA’s Compute Unified Device Architecture (CUDA) have shown a high effectiveness in the mapping of numerical algorithms to GPUs. These notes provide an introduction to the development of CUDA programs for numerical simulation using CUDA C/C++, the most popular GPU programming toolkit. An overview of CUDA programming will be illustrated through the CUDA implementation of simple numerical examples for PDEs. These CUDA implementations will be studied and run on modern GPU-based platforms. Las unidades de procesamiento gráfico (GPU) han demostrado ser un potente acelerador para cálculos numéricos intensivos. El paralelismo masivo de estas plataformas permite conseguir drásticas reducciones del tiempo de ejecución con respecto a una CPU estándar en muchas aplicaciones numéricas a un precio muy asequible. Además, varios entornos de programación, como la plataforma Compute Unified Device Architecture (CUDA) de NVIDIA, han demostrado una gran eficacia en la adaptación de algoritmos numéricos a GPU. Estas notas proporcionan una introducción al desarrollo de programas CUDA para simulación numérica utilizando CUDA C/C++, el kit de herramientas de programación para GPU más popular. Se ilustrará una visión general de la programación en CUDA a través de la implementación en CUDA de sencillos ejemplos numéricos para resolver EDPs. Estas implementaciones CUDA se estudiarán y ejecutarán en modernas plataformas basadas en GPU. 2024-02-06T09:30:48Z 2024-02-06T09:30:48Z 2016-07 book part Published version: SEMA SIMAI Springer Series book series (SEMA SIMAI,volume 9) pp. 219-251 https://hdl.handle.net/10481/88352 10.1007/978-3-319-32146-2_5 eng open access Springer