Skip to content
/ cassian Public

Cassian is a multi-API conformance test suite for compute kernel languages.

License

Notifications You must be signed in to change notification settings

intel/cassian

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Aug 19, 2024
a76cbc9 · Aug 19, 2024
May 26, 2023
Apr 30, 2021
Jul 20, 2023
Aug 19, 2024
Mar 27, 2024
Apr 30, 2021
Sep 14, 2021
Oct 10, 2023
Sep 14, 2021
Apr 30, 2021
Apr 30, 2021
Apr 30, 2021
Apr 30, 2021

Repository files navigation

Cassian

Cassian is a multi-API conformance test suite for compute kernel languages.

Main goals:

  • Provide a framework for developing black-box tests for compute kernels.
  • Abstract runtime layer so the same kernel can be consumed by different APIs.

Currently supported:

  • Languages:
    • OpenCL C
    • C for Metal
  • Runtimes:
    • OpenCL
    • oneAPI Level Zero

Getting started

Build dependencies

  1. Catch2
  2. OpenCL Headers
  3. oneAPI Level Zero Headers

Runtime dependencies

  1. OpenCL driver
  2. oneAPI Level Zero driver
  3. OpenCL offline compiler (ocloc)

All above runtime dependencies can be found in compute-runtime project.

Build

git clone https://github.com/intel/cassian
cd cassian
cmake -B build -S .
cmake --build build --parallel

Alternatives

The following list contains projects that at first sight looks similar to Cassian and the explanation how Cassian is different from them:

  1. OpenCL CTS - tests for OpenCL API and OpenCL C. Cassian focuses mainly on kernel languages including OpenCL C and on support for multiple APIs like OpenCL and Level Zero.
  2. oneAPI Level Zero Tests - tests for Level Zero API layer. Cassian supplements this project by providing tests for kernel language features using Level Zero API.
  3. Amber - multi-API test suite for shader languages. Main concepts of Amber and Cassian are similar i.e. test multiple kernel/shader languages using different runtime APIs. Amber focuses on 3D APIs and shader languages where Cassian targets Compute environments.

License

Cassian is licensed under the MIT License.

Catch2 extensions in catch2_utils.hpp are licensed under the Boost Software License.