Skip to content

QuICC/quiccir

Repository files navigation

License: GPL v3 Tests

quiccir

quiccir is an out-of-tree MLIR dialect. This dialect provides operators and types that can be lowered to library calls to use the spectral operators in QuICC.

It implements

  • a opt-like tool to operate on quiccir
  • a self contained library to JIT the computational graph of the non linear terms needed in QuICC

Building quiccir

quiccir depends on LLVM 17 and MLIR and assuming they are installed the to $LLVM_ROOT one can build quiccir as follows

mkdir build && cd build
cmake -G Ninja .. -DMLIR_DIR=$LLVM_ROOT/lib/cmake/mlir -DQUICCIR_BUILD_TEST=OFF

To build and launch the tests, there is an additional dependency on lit, for instance

mkdir build && cd build
cmake -G Ninja .. -DMLIR_DIR=$LLVM_ROOT/lib/cmake/mlir  \
-DLLVM_EXTERNAL_LIT=$LLVM_BUILD/bin/llvm-lit -DQUICCIR_BUILD_TEST=ON
cmake --build . --target check-quiccir

Documentation

To build the documentation from the TableGen description of the dialect operations, run

cmake --build . --target mlir-doc