[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article

Enabling PoCL-based runtime frameworks on the HSA for OpenCL 2.0 support

Published: 01 November 2017 Publication History

Abstract

The heterogeneous system architecture (HSA), announced by the HSA Foundation, is an approach to integrate central processing unit (CPU) and graphics processing unit (GPU) architectures. The open computing language (OpenCL) is a programming framework that can help utilize heterogeneous architectures. The well-known OpenCL framework, currently in version 1.2, provides programming models for heterogeneous computing. The proposed specifications of OpenCL 2.0 can help utilize HSA features, such as shared virtual memory (SVM). In previous work, we helped enable Portable Computing Language (PoCL)-based OpenCL 1.2 runtime frameworks on the HSA. In this paper, we further extend the PoCL-based runtime on the HSA to support OpenCL 2.0 features. In addition, this is the first work, to our best knowledge, to support PoCL-based OpenCL 2.0 features on HSA. Compared with the widely used OpenCL 1.2, OpenCL 2.0 will support SVM, nested parallelism, pipes, and atomic operations. It can further support parallel design patterns such as tree searches, pointer-based programming and nested parallelism models. Note that PoCL is a widely used open source implementation of OpenCL. Our design flow can help academics to enable OpenCL 2.0 flow on the HSA and benefit further from advanced academic research. The experimental results indicate that our framework provides adequate features to support advanced research.

References

[1]
R. Shams, P. Sadeghi, R.A. Kennedy, R.I. Hartley, A survey of medical image registration on multicore and the GPU, IEEE Signal Process. Mag., 27 (2010) 50-60.
[2]
J.-S. Varr, B. Schmidt, S. Janot, M. Giraud, Manycore high-performance computing in bioinformatics, Adv. Genomic Sequence Anal. Pattern Discov., 7 (2011) 179.
[3]
Y. Wang, A. Malkawi, Y. Yi, T. Center, Implementing CFD (computational fluid dynamics) in Opencl for building simulation, 2011.
[4]
J. Ragan-Kelley, C. Barnes, A. Adams, S. Paris, F. Durand, S. Amarasinghe, Halide: a language and compiler for optimizing parallelism, locality, and recomputation in image processing pipelines, ACM, New York, NY, USA, 2013.
[5]
D. Sharlet, A. Kunze, S. Junkins, D. Joshi, Shevlin park: implementing C++ amp with Clang/LLVM and OpenCL, 2012.
[6]
OpenACC, (http://www.openacc.org/).
[7]
Aparapi, (https://code.google.com/p/aparapi/).
[8]
P. Rogers, A. Fellow, Heterogeneous system architecture overview, 2013.
[9]
A. Munshi, B. Gaster, T.G. Mattson, D. Ginsburg, OpenCL programming guide, Pearson Education, 2011.
[10]
Khronos, (https://www.khronos.org/).
[11]
C.-C. Yang, S.-C. Wang, C.-C. Chen, J.-K. Lee, The support of an experimental OpenCL compiler on HSA environments, The Steering Committee of The World Congress in Computer Science, Computer Engineering and Applied Computing (WorldComp), 2015.
[12]
Y.-T. Lin, J.-K. Lee, Vector data flow analysis for simd optimizations on OpenCL programs, Concurrency Computat., 28 (2016) 1629-1654.
[13]
M.-Y. Hung, P.-S. Chen, Y.-S. Hwang, R.D.-C. Ju, J.-K. Lee, Support of probabilistic pointer analysis in the ssa form, IEEE Trans. Parallel Distrib. Syst., 23 (2012) 2366-2379.
[14]
S.-C. Wang, M.-Y. Hung, J.-K. Lee, Y.-S. Hwang, R.D.-C. Ju, Pointer-based divergence analysis in the ssa form, 2013.
[15]
P. Jskelinen, C.S. de La Lama, E. Schnetter, K. Raiskila, J. Takala, H. Berg, Pocl: a performance-portable OpenCL implementation, Int. J. Parallel Program., 43 (2015) 752-785.
[16]
HSA runtime specification 1.0, (http://www.hsafoundation.com/standards/).
[17]
AMD OpenCL Accelerated Parallel Processing (APP), (http://developer.amd.com/tools-and-sdks/).
[18]
Seven OpenCL benchmarks for heterogeneous system architecture evaluation, (http://mtkntu.ntu.edu.tw/upload/edmfs150404031052772.pdf).
[19]
C. Lattner, V. Adve, Llvm: a compilation framework for lifelong program analysis & transformation, IEEE Computer Society, Washington, DC, USA, 2004.
[20]
HSAFoundation CLOC, (https://github.com/HSAFoundation/CLOC).
[21]
HSA Programmer Reference Manual Specification 1.0, (http://www.hsafoundation.com/standards/).
[22]
Y. Sun, X. Gong, A.K. Ziabari, L. Yu, X. Li, S. Mukherjee, C. Mccardwell, A. Villegas, D. Kaeli, Hetero-mark, a benchmark suite for CPU-GPU collaborative computing, 2016.
[23]
HSA support implementation status as of 2016-05-17, (http://portablecl.org/docs/html/hsa_status.html).
[24]
Khronos OpenCL Resources, (https://www.khronos.org/opencl/resources).
[25]
MCSDK HPC 3.x OpenCL, (http://processors.wiki.ti.com/index.php/OpenCL).
[26]
Beignet OpenCL Library for Intel Ivy Bridge and newer GPUs, (https://cgit.freedesktop.org/beignet/).
[27]
Clover Git: OpenCL 1.1 Software Implementation, (https://people.freedesktop.org/~steckdenis/clover/index.html).
[28]
FreeOCL, (http://www.zuzuf.net/FreeOCL/).
[29]
S. Mukherjee, Y. Sun, P. Blinzer, A.K. Ziabari, D. Kaeli, A comprehensive performance analysis of HSA and OpenCL 2.0, 2016.

Cited By

View all
  • (2024)The Rewriting of DataRaceBench Benchmark for OpenCL Program ValidationsWorkshop Proceedings of the 53rd International Conference on Parallel Processing10.1145/3677333.3678148(15-22)Online publication date: 12-Aug-2024
  • (2018)Graph Support and Scheduling for OpenCL on Heterogeneous Multi-core SystemsWorkshop Proceedings of the 47th International Conference on Parallel Processing10.1145/3229710.3229724(1-7)Online publication date: 13-Aug-2018
  • (2018)Scheduling Methods to Optimize Dependent Programs for GPU ArchitectureWorkshop Proceedings of the 47th International Conference on Parallel Processing10.1145/3229710.3229723(1-8)Online publication date: 13-Aug-2018
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Journal of Systems Architecture: the EUROMICRO Journal
Journal of Systems Architecture: the EUROMICRO Journal  Volume 81, Issue C
November 2017
121 pages

Publisher

Elsevier North-Holland, Inc.

United States

Publication History

Published: 01 November 2017

Author Tags

  1. HSA
  2. OpenCL
  3. PoCL
  4. Runtime

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 25 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)The Rewriting of DataRaceBench Benchmark for OpenCL Program ValidationsWorkshop Proceedings of the 53rd International Conference on Parallel Processing10.1145/3677333.3678148(15-22)Online publication date: 12-Aug-2024
  • (2018)Graph Support and Scheduling for OpenCL on Heterogeneous Multi-core SystemsWorkshop Proceedings of the 47th International Conference on Parallel Processing10.1145/3229710.3229724(1-7)Online publication date: 13-Aug-2018
  • (2018)Scheduling Methods to Optimize Dependent Programs for GPU ArchitectureWorkshop Proceedings of the 47th International Conference on Parallel Processing10.1145/3229710.3229723(1-8)Online publication date: 13-Aug-2018
  • (2018)Enable the Flow for GPGPU-Sim Simulators with Fixed-Point InstructionsWorkshop Proceedings of the 47th International Conference on Parallel Processing10.1145/3229710.3229722(1-5)Online publication date: 13-Aug-2018

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media