-
Notifications
You must be signed in to change notification settings - Fork 165
Open
Milestone
Description
The build/distribution system is pretty complex at the moment. To build reliable wheels that provide a consistent development experience, I think what needs to happen is:
- The README(s) are updated to encourage folks to use the tag of the repo that matches the version they are using; this can help keep programming examples in sync with the wheels (I believe this may help with issues such as Examples dont work with fresh install. #2804)
- The process of updating LLVM should be done automatically, unless there is an issue, and well documented in order to keep the dependencies in sync. When we bump MLIR, we also want to bump the eudsl extras to keep them in-sync. I've just started work towards this here: [WIP] Workflow for bumping llvm #2806
- Since the eudsl extras are kind of a pain to install (the environment variable precludes normal pip install; the flag that is supported to install via a requirements file is very specific to particular pip versions). There are two options:
-
- Encoding them as a dependency that gets installed as the wheels are installed. This is probably the best option.
-
- Packaging them directly into the wheels (which is more resilient to if the extras wheels are also purged after a specific time limit) -- I've spent a small amount of time exploring the feasibility of this option: [WIP] Try to include extras in wheels #2786
-
I was thinking that instead of building our own MLIR wheels, we should use distributions already publicly available, e.g.: https://github.com/llvm/eudsl/tree/main/projects/mlir-wheel However, these wheels expire after 30 days, so we would need to find a way to have them hosted or built on our own on the fly to ensure more consistent long-term dev environment (or also phase out our wheels every 30 days).
@jgmelber and @erwei-xilinx and @andrej please to feel free to weigh in!
Metadata
Metadata
Assignees
Labels
No labels