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
- OpenCL driver
- oneAPI Level Zero driver
- OpenCL offline compiler (ocloc)
All above runtime dependencies can be found in compute-runtime project.
git clone https://github.com/intel/cassian
cd cassian
cmake -B build -S .
cmake --build build --parallel
The following list contains projects that at first sight looks similar to Cassian and the explanation how Cassian is different from them:
- 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.
- 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.
- 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.
Cassian is licensed under the MIT License.
Catch2 extensions in catch2_utils.hpp are licensed under the Boost Software License.