Git Product home page Git Product logo

Comments (1)

stellaraccident avatar stellaraccident commented on September 27, 2024

Hi - nice to chat again!

There have been some developments since we last spoke. Namely, since then, we've made progress on upstream Python bindings that are starting to edge towards some of the points you mention. We've been trying to make them a good starting point for constructing nice DSLs from (versus trying to be a good DSL for everything):

  • Exposes the core IR constructs (context, modules, ops, types, attributes).
  • Supports with blocks and context managers for implicit management of contexts, locations and insertion points.
  • Integrated with the ODS infra so that we can generate Python wrappers for each dialect.
  • Run passes.

Code: https://github.com/llvm/llvm-project/tree/master/mlir/lib/Bindings/Python
Docs: https://mlir.llvm.org/docs/Bindings/Python/ (slightly out of date)
Tests: https://github.com/llvm/llvm-project/tree/master/mlir/test/Bindings/Python (more up to date than docs. Example of exercising the std dialect via (very new) autogenerated Python wrapper)

There are still things that are in progress:

  • Custom attributes and types have been discussed but integration with Python still requires native code
  • Need to wire in the execution engine/JIT interface (npcomp has a special purpose thing for this - need to implement the proper thing upstream)
  • Deployability/packaging and integration with other projects needs more work. Meeting notes where some of the necessary work was planned.

I am also aware of at least three other developments happening towards some of your other points but in various state of work/disclosure. I think @joker-eph (Mehdi) is a good join point with visibility of all of those. Boosting this to a thread on the LLVM/MLIR Discourse may be a good way to have the discussion in view of some of those things.

from metadsl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.