Table of Contents
openCL
Fedora 23
OpenCL on all systems.
Example Intel
Intel Integrated Graphics
Beignet 1.2 (OpenCL 1.2, OpenCL C 1.2)
Results on IvyBridge
- Excerpt of clinfo
Platform Name Intel Gen OCL Driver Platform Vendor Intel Platform Version OpenCL 1.2 beignet 1.1.1 (git-2eea2c9) Platform Profile FULL_PROFILE Platform Extensions cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_spir cl_khr_icd Platform Extensions function suffix Intel
- Result of clpeak
Platform: Intel Gen OCL Driver Device: Intel(R) HD Graphics IvyBridge GT1 Driver version : 1.1.1 (Linux x64) Compute units : 6 Clock frequency : 1000 MHz Global memory bandwidth (GBPS) float : 13.44 float2 : 12.47 float4 : 11.75 float8 : h11.81 float16 : 7.29 Single-precision compute (GFLOPS) float : 24.16 float2 : 24.06 float4 : 24.05 float8 : 24.03 float16 : 23.94 No double precision support! Skipped Transfer bandwidth (GBPS) enqueueWriteBuffer : 9.16 enqueueReadBuffer : 5.96 enqueueMapBuffer(for read) : 346368.34 memcpy from mapped ptr : 5.98 enqueueUnmap(after write) : 1789569.62 memcpy to mapped ptr : 5.99 Kernel launch latency : 17.03 us Platform: Portable Computing Language Device: pthread-Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz Driver version : 0.12 (Linux x64) Compute units : 4 Clock frequency : 3600 MHz Global memory bandwidth (GBPS) float : 13.15 float2 : 18.80 float4 : 17.79 float8 : 16.90 float16 : 17.95 Single-precision compute (GFLOPS) float : 10.41 float2 : 3.55 float4 : 13.39 float8 : 26.40 float16 : 44.52 Transfer bandwidth (GBPS) enqueueWriteBuffer : 9.58 enqueueReadBuffer : 5.99 enqueueMapBuffer(for read) : 46281.97 memcpy from mapped ptr : 6.16 enqueueUnmap(after write) : 82595.53 memcpy to mapped ptr : 6.15 Kernel launch latency : 24.81 us
Ubuntu 12.04.5
By default NO OpenCL!
With AMD or Nvidia graphic drivers installed there is some OpenCL support available, but you have to use some tricks to get it almost working. Nvidia
Only installing the graphic driver nvidia-current (minimum necessary) or nvidia-experimental-310 there are still parts missing for OpenCL support.
You have to install CUDA (best 5.0) to get all libs, headers and tools you need, but you will always _only_ get OpenCL 1.1.
Device OpenCL C version: OpenCL C 1.1
Driver version: 310.14
Profile: FULL_PROFILE
Version: OpenCL 1.1 CUDA
Stuff, Examples and Tutorials
Problems
Every ICD Loader can call any ICD (Installable Client Driver). The features (available version) provided to the Application are specified by the ICD Loader.
- Intel ICD Loader support OpenCL 1.2
Intel ICD support OpenCL 1.1 and some functions of OpenCL 1.2
Can run on CPU and/or GPU, only works with (Sandy-)Ivy-Bridge or newer,
- NVidia ICD and ICD Loader support OpenCL 1.1,
- AMD ICD and ICD Loader support OpenCL 1.2
Support also running on CPU with SSE3
Problems/Warning for different combinations of ICD *Loaders* used at compile-time (CT) and at run-time (RT)
CT\RT | ocl-icd | AMD | NVidia | Intel |
---|---|---|---|---|
ocl-icd | ok | ok | MVS, MS | MVS, MSO |
AMD | ok | ok | MVS, MS | MVS, MSO |
NVidia | ok | ok | ok | MSO |
Intel | BSO | BSO | BSO | ok |
- MVS: missing version on symbol ⇒; a warning from the linker at program start
- MS: missing symbols. The linker can fail to find some symbols (NVidia ICD
- Loader still only support the 1.1 API)
- BSO: the libOpenCL.so link must be present at runtime.
- The requested soname is libOpenCL.so
- The soname in the loaded library (filename) is libOpenCL.so.1
- MSO: wrong soname:
- The requested soname is libOpenCL.so.1
- The soname in the loaded library (filename) is libOpenCL.so