[Openmp-commits] [llvm] [openmp] [OpenMP] Change build of OpenMP device runtime to be a separate runtime (PR #136729)
Michael Kruse via Openmp-commits
openmp-commits at lists.llvm.org
Mon Apr 28 03:59:36 PDT 2025
Meinersbur wrote:
> Now, should Offload depend on OpenMP: No. We should invest time to break that dependence, and this PR does not improve the situation. I mentioned this before, `DeviceRTL.openmp.a` (what is moved here), has no ties to `openmp/` but only to `offload/`. Even if you split the generic parts out, moving the DeviceRTL openmp parts doesn't change the dependence situation at all.
Only because the OpenMP DeviceRTL duplicates definitions such as [`kmp_sched_t`](https://github.com/llvm/llvm-project/blob/ec1016f7ef9ff97ecef6e2e84a55d36d7bfbe803/offload/DeviceRTL/include/DeviceTypes.h#L39) from openmp's `kmp.h`.
If breaking dependence means copy & pasting shared definitions wholesale then I am strongly against it. This increases the maintanance burdon instead of decreasing it. If you know how to do without, please sketch out you plan.
> Offload depends on OpenMP (for now), but OpenMP is useful standalone. Flang depends on MLIR, but MLIR is useful standalone. ...
This should not be about usefulness, but component dependencies. A generic utility library should not contain code that can only be used with only specific project that uses the library, and not have knowledge of the dependent project's internal working even if it is not strictly a dependency due to its definitions just being duplicated.
https://github.com/llvm/llvm-project/pull/136729
More information about the Openmp-commits
mailing list