Polyhedral Parallel Code Generation for CUDA

Sven Verdoolaege 1 Juan Carlos Juega 2 Albert Cohen 1 José Ignacio Gómez 2 Christian Tenllado 2 Francky Catthoor 3
1 Parkas - Parallélisme de Kahn Synchrone
CNRS - Centre National de la Recherche Scientifique : UMR 8548, Inria Paris-Rocquencourt, DI-ENS - Département d'informatique de l'École normale supérieure
Abstract : This paper addresses the compilation of a sequential program for parallel execution on a modern GPU. To this end, we present a novel source-to-source compiler called PPCG. PPCG singles out for its ability to accelerate computations from any static control loop nest, generating multiple CUDA kernels when necessary. We introduce a multilevel tiling strategy and a code generation scheme for the parallelization and locality optimization of imperfectly nested loops, managing memory and exposing concurrency according to the constraints of modern GPUs. We evaluate our algorithms and tool on the entire PolyBench suite.
Document type :
Journal articles
Liste complète des métadonnées

Contributor : Albert Cohen <>
Submitted on : Sunday, February 10, 2013 - 1:40:19 AM
Last modification on : Thursday, March 14, 2019 - 9:44:05 AM

Links full text




Sven Verdoolaege, Juan Carlos Juega, Albert Cohen, José Ignacio Gómez, Christian Tenllado, et al.. Polyhedral Parallel Code Generation for CUDA. ACM Transactions on Architecture and Code Optimization, Association for Computing Machinery, 2013, 9 (4), pp.art. 54:1-23. ⟨10.1145/2400682.2400713⟩. ⟨hal-00786677⟩



Record views