libcudacxx
libcudacxx copied to clipboard
There should be a way to determine supported ABI versions
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<cuda/std/version>
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
.