Automatic Code Generation for SIMD Hardware Accelerators

Autor: Guelton, Serge, Irigoin, François, Keryell, Ronan
Přispěvatelé: HPCAS, Département informatique (INFO), Université européenne de Bretagne - European University of Brittany (UEB)-Télécom Bretagne-Institut Mines-Télécom [Paris] (IMT)-Université européenne de Bretagne - European University of Brittany (UEB)-Télécom Bretagne-Institut Mines-Télécom [Paris] (IMT), Centre de Recherche en Informatique (CRI), MINES ParisTech - École nationale supérieure des mines de Paris, Université Paris sciences et lettres (PSL)-Université Paris sciences et lettres (PSL), HPC PROJECT, HPC Project, Laboratoire Informatique et Télécommunications (LIT), Ecole Nationale Supérieure des Télécommunications de Bretagne, Silkan, silkan
Jazyk: angličtina
Rok vydání: 2010
Předmět:
Popis: SIMD hardware accelerators o er an alternative to manycores when energy consumption and performance are critical. For scienti c computing, GPGPUs are used in many computers of the top-500. But embedded processors also use accelerators. However such heterogeneous platforms trade ease of developments for performance: The application code and the data must be split between the host and the accelerator, synchronizations and communications between host and accelerator must be added, and accelerator hardware constraints must be taken into account by the programmer. To ease application development, we present an algorithm to automatically externalize the execution of a parallel loop using a synchronous master/slave protocol. The source-to-source transformation process is incrementally consistent and the transformed code can be executed at any step of the transformation algorithm, which make application and compiler debugging easier and possible without the target hardware. This article details the source-to-source parallel loop externalization algorithm and the new elementary program transformations which are used. Unlike previous work based on annotations or polyhedral model, it relies on interprocedural array region analysis, which embraces more situations than the polyhedral model while still not relying on user input. It has been implemented in the PIPS framework and its results are given at each transformation step for an image processing example.
Databáze: OpenAIRE