Closed makslevental closed 2 months ago
The extra build feels rather complicated to me, and it would be nice if iree-amd-aie didn't need to build LLVM itself in this way
yea i mean this is what we discussed on slack earlier this week - i would love to be able to either
1) build iree distro
2) build iree-amd-aie using iree distro
3) load iree-amd-aie as a plugin into iree-opt
and iree-run-module
or
1) build iree distro
2) build iree-amd-aie-opt
, iree-amd-aie-run-module
using iree distro
both paths would save us a lot of CI and dev. but it's spot time right (full rebuild once every ~2 weeks when we bump iree if you're not sloppy and the bump is major). it mostly impacts new comers/explorers/tire kickers which i do care about but not so much that i'm gonna implement a plugin system for IREE lol. amortized it's not a lot of time so for now shaving 60% instead of 90% is good enough. revisit later 🤷
This PR splits up build only in CI into two steps
Why do this if it only affects CI? Because now we can also cache/save/upload the LLVM distro for each successful build thereby giving everyone (not just CI) a distro of LLVM they can use to build iree locally. This cuts down the number of files you have to compile by like 60% (from 7500 -> 2900).
In case you didn't know, the CI artifacts are at the bottom of the summary page for any given run:
EDIT: in fact we actually need this for HSA (because ROCR requires an up-to-date Clang)^1.
EDIT2: This PR now also adds powershell scripts for building on windows