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
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=OFFTo 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-quiccirTo build the documentation from the TableGen description of the dialect operations, run
cmake --build . --target mlir-doc