Intel OpenCL stack enablement on Ubuntu 18.10.
Here's how to build and install Intel's new OpenCL enablement stack, Neo, which replaces the legacy Beignet ICD.
Install the dependencies:
Build dependencies:
sudo apt-get install ccache flex bison clang cmake g++ git patch zlib1g-dev autoconf xutils-dev libtool pkg-config libpciaccess-dev
Create the project structure:
mkdir -p ~/intel-compute-runtime/workspace
Within this workspace directory, fetch the sources for the required dependencies:
cd ~/intel-compute-runtime/workspace
git clone -b release_90 https://github.com/llvm-mirror/clang clang_source
git clone https://github.com/intel/opencl-clang common_clang
# git clone https://github.com/intel/llvm-patches llvm_patches
git clone -b release_90 https://github.com/llvm-mirror/llvm llvm_source
# git clone -b release_70 https://github.com/llvm-mirror/llvm llvm7.0.0_source
git clone https://github.com/intel/gmmlib gmmlib
git clone https://github.com/intel/intel-graphics-compiler igc
git clone https://github.com/KhronosGroup/OpenCL-Headers khronos
git clone https://github.com/intel/compute-runtime neo
ln -s khronos opencl_headers
Create a build directory for the Intel Graphics Compiler under the workspace:
mkdir -p ~/intel-compute-runtime/workspace/build_igc
Then build:
cd ~/intel-compute-runtime/workspace/build_igc
XP : Edit the file igc/IGC/CMakeLists.txt
and change the IGC_PREFERRED_LLVM_VERSION
to one present in your system. On mine it was 9.0.0
cmake -DIGC_OPTION__OUTPUT_DIR=../igc-install/Release ../igc/IGC
time make -j$(nproc) VERBOSE=1
Recommended: Generate Debian archives for installation:
time make -j$(nproc) package VERBOSE=1
Install:
sudo dpkg -i *.deb
(Ran in the build directory) will suffice.
On NVIDIA Optimus systems where CUDA is present and LLVM 4.0 coexist:
Append /usr/local/cuda/bin:/usr/lib/llvm-4.0/bin
at the end of the PATH variable in /etc/environment
and source the file:
source /etc/environment
Important: Either way, make sure that LLVM 4.0 is in your path, as its' required by Intel's OCL runtime.
Next, build and install the compute runtime project
. Start by creating a separate build directory for it:
mkdir -p ~/intel-compute-runtime/workspace/build_icr
cd ~/intel-compute-runtime/workspace/build_icr
cmake -DBUILD_TYPE=Release -DCMAKE_BUILD_TYPE=Release ../neo
time make -j$(nproc) package VERBOSE=1
Then install the deb archives:
sudo dpkg -i *.deb
From the build directory.
Testing:
Use clinfo and confirm that the ICD is detected.
Next, run luxmark and confirm that Intel Neo's OpenCL platform is detected and usable.
Be aware that Luxmark, among others, require freeglut, which you can install by running:
sudo apt install freeglut3*
Post with benchmarks for the Eurocom Q6: http://forum.notebookreview.com/threads/opencl-benchmarks-on-windows-10-build-1803-vs-ubuntu-linux-18-04lts.818024/