GPU computing con Python: rendimiento, eficiencia energética y usabilidad
Autores: Holm, Håvard H.; Brodtkorb, André R.; Sætra, Martin L.
Idioma: Inglés
Editor: MDPI
Año: 2020
Acceso abierto
Artículo científico
2020
GPU computing con Python: rendimiento, eficiencia energética y usabilidad
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería de Sistemas
Palabras clave
Rendimiento
Eficiencia energética
Facilidad de uso
Python
GPU
CUDA
OpenCL
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 19
Citaciones: Sin citaciones
En este trabajo, examinamos el rendimiento, la eficiencia energética y la usabilidad al usar Python para desarrollar códigos de computación de alto rendimiento que se ejecutan en la unidad de procesamiento gráfico (GPU). Investigamos la portabilidad del rendimiento y la eficiencia energética entre la Arquitectura de Dispositivos Unificados de Cómputo (CUDA) y el Lenguaje de Cómputo Abierto (OpenCL); entre generaciones de GPU; y entre GPUs de gama baja, media y alta. Nuestros hallazgos mostraron que el impacto de usar Python es insignificante para nuestras aplicaciones, y además, las aplicaciones CUDA y OpenCL ajustadas a un nivel equivalente pueden en muchos casos obtener el mismo rendimiento computacional. Nuestros experimentos mostraron que el rendimiento en general varía más entre diferentes GPUs que entre el uso de CUDA y OpenCL. También demostramos que ajustar para el rendimiento es una buena forma de ajustar para la eficiencia energética, pero que se necesita un ajuste específico para obtener una eficiencia energética óptima.
Descripción
En este trabajo, examinamos el rendimiento, la eficiencia energética y la usabilidad al usar Python para desarrollar códigos de computación de alto rendimiento que se ejecutan en la unidad de procesamiento gráfico (GPU). Investigamos la portabilidad del rendimiento y la eficiencia energética entre la Arquitectura de Dispositivos Unificados de Cómputo (CUDA) y el Lenguaje de Cómputo Abierto (OpenCL); entre generaciones de GPU; y entre GPUs de gama baja, media y alta. Nuestros hallazgos mostraron que el impacto de usar Python es insignificante para nuestras aplicaciones, y además, las aplicaciones CUDA y OpenCL ajustadas a un nivel equivalente pueden en muchos casos obtener el mismo rendimiento computacional. Nuestros experimentos mostraron que el rendimiento en general varía más entre diferentes GPUs que entre el uso de CUDA y OpenCL. También demostramos que ajustar para el rendimiento es una buena forma de ajustar para la eficiencia energética, pero que se necesita un ajuste específico para obtener una eficiencia energética óptima.