Level Zero Save

oneAPI Level Zero Specification Headers and Loader

Project README

oneAPI Level Zero

This repository contains the following components of oneAPI:

  • Copies of the Level Zero Specification API C/C++ header files
  • Level Zero Loader
  • Level Zero Validation Layer
  • Level Zero Tracing Layer

This project is part of the larger oneAPI project.

See the oneAPI specification for more information about the oneAPI project.

See the Level Zero specification for more information about Level Zero.

See the Level Zero specification repo for contributing to the specification.

Level Zero API versions are listed in the ze_api_version_t enumeration, located in the ze_api.h file.

Building and Installing

Project is defined using CMake.

Linux

General

mkdir build
cd build
cmake ..
cmake --build . --config Release
cmake --build . --config Release --target package
cmake --build . --config Release --target install

Ubuntu with Docker

mkdir build
mkdir -p .ccache

docker run \
  --rm \
  -v $PWD:$PWD \
  -w $PWD/build \
  -e CCACHE_DIR=$PWD/.ccache \
  -e CCACHE_BASEDIR=$PWD \
  $(docker build -q \
      --build-arg UID=$(id -u) \
      --build-arg GID=$(id -g) \
      --build-arg IMAGE_VERSION=eoan \
      - < docker/build-ubuntu.Dockerfile) \
  cmake \
    -G Ninja \
    -D CMAKE_C_COMPILER_LAUNCHER=ccache \
    -D CMAKE_CXX_COMPILER_LAUNCHER=ccache \
    -D CMAKE_BUILD_TYPE=Release \
    ..

docker run \
  --rm \
  -v $PWD:$PWD \
  -w $PWD/build \
  -e CCACHE_DIR=$PWD/.ccache \
  -e CCACHE_BASEDIR=$PWD \
  $(docker build -q \
      --build-arg UID=$(id -u) \
      --build-arg GID=$(id -g) \
      --build-arg IMAGE_VERSION=eoan \
      - < docker/build-ubuntu.Dockerfile) \
  cmake --build . --config Release

Debug Trace

The Level Zero Loader has the ability to print warnings and errors which occur within the internals of the Level Zero Loader itself.

To enable this debug tracing feature, set the environment variable ZE_ENABLE_LOADER_DEBUG_TRACE=1.

This will enforce the Loader to print all errors whether fatal or non-fatal to stderr with the PREFIX ZE_LOADER_DEBUG_TRACE:.

Logging to File - PREVIEW

The Level Zero Loader uses spdlog logging and can be controlled via environment variables:

ZEL_ENABLE_LOADER_LOGGING=1 ZEL_LOADER_LOG_FILE=/path/to/logfile ZEL_LOADER_LOGGING_LEVEL=debug

Valid logging levels are trace, debug, info, warn, error, critical, off. Logging is disabled by default but when enabled the default level is 'warn'. The default log file is 'ze_loader.log' in the current directory

This feature is in early development and is preview only.

Contributing

See CONTRIBUTING for more information.

License

Distributed under the MIT license. See LICENSE for more information.

Security

See Intel's Security Center for information on how to report a potential security issue or vulnerability.

See also SECURITY.

Open Source Agenda is not affiliated with "Level Zero" Project. README Source: oneapi-src/level-zero
Stars
179
Open Issues
61
Last Commit
1 week ago
License
MIT
Tags

Open Source Agenda Badge

Open Source Agenda Rating