Currently, the majority of devices is heterogeneous and comprises at least a multi-core CPU and a GPU. Exploiting these modules requires programmers to a) assign parallel activities to the different hardware resources, and b) code each activity through target-specific approaches x(e.g., multi-core CPUs and GPUs). Current frameworks do not provide high-productivity while guaranteeing performance comparable to low-level ones. Also, they often lack the easy exploration of possible task assignments to the heterogeneous resources, mainly because the assignment needs to be done in advance and the targets have software incompatibilities. This paper introduces task-DAGs (Directed Acyclic Graph) concepts into PHAST, a single-source data-parallel library that supports multi-core CPUs and NVIDIA GPUs. The resulting framework allows postponing the task-to-target assignment to the testing or runtime phase. In fact, each task is coded in a target-agnostic fashion and can be automatically optimized for a specific platform. The consequent productivity effects are shown for a computer-vision benchmark comparing to a SYCL implementation and performing an automatic task assignment for maximum resources utilization.
Peccerillo, B., Bartolini, S. (2019). Single-source library for enabling seamless assignment of data-parallel task-DAGs to CPUs and GPUs in heterogeneous architectures. In ACM International Conference Proceeding Series (pp.1-4). Association for Computing Machinery [10.1145/3310411.3310416].
Single-source library for enabling seamless assignment of data-parallel task-DAGs to CPUs and GPUs in heterogeneous architectures
Peccerillo, B.
;Bartolini, S.
2019-01-01
Abstract
Currently, the majority of devices is heterogeneous and comprises at least a multi-core CPU and a GPU. Exploiting these modules requires programmers to a) assign parallel activities to the different hardware resources, and b) code each activity through target-specific approaches x(e.g., multi-core CPUs and GPUs). Current frameworks do not provide high-productivity while guaranteeing performance comparable to low-level ones. Also, they often lack the easy exploration of possible task assignments to the heterogeneous resources, mainly because the assignment needs to be done in advance and the targets have software incompatibilities. This paper introduces task-DAGs (Directed Acyclic Graph) concepts into PHAST, a single-source data-parallel library that supports multi-core CPUs and NVIDIA GPUs. The resulting framework allows postponing the task-to-target assignment to the testing or runtime phase. In fact, each task is coded in a target-agnostic fashion and can be automatically optimized for a specific platform. The consequent productivity effects are shown for a computer-vision benchmark comparing to a SYCL implementation and performing an automatic task assignment for maximum resources utilization.File | Dimensione | Formato | |
---|---|---|---|
3310411.3310416.pdf
non disponibili
Descrizione: Articolo principale
Tipologia:
PDF editoriale
Licenza:
NON PUBBLICO - Accesso privato/ristretto
Dimensione
519.08 kB
Formato
Adobe PDF
|
519.08 kB | Adobe PDF | Visualizza/Apri Richiedi una copia |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/11365/1094526