Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

API/ABI Compatibility #218

Closed
jakirkham opened this issue May 7, 2019 · 2 comments
Closed

API/ABI Compatibility #218

jakirkham opened this issue May 7, 2019 · 2 comments

Comments

@jakirkham
Copy link

Am curious what the intended API/ABI compatibility of NCCL is. When do breaking changes occur? When do new features get added? Is there backwards and/or forwards compatibility? How are these (and other) changes noted in the version?

@sjeaugey
Copy link
Member

sjeaugey commented May 7, 2019

As for other libraries, breaking changes occur only when the major number changes. The NCCL API only changed between NCCL 1.x and NCCL 2.0.

Note this is a general rule : the compiler will link applications against the major version of the library (i.e. libnccl.so.2), which means it cannot work with a different major version (libnccl.so.1, not binary compatible) but can work with any future version.

Features can be added on any version, although main features would generally increase the minor number. Patches and small features (e.g. a new environment variable to control a setting) would usually only increase the patch number.

Changes are noted in the git commit message, but you can also find release notes for the binaries provided on the developer zone :
https://docs.nvidia.com/deeplearning/sdk/nccl-release-notes/index.html

Let me know if that answers your question.

@jakirkham
Copy link
Author

Yep, this is exactly what I was looking for. Thanks for your detailed response, Sylvain. 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants