There should be a way to determine supported ABI versions
- Dominant language
- C++
- Stars
- 2.5k
- Forks
- 486
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 295
Description
https://nvidia.github.io/libcudacxx/releases/versioning.html#libcu-abi-versioning says:
> A snapshot of the codebase may support multiple ABI versions at the same time. They always use the latest available ABI version by default. The macro `_LIBCUDACXX_CUDA_ABI_VERSION_LATEST` from `` defines the value of the latest ABI version.
>
> New ABI versions may be introduced at any point in time, which means that the default ABI version may change in any release. A subset of older ABI versions can be used instead by defining `_LIBCUDACXX_CUDA_ABI_VERSION` to the desired version.
So it looks like I can figure out the latest supported ABI version, and I can try to set an ABI version, but I can't know in advance what is possible (to inform my choice for `_LIBCUDACXX_CUDA_ABI_VERSION`). I might want to do this to automatically match a new build with an existing installation or with binary packages I've already got on hand.
This seems to just be spelled out in the code, like this:
https://github.com/NVIDIA/libcudacxx/blob/main/include/cuda/std/detail/__config#L110-111
It would be easier to check programmatically if there were an additional `#define` like `_LIBCUDACXX_CUDA_ABI_VERSION_OLDEST` or `_LIBCUDACXX_CUDA_ABI_VERSION_SUPPORTED`.
Contributor guide
Assessment
This issue has not been assessed yet.