[Openmp-commits] [PATCH] D133277: [RFC][OpenMP][Doc] No backward compatible for libomptarget and plugins

Shilei Tian via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Thu Sep 8 12:06:11 PDT 2022

tianshilei1992 added a comment.

In D133277#3774954 <https://reviews.llvm.org/D133277#3774954>, @dreachem wrote:

> @tianshilei1992 Can you explain a bit more what is the motivation here? Does requiring a new entry point rather than changing the interface for a pre-existing entry point create problems? The Cray compiler doesn't use libomptarget, but it does use the interface. It is also designed to support interoperability with other LLVM-based compilers, which may be based on a newer version of LLVM. Backwards compatibility with the libomptarget interface is needed for that to work (not necessary for the plugins).

Like @jhuber6 mentioned, the libraries are not backward compatible any more, thus there are pointless to maintain the interfaces compatibility. It will be more convenient and more efficient.

However, I got your point. You still hope applications generated by Cray compiler can be executed with upstream `libomptarget`. That is a good design. Does it make sense for Cray to just support the interoperability with specific version of `libomptarget`? For example, say CCE x.y.z is compatible with `libomptarget.so.16`, and CCE k.m.n is compatibly with `libomptarget.so.17`, and so on. That will require Cray compiler to follow the interface changes in upstream. After all, `libomptarget` never claims to be backward compatibility and API stable. In the past we just "tried" to maintain it, but in fact never tested that. IIRC, we never expect users to used the mixed versions of libraries.

  rG LLVM Github Monorepo



More information about the Openmp-commits mailing list