Skip to main content
  • 222 Accesses

Abstract

Open Computing Language (OpenCL), which is generally called a heterogeneous computing system, is an open programming framework of parallel computing for a calculation system comprising different computers (e.g., CPU, GPU, DSP, FPGA). Although CUDA only applies to NVIDIA’s GPU, OpenCL can drive the GPUs of different vendors (AMD, NVIDIA, Intel, Qualcomm), as well as the CPU or another computer, via the same OpenCL-written source code. Thus, OpenCL is more portable than CUDA. In this chapter, OpenCL, as well as the strategy for constructing a calculation environment, is briefly introduced employing a source code example for calculating a computer-generated hologram (CGH). Based on the contents of this chapter, holography calculations employing OpenCL can be attempted. Readers who wish to improve their OpenCL coding skills, programming guides that are published by chip vendors, etc., may be consulted.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 149.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 199.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Official OpenCL website of khronos group https://www.khronos.org/opencl/ Cited 30 Oct. 2019.

  2. Khonos group, The OpenCL Extension Specification https://www.khronos.org/registry/OpenCL/specs/2.2/html/OpenCL_Ext.html. Cited 30 Oct. 2019

  3. Khronos’s github repository for OpenCL C++ bindings https://github.khronos.org/OpenCL-CLHPP/ Cited 30 Oct. 2019

  4. A. Klöckener, PyOpenCL https://mathema.tician.de/software/pyopencl/. Cited 30 Oct. 2019

  5. STREAM High Peformance Computing, OpenCL Wrappers https://streamhpc.com/knowledge/for-developers/opencl-wrappers/. Cited 30 Oct. 2019

  6. NVIDIA, OpenCL Programming Guide for the CUDA Architecture Ver 4.2 http://developer.download.nvidia.com/compute/DevZone/docs/html/OpenCL/doc/OpenCL_Programming_Guide.pdf. Cited 30 Oct. 2019

  7. Intel, Intel FPGA SDK for OpenCL Pro Edition Programming Guide 19.3 https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/opencl-sdk/aocl_programming_guide.pdf. Cited 30 Oct. 2019

  8. Qualcomm, Snapdragon Mobile Platform OpenCL General Programming and Optimization, Nov. 3, 2017 https://developer.qualcomm.com/software/adreno-gpu-sdk/tools. Cited 30 Oct. 2019

  9. Shimobaba, T., Ito. T., Masuda, N., Ichihashi. Y., Takada, N.: Fast calculation of computer-generated-hologram on AMD HD5000 series GPU and OpenCL, Opt. Express 18, 10, 9955–9960 (2010).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Takashi Nishitsuji .

Editor information

Editors and Affiliations

1 Electronic supplementary material

Below is the link to the electronic supplementary material.

Supplementary material 1 (zip 2 KB)

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Nishitsuji, T. (2023). Basics of OpenCL. In: Shimobaba, T., Ito, T. (eds) Hardware Acceleration of Computational Holography. Springer, Singapore. https://doi.org/10.1007/978-981-99-1938-3_6

Download citation

  • DOI: https://doi.org/10.1007/978-981-99-1938-3_6

  • Published:

  • Publisher Name: Springer, Singapore

  • Print ISBN: 978-981-99-1937-6

  • Online ISBN: 978-981-99-1938-3

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics