Instructions have been tested on Ubuntu* and CentOS*. They assume a clean installation of a stable version.
- Download & install required packages
Example (Ubuntu):
sudo apt-get install cmake g++ git pkg-configExample (CentOS):
sudo dnf install gcc-c++ cmake git make- Install required dependencies
Neo requires:
Please visit their repositories for building and installation instructions.
Use versions compatible with selected Neo release.
The exact required versions are listed in manifests/manifest.yml for each release.
- Create workspace folder and download sources:
Example:
mkdir workspace
cd workspace
git clone https://github.com/intel/compute-runtime neo- Create folder for build:
Example:
mkdir build- (Optional) Enabling additional extensions
- Build and install
Example:
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DNEO_SKIP_UNIT_TESTS=1 ../neo
make -j`nproc`
sudo make installEach compute-runtime release pins its required dependency versions in
manifests/manifest.yml. Before building, verify the system-installed versions
are compatible:
# Check installed versions
pkg-config --modversion igc-opencl # IGC (e.g. 2.32.1)
pkg-config --modversion igdgmm # GmmLib (e.g. 12.9.0)
# Check required versions
grep -A3 'gmmlib:' manifests/manifest.yml # "revision" field (e.g. intel-gmmlib-22.9.0)
grep -A3 'igc:' manifests/manifest.yml # "branch" field (e.g. releases/2.32.x)If the installed versions are too old or missing, follow the instructions below to install compatible versions to a local prefix, or see BUILD_LOCAL.md for detailed instructions.
If you cannot install dependencies system-wide (no sudo), you can build GmmLib from source and use prebuilt IGC packages, both installed to a local prefix.
The required GmmLib version is listed as the gmmlib revision in manifests/manifest.yml.
Replace the tag below with the one from your manifest.
git clone --depth 1 -b <GMMLIB_TAG> https://github.com/intel/gmmlib.git
cd gmmlib && mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$HOME/local ..
make -j`nproc`
make installThe required IGC version can be determined from the igc branch field in
manifests/manifest.yml (e.g. releases/2.32.x). Find the matching release
at https://github.com/intel/intel-graphics-compiler/releases and download
the four _amd64.deb packages (core, core-devel, opencl, opencl-devel).
mkdir -p $HOME/local/igc_extract && cd $HOME/local/igc_extract
for f in /path/to/intel-igc-*.deb; do dpkg-deb -x "$f" .; done
cp -r usr/local/include/* $HOME/local/include/
cp -r usr/local/lib/* $HOME/local/lib/Then fix the prefix in $HOME/local/lib/pkgconfig/igc-opencl.pc:
prefix=/home/<user>/local
cd build
PKG_CONFIG_PATH=$HOME/local/lib/pkgconfig cmake \
-DCMAKE_BUILD_TYPE=Release \
-DNEO_SKIP_UNIT_TESTS=1 \
-DCMAKE_PREFIX_PATH=$HOME/local \
-DCOMPILE_BUILT_INS=OFF \
../neo
make -j`nproc`Note: -DCOMPILE_BUILT_INS=OFF is required because the offline compiler (ocloc)
loads IGC at runtime via dlopen and will find the old system-installed IGC
instead of the local one. To enable built-in kernel compilation, either replace
the system IGC libraries or run make with LD_LIBRARY_PATH=$HOME/local/lib.
NEO Driver has build options to enable support for EU Debugging with XeKMD. Kernel support for this feature is currently only available via a topic branch hosted at https://gitlab.freedesktop.org/miku/kernel/-/tree/eudebug-dev
To build NEO with support for this feature follow above steps with these additional cmake options added to step 6.
-DNEO_ENABLE_XE_EU_DEBUG_SUPPORT=1 -DNEO_USE_XE_EU_DEBUG_EXP_UPSTREAM=1
Starting from release 24.35.30872.22 regular packages support Gen12 and later devices.
Gen8, Gen9 and Gen11 devices related code is available on releases/24.35 branch. It is no longer available on master branch.
To build NEO with support for Gen8, Gen9 and Gen11 devices follow above steps with these additional cmake options added to step 6.
-DNEO_LEGACY_PLATFORMS_SUPPORT=1 -DNEO_CURRENT_PLATFORMS_SUPPORT=0
(*) Other names and brands may be claimed as property of others.