GLOpenCL: OpenCL support on hardware- and software-managed cache multicores
Ημερομηνία
2011Λέξη-κλειδί
Επιτομή
OpenCL is an industry supported standard for writing programs that execute on multicore platforms as well as on accelerators, such as GPUs or the SPEs of the Cell B.E. In this paper we introduce GLOpenCL, a unified development framework which supports OpenCL on both homogeneous, shared memory, as well as on heterogeneous, distributed memory multicores. The framework consists of a compiler, based on the LLVM compiler infrastructure, and a run-time library, sharing the same basic architecture across all target platforms. The compiler recognizes OpenCL constructs, performs source-to-source code transformations targeting both efficiency and semantic correctness, and adds calls to the run-time library. The latter of fers functionality for work creation, management and execution, as well as for data transfers. We evaluate our framework using benchmarks from the distributions of OpenCL implementations by hardware vendors. We find that our generic system performs comparably or better than customized, platform-specific vendor distributions. OpenCL is designed and marketed as a write-once run-anywhere software development framework. However, the standard leaves enough room for target platform specific optimizations. Our experimentation with different, customized implementations of kernels reveals that optimized, hardware mapped implementations are both possible and necessary in the context of OpenCL - especially on non-conventional multicores - if performance is considered a higher priority than programmability. Copyright 2011 ACM.
Collections
Related items
Showing items related by title, author, creator and subject.
-
Implementation and performance comparison of the motion compensation kernel of the AVS video decoder on FPGA, GPU and multicore processors
Owaida, M.; Bellas, N.; Antonopoulos, C. D.; Daloukas, K.; Antoniadis, C.; Krommydas, K.; Tsoumblekas, G. (2011)Next generation video standards have strict and increasing performance demands due to real-time requirements and the trend towards higher frame resolutions and bit rates. Leveraging the advantages of reconfigurable logic ... -
Implementation of a wide-angle lens distortion correction algorithm on the cell broadband engine
Daloukas, K.; Antonopoulos, C. D.; Bellas, N. (2009)Wide-angle lenses are often used in scientific or virtual reality applications to enlarge the field of view of a conventional camera. Wide-angle lens distortion correction is an image warping application which transforms ... -
Fisheye lens distortion correction on multicore and hardware accelerator platforms
Daloukas, K.; Antonopoulos, C. D.; Bellas, N.; Chai, S. M. (2010)Wide-angle (fisheye) lenses are often used in virtual reality and computer vision applications to widen the field of view of conventional cameras. Those lenses, however, distort images. For most real-world applications the ...