Habilitando el rendimiento paralelo y la portabilidad de las simulaciones de mecánica de sólidos a través de arquitecturas de CPU y GPU
Autores: Morgan, Nathaniel; Yenusah, Caleb; Diaz, Adrian; Dunning, Daniel; Moore, Jacob; Heilman, Erin; Lieberman, Evan; Walton, Steven; Brown, Sarah; Holladay, Daniel; Marki, Russell; Robey, Robert; Knezevic, Marko
Idioma: Inglés
Editor: MDPI
Año: 2024
Acceso abierto
Artículo científico
2024
Habilitando el rendimiento paralelo y la portabilidad de las simulaciones de mecánica de sólidos a través de arquitecturas de CPU y GPU
Categoría
Gestión y administración
Subcategoría
Gestión de la tecnología y la inovación
Palabras clave
Eficientemente
Mecánica de sólidos
Simulaciones
Arquitecturas de computadoras modernas
Biblioteca MATAR
Mejoras en el rendimiento
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 1
Citaciones: Sin citaciones
Simular eficientemente la mecánica de sólidos es vital en diversas aplicaciones de ingeniería. A medida que los modelos constitutivos se vuelven más complejos y las simulaciones aumentan en tamaño, aprovechar las capacidades de las arquitecturas informáticas modernas se ha vuelto esencial para lograr resultados oportunos. Este documento presenta avances en la ejecución de simulaciones paralelas de mecánica de sólidos en CPUs y GPUs de múltiples núcleos utilizando una implementación de código único. Esta portabilidad es posible gracias a la biblioteca de matrices y arreglos de C++ (MATAR), que se conecta con la biblioteca Kokkos de C++, permitiendo la selección de backends de paralelismo de grano fino (por ejemplo, CUDA, HIP, OpenMP, pthreads, etc.) en el momento de la compilación. MATAR simplifica la transición de Fortran a C++ y Kokkos, facilitando la modernización de códigos heredados de mecánica de sólidos. Aplicamos este enfoque para modernizar un conjunto de modelos constitutivos y demostrar mejoras sustanciales en el rendimiento a través de diferentes arquitecturas informáticas. Este documento incluye estudios comparativos de rendimiento utilizando CPUs de múltiples núcleos junto con GPUs de AMD y NVIDIA. Los resultados se presentan utilizando un modelo hipoelástico-plástico, un modelo de plasticidad cristalina y el modelo de material generalizado auto-consistente viscoplástico (VPSC-GMM). Los resultados subrayan el potencial de utilizar la biblioteca MATAR y arquitecturas informáticas modernas para acelerar las simulaciones de mecánica de sólidos.
Descripción
Simular eficientemente la mecánica de sólidos es vital en diversas aplicaciones de ingeniería. A medida que los modelos constitutivos se vuelven más complejos y las simulaciones aumentan en tamaño, aprovechar las capacidades de las arquitecturas informáticas modernas se ha vuelto esencial para lograr resultados oportunos. Este documento presenta avances en la ejecución de simulaciones paralelas de mecánica de sólidos en CPUs y GPUs de múltiples núcleos utilizando una implementación de código único. Esta portabilidad es posible gracias a la biblioteca de matrices y arreglos de C++ (MATAR), que se conecta con la biblioteca Kokkos de C++, permitiendo la selección de backends de paralelismo de grano fino (por ejemplo, CUDA, HIP, OpenMP, pthreads, etc.) en el momento de la compilación. MATAR simplifica la transición de Fortran a C++ y Kokkos, facilitando la modernización de códigos heredados de mecánica de sólidos. Aplicamos este enfoque para modernizar un conjunto de modelos constitutivos y demostrar mejoras sustanciales en el rendimiento a través de diferentes arquitecturas informáticas. Este documento incluye estudios comparativos de rendimiento utilizando CPUs de múltiples núcleos junto con GPUs de AMD y NVIDIA. Los resultados se presentan utilizando un modelo hipoelástico-plástico, un modelo de plasticidad cristalina y el modelo de material generalizado auto-consistente viscoplástico (VPSC-GMM). Los resultados subrayan el potencial de utilizar la biblioteca MATAR y arquitecturas informáticas modernas para acelerar las simulaciones de mecánica de sólidos.