clvk
clvk copied to clipboard
Build time reduction
I don't know how much time you can get, but here is what [ChromeOS](https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/main/media-libs/clvk/clvk-0.0.1.ebuild) is using to reduce the build time of clvk:
-DLLVM_INCLUDE_BENCHMARKS=OFF
-DLLVM_INCLUDE_EXAMPLES=OFF
-DLLVM_INCLUDE_TESTS=OFF
-DLLVM_ENABLE_BINDINGS=OFF
-DLLVM_ENABLE_UNWIND_TABLES=OFF
-DLLVM_BUILD_TOOLS=OFF
-DCLSPV_BUILD_SPIRV_DIS=OFF
-DCLSPV_BUILD_TESTS=OFF
-DCLVK_BUILD_TESTS=OFF
-DCLVK_BUILD_SPIRV_TOOLS=OFF
-DCLVK_ENABLE_SPIRV_IL=OFF
Maybe we should regroup all that under one variable inside our cmake. It would make it easier to maintain
Originally posted by @rjodinchr in https://github.com/kpet/clvk/pull/543#discussion_r1214808141
Reposting my initial reply here (was hoping Github would copy the whole conversation):
Some of these could probably be set by default. We could introduce a flag to select "dev" vs. "release" builds (that would have to be different from CMAKE_BUILD_TYPE I think) to enable/disable testing and tools maybe. AFAICT, the biggest savings will come from disabling SPIRV-Tools and the SPIRV-LLVM-Translator. Let's take the discussion to a dedicated issue to not pollute that PR.