openucx / ucc

Unified Collective Communication Library
https://openucx.github.io/ucc/
BSD 3-Clause "New" or "Revised" License
177 stars 85 forks source link

API/ABI compatibility of UCC #968

Closed jakirkham closed 2 months ago

jakirkham commented 2 months ago

What sort of API/ABI compatibility does UCC provide?

IOW if another library is built against a particular version of UCC (like 1.1.0), what versions of UCC could it work with at runtime?

Looking at this code, it appears that it might be SemVer. Is that true or is there some other compatibility guarantees?

https://github.com/openucx/ucc/blob/20eae37090a4ce1b32bcce6144ccad0b49943e0b/src/core/ucc_lib.c#L319-L328

Sergei-Lebedev commented 2 months ago

Hi @jakirkham, UCC is API and ABI backward compatible within the same major version. At the same time UCC relies on UCS (one of the UCX components) and UCS is not backward compatible.

jakirkham commented 2 months ago

Thanks Sergey! 🙏