Intel® Graphics Compute Runtime for oneAPI Level Zero and OpenCL™ Driver
Go to file
Artur Harasimiuk d7687e32c4 small cleanup around Linux specific ULTs
- move main file to linux/ folder
- don't use default listener. follow main ULTs behavior

Change-Id: I236a42eef9d7bb3f61112f847aec7fc3e9f7873e
2018-02-16 11:46:29 +01:00
common Convert FALLTHROUGH comments to C++17 [[fallthrough]] attribute 2018-02-14 07:08:00 -08:00
elf Initial commit 2017-12-21 00:45:38 +01:00
manifests infrastructure update 2018-02-14 14:41:34 +01:00
offline_compiler Cmake refactor part 1: fix dependencies with including os_inc.h 2018-02-08 09:40:40 +01:00
public Initial commit 2017-12-21 00:45:38 +01:00
runtime Cmake refactor part 4: 2018-02-16 11:43:20 +01:00
unit_tests small cleanup around Linux specific ULTs 2018-02-16 11:46:29 +01:00
.clang-format Initial commit 2017-12-21 00:45:38 +01:00
.clang-tidy Initial commit 2017-12-21 00:45:38 +01:00
.ctags Initial commit 2017-12-21 00:45:38 +01:00
.gitattributes Initial commit 2017-12-21 00:45:38 +01:00
.gitignore Initial commit 2017-12-21 00:45:38 +01:00
CMakeLists.txt properly set default value of CMAKE_BUILD_TYPE 2018-02-14 08:15:33 +01:00
Jenkinsfile For HostPtr surfaces of enqueue calls use GPU address 2018-02-14 15:44:27 +01:00
LICENSE added license file 2018-02-15 11:05:43 +01:00
README.md Update build instructions 2018-02-12 17:18:19 +01:00
config.h.in Initial commit 2017-12-21 00:45:38 +01:00
package.cmake Initial commit 2017-12-21 00:45:38 +01:00
platforms.cmake Some minor fixes: 2018-01-10 12:56:40 +01:00
ubsan.supp Initial commit 2017-12-21 00:45:38 +01:00

README.md

Intel(R) Graphics Compute Runtime for OpenCL(TM)

Introduction

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.

License

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

Dependencies

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

Building

Instructions assume clean Ubuntu 16.04.3 LTS installation.

  1. Download & install required dependencies

Example:

sudo apt-get install ccache flex bison clang-4.0 cmake g++ git patch zlib1g-dev 
  1. 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

  1. Create folder for build:

Example:

mkdir build
  1. Build complete driver:
cd build
cmake -DBUILD_TYPE=Release -DCMAKE_BUILD_TYPE=Release ../neo
make -j`nproc` package

Install

To install OpenCL driver please use deb package generated during build

Example:

sudo dpkg -i intel-opencl-1.0-0.x86_64-igdrcl.deb

Supported Platforms

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

How to provide feedback

By default, please submit an issue using native github.com interface: https://github.com/intel/compute-runtime/issues.

How to contribute

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.

Known Issues and Limitations

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:

Generic extensions

  • cl_khr_mipmap
  • cl_khr_mipmap_writes
  • cl_khr_fp64

Preview extensions

  • cl_intelx_video_enhancement
  • cl_intelx_video_enhancement_camera_pipeline
  • cl_intelx_video_enhancement_color_pipeline
  • cl_intelx_hevc_pak

Other capabilities

  • 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.