OpenCL On ubuntu 16.04, Intel Sandy Bridge CPU
Is it possible to install openCL on 16.04 (CPU-Only)? I tried many guides, but still do not get a working box. I have a sandy-bridge second gen CPU, if this matters.
Solution 1:
install packets
Generic ubuntu packages for OpenCL
Basic installation
sudo apt install ocl-icd-libopencl1
sudo apt install opencl-headers
sudo apt install clinfo
Package that allows to compile OpenCL code (1.2 I think)
Needed to link and compile
sudo apt install ocl-icd-opencl-dev
For Intel GT core
Package that enables runnig openCL on Intel GT, IvyBridge and up
sudo apt install beignet
For SandyBridge Intel CPU and possible others
Download this file OpenCL™ Runtime 16.1.1 for Intel® Core™ and Intel® Xeon® Processors for Ubuntu* (64-bit) On https://software.intel.com/en-us/articles/opencl-drivers#latest_linux_SDK_release
Install packages for turning rpm to deb
sudo apt-get install -y rpm alien libnuma1
Untar downloaded file
tar -xvf opencl_runtime_16.1.1_x64_ubuntu_6.4.0.25.tgz
cd opencl_runtime_16.1.1_x64_ubuntu_6.4.0.25/rpm/
Turn rpm files to deb
fakeroot alien --to-deb opencl-1.2-base-6.4.0.25-1.x86_64.rpm
fakeroot alien --to-deb opencl-1.2-intel-cpu-6.4.0.25-1.x86_64.rpm
Install .deb packages
sudo dpkg -i opencl-1.2-base_6.4.0.25-2_amd64.deb
sudo dpkg -i opencl-1.2-intel-cpu_6.4.0.25-2_amd64.deb
Touch local config file
sudo touch /etc/ld.so.conf.d/intelOpenCL.conf
Open the file
sudo vim /etc/ld.so.conf.d/intelOpenCL.conf
and add the line
/opt/intel/opencl-1.2-6.4.0.25/lib64/clinfo
Create a vendors dir and add intel.icd
sudo mkdir -p /etc/OpenCL/vendors
sudo ln /opt/intel/opencl-1.2-6.4.0.25/etc/intel64.icd /etc/OpenCL/vendors/intel64.icd
sudo ldconfig
test if this worked
Command to list your devices
clinfo
Dowload this file
https://codeload.github.com/hpc12/tools/tar.gz/master
Run this code to make sure everything works
tar xzvf tools-master.tar.gz
cd tools-master
make
./print-devices
./cl-demo 1000 10
This should print out GOOD in the end
For Nvidia
install nvidia drivers (I used 370), this should include all the runtime dirvers
Usefull linkes I have used to put this together
https://wiki.tiker.net/OpenCLHowTo http://korniychuk.org.ua/instruction/how-to-use-opencl-on-ubuntu-16-04/ https://laanwj.github.io/2016/05/06/opencl-ubuntu1604.html https://software.intel.com/en-us/articles/opencl-drivers#latest_linux_SDK_release https://software.intel.com/en-us/forums/opencl/topic/285869 https://streamcomputing.eu/blog/2011-06-24/install-opencl-on-debianubuntu-orderly/ https://software.intel.com/en-us/forums/opencl/topic/390630 https://stackoverflow.com/questions/16977216/opencl-compile-on-linux
Solution 2:
As per Intel's support site, OpenCL is not supported on 2nd gen (Sandy Bridge) Core processors.
You will need a 3rd gen (Ivy Bridge) or newer CPU to use OpenCL 1.2, or a 7th gen (Kaby Lake) to have the option to use OpenCL 2.0 with the Intel GPU (I am not sure what is currently supported in the drivers available for Linux).