jhuber6 added a comment. In D137154#3918949 <https://reviews.llvm.org/D137154#3918949>, @bader wrote:
> Is binary size a concern here? NVIDIA, AMD and Intel GPUs are already have ~ > 20 different architectures each, so I want my app/library to run on any GPU > from these vendors (which is quite reasonable expectation), I'll need to > have/distribute ~ 60 different binaries. libdevice, libm, libc are quite > small, but other apps (e.g. ML frameworks) might be quite large, so that > distributed binary size is important to consider. Yes, this probably would become untenable with really large sizes. Compression is always an option considering that these would be highly similar, we'd just need some way to check if the data stored at the `LLVM_OFFLOADING` section is some compressed format and extract it to a new buffer before doing linking. A more esoteric option would be to make a tool that takes in the LLVM-IR generated for each architecture and tries to unify it, adding branches where they differ and guard these with some flags that make the machine translator ignore them. Generally I don't think that manually searching for compatibility is a good longterm solution for libraries so we could look into alternative means (it's required for executables however). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137154/new/ https://reviews.llvm.org/D137154 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits