The Intel(R) Graphics Compute Runtime for OpenCL(TM) is a open source project to converge Intel's development efforts on OpenCL(TM) compute stacks supporting the GEN graphics hardware architecture.
Please refer to http://01.org/compute-runtime for additional details regarding Intel's motivation and intentions wrt OpenCL support in the open source.
The Intel(R) Graphics Compute Runtime for OpenCL(TM) is distributed under the MIT.
You may obtain a copy of the License at:
https://opensource.org/licenses/MIT
GmmLib - https://github.com/intel/gmmlib
Intel Graphics Compiler - https://github.com/intel/intel-graphics-compiler
Google Test v1.7.0 - https://github.com/google/googletest
Google Mock v1.7.0 - https://github.com/google/googlemock
Khronos OpenCL Headers - https://github.com/KhronosGroup/OpenCL-Headers
LibDRM - https://anongit.freedesktop.org/git/mesa/drm.git
Instructions assume clean Ubuntu 16.04.3 LTS installation.
- Download & install required dependencies
Example:
sudo apt-get install ccache flex bison clang-4.0 cmake g++ git patch zlib1g-dev
- Create workspace folder and download sources:
workspace
|- clang_source https://github.com/llvm-mirror/clang
|- common_clang https://github.com/intel/opencl-clang
|- llvm_patches https://github.com/intel/llvm-patches
|- llvm_source https://github.com/llvm-mirror/llvm
|- gmmlib https://github.com/intel/gmmlib
|- gmock https://github.com/google/googlemock
|- gtest https://github.com/google/googletest
|- igc https://github.com/intel/intel-graphics-compiler
|- khronos https://github.com/KhronosGroup/OpenCL-Headers
|- libdrm https://anongit.freedesktop.org/git/mesa/drm.git
|- neo https://github.com/intel/compute-runtime
Example:
git clone -b release_40 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_40 https://github.com/llvm-mirror/llvm llvm_source
git clone https://github.com/intel/gmmlib gmmlib
git clone -b release-1.7.0 https://github.com/google/googlemock gmock
git clone -b release-1.7.0 https://github.com/google/googletest gtest
git clone https://github.com/intel/intel-graphics-compiler igc
git clone https://github.com/KhronosGroup/OpenCL-Headers khronos
git clone https://anongit.freedesktop.org/git/mesa/drm.git libdrm
git clone https://github.com/intel/compute-runtime neo
Note: Instructions for compiling Intel Graphics Compiler copied from https://github.com/intel/intel-graphics-compiler/blob/master/README.md
- Create folder for build:
Example:
mkdir build
- Build complete driver:
cd build
cmake -DBUILD_TYPE=Release -DCMAKE_BUILD_TYPE=Release ../neo
make -j`nproc` package
To install OpenCL driver please use deb package generated during build
Example:
sudo dpkg -i intel-opencl-1.0-0.x86_64-igdrcl.deb
Intel Core Processors with Gen8 graphics devices (formerly Broadwell) - OpenCL 2.0
Intel Core Processors with Gen9 graphics devices (formerly Skylake, Kaby Lake, Coffee Lake) - OpenCL 2.1
Intel Atom Processors with Gen9 graphics devices (formerly Apollo Lake, Gemini Lake) - OpenCL 1.2
By default, please submit an issue using native github.com interface: https://github.com/intel/compute-runtime/issues.
Create a pull request on github.com with your patch. Make sure your change is cleanly building and passing ULTs. A maintainer will contact you if there are questions or concerns.
OpenCL compliance of a driver built from open-source components should not be assumed by default. Intel will clearly designate / tag specific builds to indicate production quality including formal compliance. Other builds should be considered experimental.
The driver requires Khronos ICD loader to operate correctly: https://github.com/KhronosGroup/OpenCL-ICD-Loader
The driver has the following functional delta compared to previously released drivers:
- Intel's closed source SRB5.0 driver (aka Classic)
https://software.intel.com/en-us/articles/opencl-drivers#latest_linux_driver - Intel's former open-source Beignet driver
https://01.org/beignet
- cl_khr_mipmap
- cl_khr_mipmap_writes
- cl_khr_fp64
- cl_intelx_video_enhancement
- cl_intelx_video_enhancement_camera_pipeline
- cl_intelx_video_enhancement_color_pipeline
- cl_intelx_hevc_pak
- OpenGL sharing with MESA driver
- CL_MEM_SVM_FINE_GRAIN_BUFFER (if using unpatched i915)
(*) Other names and brands my be claimed as property of others.