Heterogeneous computing architectures offer the opportunity to exploit the extremely high performances of systems which are composed of different subsystems, assuring at the same time low energy consumption and accessible costs. In order to benefit from all these advantages, each computing unit should be programmed by using a specific model with properly optimized code to process its workload at best. In the path of building a source-to-source transformer tool to automate the translation of code for heterogeneous architectures made by a combination of several CPUs and GPUs, a series of translator building blocks on top of ROSE compiler infrastructure have been built. In this work is presented the module that performs unimodular loop transformations and that provides output for GPUs. Transformers can be used in the tool either manually according to user preference, or automatically driven by knowledge based techniques, e. g. algorithmic concept recognition. A chain of code transformations can produce parallel code, relieving accelerators and multicore programming hardness.

Unimodular Loop Transformations with Source-to-Source Translation for GPUs

CANTIELLO, Pasquale;DI MARTINO, Beniamino;
2013

Abstract

Heterogeneous computing architectures offer the opportunity to exploit the extremely high performances of systems which are composed of different subsystems, assuring at the same time low energy consumption and accessible costs. In order to benefit from all these advantages, each computing unit should be programmed by using a specific model with properly optimized code to process its workload at best. In the path of building a source-to-source transformer tool to automate the translation of code for heterogeneous architectures made by a combination of several CPUs and GPUs, a series of translator building blocks on top of ROSE compiler infrastructure have been built. In this work is presented the module that performs unimodular loop transformations and that provides output for GPUs. Transformers can be used in the tool either manually according to user preference, or automatically driven by knowledge based techniques, e. g. algorithmic concept recognition. A chain of code transformations can produce parallel code, relieving accelerators and multicore programming hardness.
2013
Cantiello, Pasquale; DI MARTINO, Beniamino; Francesco, Piccolo
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11591/331087
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 0
  • ???jsp.display-item.citation.isi??? ND
social impact