NVIDIA / NVIDIA/cccl

There should be a way to determine supported ABI versions

Open
#938 1 comment 0 reactions 1 assignee Claimed by @griwes View on GitHub
libcu++
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.