Explorando numba y cupy para transporte de radiación de Monte Carlo acelerado por GPU
Autores: Askar, Tair; Yergaliyev, Argyn; Shukirgaliyev, Bekdaulet; Abdikamalov, Ernazar
Idioma: Inglés
Editor: MDPI
Año: 2024
Acceso abierto
Artículo científico
2024
Explorando numba y cupy para transporte de radiación de Monte Carlo acelerado por GPU
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería de Sistemas
Palabras clave
Rendimiento
Plataformas de programación de GPU
Cálculos de transporte de radiación Monte Carlo
Numba
CuPy
CUDA C.
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 25
Citaciones: Sin citaciones
Este documento examina el rendimiento de dos plataformas populares de programación de GPU, Numba y CuPy, para cálculos de transporte de radiación de Monte Carlo. Realizamos pruebas que involucran generación de números aleatorios y transporte de radiación de Monte Carlo unidimensional en geometría de plano paralelo en tres tarjetas GPU: NVIDIA Tesla A100, Tesla V100 y GeForce RTX3080. Comparamos Numba y CuPy entre sí y nuestra implementación en CUDA C. Los resultados muestran que CUDA C, como se esperaba, tiene el rendimiento más rápido y la mayor eficiencia energética, mientras que Numba ofrece un rendimiento comparable cuando el movimiento de datos es mínimo. Mientras que CuPy ofrece facilidad de implementación, es más lento para tareas intensivas en cálculos.
Descripción
Este documento examina el rendimiento de dos plataformas populares de programación de GPU, Numba y CuPy, para cálculos de transporte de radiación de Monte Carlo. Realizamos pruebas que involucran generación de números aleatorios y transporte de radiación de Monte Carlo unidimensional en geometría de plano paralelo en tres tarjetas GPU: NVIDIA Tesla A100, Tesla V100 y GeForce RTX3080. Comparamos Numba y CuPy entre sí y nuestra implementación en CUDA C. Los resultados muestran que CUDA C, como se esperaba, tiene el rendimiento más rápido y la mayor eficiencia energética, mientras que Numba ofrece un rendimiento comparable cuando el movimiento de datos es mínimo. Mientras que CuPy ofrece facilidad de implementación, es más lento para tareas intensivas en cálculos.