The Intel(R) Graphics Compute Runtime for OpenCL(TM) is an 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 License.
You may obtain a copy of the License at: https://opensource.org/licenses/MIT
To allow Neo accessing GPU device make sure user has permissions to files /dev/dri/renderD*.
Under Ubuntu* or Centos* user must be in video group. In Fedora* all users by default have access to /dev/dri/renderD* files.
NEO is available for installation on a variety of Linux distributions and can be installed via the distro's package manager.
For example on Ubuntu* 19.04, 19.10:
apt-get install intel-opencl-icd
Procedures for other distributions.
.deb packages for Ubuntu are provided along with installation instructions and Release Notes on the release page
- GmmLib - https://github.com/intel/gmmlib
- Intel Graphics Compiler - https://github.com/intel/intel-graphics-compiler
Below packages are needed to enable cl_intel_va_api_media_sharing extension
- libdrm - https://anongit.freedesktop.org/git/mesa/drm.git
- libva - https://github.com/intel/libva.git
- Intel Core Processors with Gen8 graphics devices (formerly Broadwell) - OpenCL 2.1
- 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
- Intel Core Processors with Gen11 graphics devices (formerly Ice Lake) - OpenCL 2.1
- Intel Core Processors with Gen12 graphics devices (formerly Tiger Lake) - OpenCL 2.1
When building applications, they should link with ICD loader library (ocl-icd). Directly linking to the runtime library (igdrcl) is not supported.
The Intel(R) GPU Compute Samples repository has sample source code to demonstrate features of Intel(R) Graphics Compute Runtime for OpenCL(TM) Driver.
By default NEO driver enables double precision operations only on platforms with supporting hardware. This is signified by exposing the "cl_khr_fp64" extension in the extension string. For other platforms, this support can be emulated by the compiler (IGC).
FP64 emulation can only be enabled on Linux. There are two settings that have to be set.
There are two ways you can enable this feature in NEO:
-
Set an environment variable OverrideDefaultFP64Settings to 1:
OverrideDefaultFP64Settings=1
-
In igdrcl.config configuration file in the same directory as application binary (you may have to create this file) add a line as such:
OverrideDefaultFP64Settings = 1
IGC reads flags only from environment, so set IGC_EnableDPEmulation to 1 as such:
IGC_EnableDPEmulation=1
After both settings have been set you can run the application normally.
Intel does not claim full specification conformance when using emulated mode. We reserve the right to not fix issues that appear only in emulation mode. Performance degradation is to be expected and has not been measured by Intel.
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. See contribution guidelines for more details.
- OpenCL on Linux guide
- Interoperability with Intel Tools: TOOLS.md
- Contribution guidelines: CONTRIB.md
- Known issues and limitations: LIMITATIONS.md
- Frequently asked questions: FAQ.md
- Quality expectations: RELEASES.md
(*) Other names and brands may be claimed as property of others.