Programming accelerators such as GPUs with low-level APIs and languages such as OpenCL and CUDA is difficult, error prone, and not performance-portable. Automatic parallelization and domain specific languages (DSLs) have been proposed to hide this complexity and to regain some performance portability. We present PENCIL, a rigorously-defined subset of GNU C99 with specific programming rules and few extensions. Adherence to this subset and the use of these extensions enable compilers to exploit parallelism and to better optimize code when targeting accelerators. We intend PENCIL both as a portable implementation language to facilitate the acceleration of applications,and as a tractable target language for DSL compilers
As the single-core performance of CPUs plateaus and becomes constrained by power consumption, more a...
Graphics processing units (GPUs) are powerful devices capable of rapid parallel computation. GPU pro...
Computer programming should be expressing the complicated in easily understandable parts. General la...
Programming accelerators such as GPUs with low-level APIs and languages such as OpenCL and CUDA is...
International audienceWe motivate the design and implementation of a platform-neutral compute interm...
International audienceProgramming accelerators such as GPUs with low-level APIs and languages like O...
© 2015 IEEE.Programming accelerators such as GPUs withlow-level APIs and languages such as OpenCL an...
International audienceWe present VOBLA, a domain-specific language designed for programming linear a...
GPUs and other accelerators are popular devices for accelerating compute-intensive, parallelizable a...
GPUs and other accelerators are popular devices for accelerating compute-intensive, parallelizable a...
The need to speed-up computing has introduced the interest to explore parallelism in algorithms and ...
Computers today are becoming more and more parallel. General purpose processors (CPUs) have multipl...
Developing high-performance software is a difficult task that requires the use of low-level, archite...
It has been widely shown that GPGPU architectures offer large performance gains compared to their tr...
The relentless demands for improvements in the compute throughput, and energy efficiency have driven...
As the single-core performance of CPUs plateaus and becomes constrained by power consumption, more a...
Graphics processing units (GPUs) are powerful devices capable of rapid parallel computation. GPU pro...
Computer programming should be expressing the complicated in easily understandable parts. General la...
Programming accelerators such as GPUs with low-level APIs and languages such as OpenCL and CUDA is...
International audienceWe motivate the design and implementation of a platform-neutral compute interm...
International audienceProgramming accelerators such as GPUs with low-level APIs and languages like O...
© 2015 IEEE.Programming accelerators such as GPUs withlow-level APIs and languages such as OpenCL an...
International audienceWe present VOBLA, a domain-specific language designed for programming linear a...
GPUs and other accelerators are popular devices for accelerating compute-intensive, parallelizable a...
GPUs and other accelerators are popular devices for accelerating compute-intensive, parallelizable a...
The need to speed-up computing has introduced the interest to explore parallelism in algorithms and ...
Computers today are becoming more and more parallel. General purpose processors (CPUs) have multipl...
Developing high-performance software is a difficult task that requires the use of low-level, archite...
It has been widely shown that GPGPU architectures offer large performance gains compared to their tr...
The relentless demands for improvements in the compute throughput, and energy efficiency have driven...
As the single-core performance of CPUs plateaus and becomes constrained by power consumption, more a...
Graphics processing units (GPUs) are powerful devices capable of rapid parallel computation. GPU pro...
Computer programming should be expressing the complicated in easily understandable parts. General la...