update build documentation

- add information about libdrm and libva compilation
  libva is needed to support cl_intel_va_api_media_sharing extension
  libdrm is needed to compile libva
- add information about building on Centos 7

Change-Id: I56df50c7d312b4e5be0f85576300a5d1ba311e80
This commit is contained in:
Jacek Danecki
2018-04-18 16:27:52 +02:00
committed by sys_ocldev
parent c2455b412f
commit aee6d10f1f
4 changed files with 158 additions and 19 deletions

View File

@@ -0,0 +1,80 @@
# Intel(R) Graphics Compute Runtime for OpenCL(TM)
## Building
*Instructions assume clean Centos 7.4.1708 installation.**
1. Download & install required dependencies
Example:
```shell
sudo yum groups install "Development Tools"
sudo yum install centos-release-scl epel-release
sudo yum install devtoolset-4-gcc-c++ llvm-toolset-7-clang cmake3 ninja-build p7zip rpm-build dpkg xorg-x11-util-macros libpciaccess-devel which zlib-devel
sudo /usr/sbin/alternatives --install /usr/bin/cmake cmake /usr/bin/cmake3 50
```
2. 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
|- neo https://github.com/intel/compute-runtime
```
Example:
```shell
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://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
3. Create folder for build:
Example:
```shell
mkdir build
```
4. Enabling additional extension
* [cl_intel_va_api_media_sharing](https://github.com/intel/compute-runtime/blob/master/documentation/cl_intel_va_api_media_sharing.md)
5. Build complete driver:
```shell
cd build
scl enable devtoolset-4 llvm-toolset-7 "cmake -DBUILD_TYPE=Release -DCMAKE_BUILD_TYPE=Release ../neo"
scl enable devtoolset-4 llvm-toolset-7 "make -j `nproc` package"
```
## Installing
To install OpenCL driver please use rpm package generated during build
Example:
```shell
sudo rpm -i intel-opencl-1.0-0.x86_64-igdrcl.rpm
```
___(*) Other names and brands my be claimed as property of others.___

View File

@@ -2,14 +2,14 @@
## Building
*Instructions assume clean Ubuntu* 16.04.3 LTS installation.*
*Instructions assume clean Ubuntu 16.04.3 LTS installation.**
1. Download & install required dependencies
Example:
```shell
sudo apt-get install ccache flex bison clang-4.0 cmake g++ git patch zlib1g-dev
sudo apt-get install ccache flex bison clang-4.0 cmake g++ git patch zlib1g-dev autoconf xutils-dev libtool pkg-config libpciaccess-dev
```
See [LIMITATIONS.md](https://github.com/intel/compute-runtime/blob/master/documentation/LIMITATIONS.md) for other requirements and dependencies, when building and installing NEO.
@@ -26,7 +26,6 @@ See [LIMITATIONS.md](https://github.com/intel/compute-runtime/blob/master/docume
|- 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
```
@@ -42,7 +41,6 @@ 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
```
@@ -56,7 +54,11 @@ Example:
mkdir build
```
4. Build complete driver:
4. Enabling additional extension
* [cl_intel_va_api_media_sharing](https://github.com/intel/compute-runtime/blob/master/documentation/cl_intel_va_api_media_sharing.md)
5. Build complete driver:
```shell
cd build
@@ -64,7 +66,7 @@ cmake -DBUILD_TYPE=Release -DCMAKE_BUILD_TYPE=Release ../neo
make -j`nproc` package
```
## Install
## Installing
To install OpenCL driver please use deb package generated during build
@@ -74,4 +76,4 @@ Example:
sudo dpkg -i intel-opencl-1.0-0.x86_64-igdrcl.deb
```
___(*) Other names and brands my be claimed as property of others.___
___(*) Other names and brands my be claimed as property of others.___

View File

@@ -0,0 +1,50 @@
# Intel(R) Graphics Compute Runtime for OpenCL(TM)
## Enabling [cl_intel_va_api_media_sharing](https://www.khronos.org/registry/OpenCL/extensions/intel/cl_intel_va_api_media_sharing.txt) extension
To enable cl_intel_va_api_media_sharing extension Neo needs to be compiled on system with libva 2.x installed.
Before compilation additional packages have to be installed.
1. Download sources:
* libdrm https://anongit.freedesktop.org/git/mesa/drm.git
* libva https://github.com/intel/libva.git
Example:
```shell
git clone https://anongit.freedesktop.org/git/mesa/drm.git libdrm
git clone https://github.com/intel/libva.git libva
2. Compile and install libdrm
Example:
```shell
cd libdrm
./autogen.sh
make -j `nproc`
sudo make install
```
3. Compile and install libva
Example:
```shell
cd libva
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
./autogen.sh
make -j `nproc`
sudo make install
```
4. During Neo compilation verify libva was discovered
```shell
-- Checking for module 'libva>=1.0.0'
-- Found libva, version 1.1.0
-- Looking for vaGetLibFunc in va
-- Looking for vaGetLibFunc in va - found
-- Using libva
```