Una evaluación de la paralelización basada en directivas en la GPU utilizando un benchmark Parboil
Autores: uki, Jovan; Mii, Marko
Idioma: Inglés
Editor: MDPI
Año: 2023
Acceso abierto
Artículo científico
2023
Una evaluación de la paralelización basada en directivas en la GPU utilizando un benchmark Parboil
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Arquitecturas heterogéneas
Modelos de programación
OpenACC
GPUs
Paralelismo
Rendimiento
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 32
Citaciones: Sin citaciones
Arquitecturas heterogéneas que consisten en unidades de procesamiento central y unidades de procesamiento gráfico son comunes en los sistemas informáticos contemporáneos. Por esa razón, se han desarrollado varios modelos de programación para explotar el paralelismo disponible, como CUDA y OpenCL de bajo nivel, y OpenMP y OpenACC basados en directivas. En este documento exploramos y evaluamos la aplicabilidad de OpenACC, que es un modelo de programación basado en directivas para GPUs. Nos enfocamos tanto en el rendimiento como en el esfuerzo de programación necesario para paralelizar los algoritmos secuenciales existentes para la ejecución en GPU. La evaluación se basa en el conjunto de pruebas Parboil, que consta de 11 miniaplicaciones diferentes de diferentes dominios científicos, tanto de cómputo como de memoria. Los resultados muestran que las miniaplicaciones paralelizadas con OpenACC pueden lograr aceleraciones significativas sobre las implementaciones secuenciales y, en algunos casos, incluso superar las implementaciones de CUDA. Además, hay menos esfuerzo de programación en comparación con modelos de bajo nivel, como CUDA y OpenCL, porque la mayoría del trabajo se deja al compilador y, en general, el código necesita menos reestructuración.
Descripción
Arquitecturas heterogéneas que consisten en unidades de procesamiento central y unidades de procesamiento gráfico son comunes en los sistemas informáticos contemporáneos. Por esa razón, se han desarrollado varios modelos de programación para explotar el paralelismo disponible, como CUDA y OpenCL de bajo nivel, y OpenMP y OpenACC basados en directivas. En este documento exploramos y evaluamos la aplicabilidad de OpenACC, que es un modelo de programación basado en directivas para GPUs. Nos enfocamos tanto en el rendimiento como en el esfuerzo de programación necesario para paralelizar los algoritmos secuenciales existentes para la ejecución en GPU. La evaluación se basa en el conjunto de pruebas Parboil, que consta de 11 miniaplicaciones diferentes de diferentes dominios científicos, tanto de cómputo como de memoria. Los resultados muestran que las miniaplicaciones paralelizadas con OpenACC pueden lograr aceleraciones significativas sobre las implementaciones secuenciales y, en algunos casos, incluso superar las implementaciones de CUDA. Además, hay menos esfuerzo de programación en comparación con modelos de bajo nivel, como CUDA y OpenCL, porque la mayoría del trabajo se deja al compilador y, en general, el código necesita menos reestructuración.