-
Notifications
You must be signed in to change notification settings - Fork 31
Description
Hi everyone,
Some of us have been doing a recent push to better integrate some of our findings with IREE recently.
The ongoing prototype integration is currently split across 3 branches:
- iree-llvm-sandbox/iree-integration is the branch where the integration with IREE happens. It depends on:
- iree/sandbox branch, which sees the following restructurings:
- the LinalgExt dialect is folded back into iree/llvm-external-projects where it was originally forked from
- the transform dialect is transitioning through iree/llvm-external-projects so that IREE can canary such transforms in a larger scaler system while upstreaming to MLIR core is occurring (see Alex's RFC)
- iree-llvm-fork/sandbox is the source of truth for IREE + sandbox
With this setup we are currently able to compile and run IREE with transformations specified in by the transformation dialect. As a consequence, iree-llvm-sandbox/iree-integration compiles with IREE and exposes a simple parallel nevergrad-based search.
In the near-future, we are hoping to extend more of these mechanisms to better iterate with IREE itself (and not just a minimal Numpy API). This should give us a few interesting opportunities:
- compile and run on different devices (mobile, NVIDIA-GPU, mobile GPU) via IREE's AoT (and not just the current JIT CPU)
- extend search to be able to execute and time on those different devices
- start saving and shipping known good transformations with IREE for different devices.
These will open up new exciting work areas.
Until the transition is complete however, some rough edges are expected.
Thanks for reading!