Skip to main content

Python bindings and MLIR conversion for JIT compiling PyTorch models to SDFGs.

Project description

MLIR

The MLIR module contains a dialect and translation of core MLIR dialects to SDFGs.

  • SDFG Dialect: A dialect to represent SDFGs in MLIR.
  • Conversion: Conversion passes to convert core dialects (arith, linalg, etc.) to the SDFG dialect.
  • Translate: A translation pass to dump an SDFG from the SDFG dialect.

Build from Sources

To build the MLIR component from source install LLVM/MLIR dependencies first:

sudo apt-get install -y libmlir-19 libmlir-19-dev mlir-19-tools

Second, build from the root of the repository using cmake:

mkdir build && cd build
cmake -G Ninja \
    -DCMAKE_C_COMPILER=clang-19 \
    -DCMAKE_CXX_COMPILER=clang++-19 \
    -DCMAKE_BUILD_TYPE=Debug \
    -DMLIR_BUILD_FRONTEND=ON \
    -DMLIR_BUILD_TESTS=ON \
    -DMLIR_DIR=/usr/lib/llvm-19/lib/cmake/mlir \
    -DLLVM_EXTERNAL_LIT=/usr/lib/llvm-19/build/utils/lit/lit.py \
    -DWITH_SYMENGINE_THREAD_SAFE=ON \
    -DWITH_SYMENGINE_RCP=ON \
    -DINSTALL_GTEST=OFF \
    -DBUILD_TESTS:BOOL=OFF \
    -DBUILD_BENCHMARKS:BOOL=OFF \
    -DBUILD_BENCHMARKS_GOOGLE:BOOL=OFF \
    ..
ninja -j$(nproc)

To verify, the basic dialects and translation work, run the tests:

ninja check-docc-mlir

License

This component is part of docc and is published under the BSD-3-Clause license. See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

docc_ai-0.6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (16.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

docc_ai-0.6.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (15.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

docc_ai-0.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (16.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

docc_ai-0.6.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (15.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

File details

Details for the file docc_ai-0.6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for docc_ai-0.6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4fa652e15aae890ac96eaf3581d19d33fd988fb31ffb9838402beea112e6090d
MD5 e05d31a5312474f706fa412f31b4e78c
BLAKE2b-256 43d90ae360a223754b77f0a847ae9b876f8fb2b8f3153e4c3d96890a4f9c81dd

See more details on using hashes here.

File details

Details for the file docc_ai-0.6.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for docc_ai-0.6.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 42bda08bf7d1770e61e7dfe69c3015afc2b7bba5a76f0da401ae12779c3ac192
MD5 f986a66d614412fc8dee44580bb7f792
BLAKE2b-256 0725943a273b76bd96d343754cfbc21b99cecfa6704cdee8341f6cda507bdf58

See more details on using hashes here.

File details

Details for the file docc_ai-0.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for docc_ai-0.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f50da0f010db189171a0f0759ce1865de286eabe73e550b8498e3c3a707c3666
MD5 3296c0a37dff76dab319a7594fec550c
BLAKE2b-256 a83505562d6f832e9940586f0c6c76e8b6167d711ccad70f8d9525e6c0c47dcc

See more details on using hashes here.

File details

Details for the file docc_ai-0.6.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for docc_ai-0.6.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8aeaa82937b69aea24b22326313ed43911124c6d41085a6027976cd9e1e1939f
MD5 b590af54f73ac69080a098ba2e8e4331
BLAKE2b-256 460024ce90b9976395a6855b666df4fccd21af0bfbc73c7791c5308c93f9594d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page