Plantilla parallel_for heterogénea implementada en INTEL ONEAPI
Loading...
Identifiers
Publication date
Reading date
Authors
Domínguez Berdún, Juan Pedro
Collaborators
Advisors
Tutors
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Share
Center
Department/Institute
Abstract
Este trabajo consiste en el desarrollo e implementación de un template de alto
nivel, basado en la librería oneTBB de Intel, que permita la ejecución de bucles
paralelos de forma heterogénea (Heterogeneous Parallel For). El template se apoya
en un planificador llamado LogFit que permite el reparto automático de la carga
entre los cores de CPU y la GPU. Se proporciona una implementación basada en
oneTBB 2020 que usa las clases Flow Graph con soporte de nodos OpenCL, y
otra basada en oneAPI/SYCL y oneTBB 2021 que permite mantener en el mismo
fuente el código de GPU y el de CPU. Este nuevo template permite la ejecución de
forma fácil y eficiente de bucles paralelos sobre plataformas heterogéneas CPU GPU, simplemente proporcionándole el rango de iteraciones del bucle, la función
a ejecutar en CPU (en caso de ser este el dispositivo elegido para ejecutar un
subrango de las mismas) y el kernel (en lenguaje OpenCL o en SYCL) a ejecutar
en la GPU (en caso de ser esta la elegida).
Además de la implementación del template y la comprobación de su correcto
funcionamiento, se ha realizado una comparación de rendimientos entre distintas
implementaciones de dos kernels computacionales. Además del rendimiento se ha
evaluado tanto la sobrecarga de la nueva abstracción y la reducción del esfuerzo
de programación.
Description
Bibliographic citation
Collections
Endorsement
Review
Supplemented By
Referenced by
Creative Commons license
Except where otherwised noted, this item's license is described as Attribution-NonCommercial-NoDerivatives 4.0 Internacional










