En la última década, el cómputo científico en GPU ha surgido como una alternativa efectiva para la computación de alto rendimiento, ofreciendo mejoras notables en rendimiento, costos y consumo de energía en comparación con clústeres convencionales. Esta tesis se enfoca en desarrollar y adaptar estrategias de paralelización en GPU para resolver problemas complejos en ingeniería, específicamente en dinámica de fluidos computacional. Se presenta una librería en GPU que incluye rutinas para resolver sistemas lineales dispersos, métodos para transporte de sedimentos, solución de flujo incompresible, tratamiento de geometrías complejas, entre otros. Estas implementaciones son validadas utilizando soluciones analíticas y benchmarks para asegurar su precisión y eficacia.
Se demuestra que el rendimiento de las implementaciones en GPU es comparable al uso de múltiples CPU en paralelo, permitiendo abordar problemas de gran escala con eficiencia y escalabilidad. Se destacan casos de estudio que incluyen advección difusión, difusión no lineal y problemas advectivo-dominantes, mostrando la versatilidad y eficacia de las soluciones en GPU.
Un logro significativo es la resolución exitosa de un desafiante problema tridimensional de erosión localizada utilizando exclusivamente una GPU, con un tiempo de cálculo notablemente reducido en comparación con sistemas CPU convencionales. Esta herramienta proporciona una solución rentable para problemas computacionalmente intensivos y ofrece una perspectiva mejorada de los fenómenos físicos, contribuyendo al avance del conocimiento en ingeniería y disciplinas relacionadas.
In the last decade, scientific computing on GPUs has emerged as an effective alternative for high-performance computing, offering significant improvements in performance, costs, and energy consumption compared to conventional clusters. This thesis focuses on developing and adapting parallelization strategies on GPUs to solve complex engineering problems, specifically in computational fluid dynamics. A GPU library is presented, encompassing routines for solving sparse linear systems, sediment transport methods, incompressible flow solutions, treatment of complex geometries, among others. These implementations are validated using analytical solutions and benchmarks to ensure their accuracy and efficacy.
It is demonstrated that the performance of GPU implementations is comparable to using multiple CPUs in parallel, allowing for the efficient and scalable resolution of large-scale problems. Case studies are highlighted, including advection diffusion, nonlinear diffusion, and advective-dominant problems, showcasing the versatility and effectiveness of GPU solutions.
A significant achievement is the successful resolution of a challenging three-dimensional localized erosion problem using exclusively a GPU, with significantly reduced computation time compared to conventional CPU systems. This tool provides a cost-effective solution for computationally intensive problems and offers an enhanced perspective on physical phenomena, contributing to the advancement of knowledge in engineering and related disciplines.