Improving Performance of OpenCL on CPUs

Ralf Karrenberg, Sebastian Hack
Saarland University, Germany
Compiler Construction, Lecture Notes in Computer Science, Volume 7210/2012, 1-20, 2012


   title={Improving Performance of OpenCL on CPUs},

   author={Karrenberg, R. and Hack, S.},

   booktitle={Compiler Construction},





Download Download (PDF)   View View   Source Source   



Data-parallel languages like OpenCL and CUDA are an important means to exploit the computational power of today’s computing devices. In this paper, we deal with two aspects of implementing such languages on CPUs: First, we present a static analysis and an accompanying optimization to exclude code regions from control-flow to data-flow conversion, which is the commonly used technique to leverage vector instruction sets. Second, we present a novel technique to implement barrier synchronization. We evaluate our techniques in a custom OpenCL CPU driver which is compared to itself in different configurations and to proprietary implementations by AMD and Intel. We achieve an average speedup factor of 1.21 compared to naive vectorization and additional factors of 1.15-2.09 for suited kernels due to the optimizations enabled by our analysis. Our best configuration achieves an average speedup factor of 2.5 against the Intel driver.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: