OpenCL* for CPU
Ask questions and share information on Intel® SDK for OpenCL™ Applications and OpenCL™ implementations for Intel® CPU
This forum covers OpenCL* for CPU only. OpenCL* for GPU questions can be asked in the GPU Compute Software forum. Intel® FPGA SDK for OpenCL™ questions can be ask in the FPGA Intel® High Level Design forum.
1663 Discussions

OpenCL 2016 1.2- icd file is missing


I recently installed the latest intel opencl sdk for Linux on two Ubuntu 14.04 boxes - one with nvidia graphics, one with AMD graphics, I found that neither clinfo nor my program can emulate the intel opencl platform. the only output is the nvidia opencl.

The intel ocl library was installed in the default path at


however, under /etc/OpenCL/vendors/, there is only nvidia.icd. I checked my laptop where an old version of intel opencl sdk was installed, it has the intel64.icd file (with a single line: However, neither intel64.icd nor could be found on the latest intel opencl sdk. 

I also checked the release note about Linux installation, I could not find any discription on icd installation and LD_LIBRARY_PATH configurations

can anyone comment on how to make intel ocl work side by side with nvidia and amd opencl? thanks

if this is not possible with the latest sdk, where can I download the previous sdk packages?

0 Kudos
1 Solution
Not applicable


OpenCL SDK does not install OpenCL RT automatically on installation. You need to install it separately either by installing GFX driver or standalone CPU RT (see

Please note that CentOS 6.X can not be supported by Gfx driver (please read release notes for details). 

View solution in original post

6 Replies
Not applicable


OpenCL SDK does not install OpenCL RT automatically on installation. You need to install it separately either by installing GFX driver or standalone CPU RT (see

Please note that CentOS 6.X can not be supported by Gfx driver (please read release notes for details). 


thanks. I must have forgotten how I installed the drivers/sdk with the older version.

Nonetheless, I read the download page again, next to the CPU+GPU+SDK for Linux download package, it says "Driver components included". Does that mean the CPU+GPU RT is already included in this package?


I have another question related to installing Intel GPU driver. I have a computer with NVIDIA cards, I can only see nvidia cards when listing for VGA controllers:

fangq@hoyi:~$ lspci | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GM200 [GeForce GTX 980 Ti] (rev a1)
02:00.0 VGA compatible controller: NVIDIA Corporation GM200 [GeForce GTX TITAN X] (rev a1)

another computer with AMD GPUs

fangq@pangucoe:~$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Sky Lake Integrated Graphics (rev 06)
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X]
06:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Fiji [Radeon R9 FURY / NANO Series] (rev ca)
Can I install Intel GPU driver on both computers without conflicting with NVIDIA/AMD opencl? 
or only the second? or neither? the first one is a headless server. I can make the second one 
headless if it is needed.

thanks again




Ubuntu driver previously (till 2016 R2) contained CPU RT package because there was no standalone Intel OpenCL CPU RT driver (the not say from that time I guess). Now it should not contain any driver.

For first machine you should install "OpenCL™ Runtime 16.1.1 for Intel® Core™ and Intel® Xeon® Processors for Ubuntu* (64-bit)" it should work (CPU only will be available).

On second machine you can install either the driver above (CPU only will be available) or "OpenCL™ 2.0 Driver for Intel® HD, Iris™, and Iris™ Pro Graphics for Linux* (64-bit)" (GPU only will be available).

Additional platform (Intel(R) Opencl) will be available but we can not guarantee absence of conflicts as it depends also on architectures of NVidia/AMD drivers... 


thank you Vladimir. 

A follow up question, I updated OpenCL SDK, CPU RT and GPU driver on my laptop (i7-5600U) to the latest releases. Now, I can list both CPU and HD graphics in the device query.

However, when running my program, I see a "3 warnings generated" message (printed twice after calling clBuildProgram), which was not shown in the previous releases. However, the message does not say the details about the warnings. 

Is there a flag I can use for clBuildProgram to print the line# and nature of the warnings? My GPU target remains hanged even with small number of photons (as mentioned in this thread: ). I'd like to get some clue what was wrong.

your comments are appreciated!


There are several options to get warning details:

1. pass -Werror to build options (it will treat warning as errors and they should be displayed on the screen)

2. use Intel  offline compiler (is part of OpenCL SDK) to get full log: ioc64 -cmd=build -input=<your CL file> -bo=<your build options>

The latest OpenCL SDK (starting from 2016 R2) contains GPU kernel debugger component for Windows and Linux (starting from 2016 R2 update 1) - (see user guide for details). It could help you to debug kernels on GPU. 


thank you Vladimir again. -Werror worked well!

for debugging the GPU code, I found this page

but running the following command always gave me "seg fault" when typing "r" inside gdb, no matter using CPU or GPU

gdb --args ../../bin/mcxcl -A -n 1e7 -f qtest.inp -k ../../src/ -J "-g -s /path/to/mcxcl/src/"

the "ocl info" commands also did not work in gdb.

I believe I have installed all required debugger components, but both host and target are the same laptop. could this be a problem?

any other documents showing how to use the debugger feature under Linux?


fangq@dayu$ gdb --args ../../bin/mcxcl -A -n 1e7 -f qtest.inp -k ../../src/ -J "-g -s /home/fangq/space/Gitroot/Project/github/mcxcl/src/" -G 01
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
Find the GDB manual and other documentation resources online at:
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ../../bin/mcxcl...done.
(gdb) r
Starting program: /home/fangq/space/Gitroot/Project/github/mcxcl/bin/mcxcl -A -n 1e7 -f qtest.inp -k ../../src/ -J -g\ -s\ /home/fangq/space/Gitroot/Project/github/mcxcl/src/ -G 01
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/".
[New Thread 0x7ffff45ca700 (LWP 28739)]
[New Thread 0x7fffef993700 (LWP 28740)]
[New Thread 0x7fffef592700 (LWP 28742)]
[New Thread 0x7fffe7592700 (LWP 28741)]
=                     Monte Carlo eXtreme (MCX) -- OpenCL                     =
=           Copyright (c) 2009-2016 Qianqian Fang <q.fang at>         =
=                                                                             =
=                    Computational Imaging Laboratory (CIL)                   =
=             Department of Bioengineering, Northeastern University           =
$MCXCL$Rev::    $ Last Commit $Date::                     $ by $Author:: fangq$
- code name: [Vanilla MCXCL] compiled with OpenCL version [1]
- compiled with: [RNG] Logistic-Lattice [Seed Length] 5
initializing streams ...	init complete : 0 ms

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff0e2edc8 in ?? () from /opt/intel/opencl/