Open fbusato opened 1 month ago
That is a hard no.
Exposing those macros to users prevents us from ever changing them again if need be. We recently spend a lot of time cleaning up our internal infrastructure and its been a pain to have to ensure backwards compatibility with publicly exposed Thrust and CUB macros.
that's true, backwards compatibility is problematic. However, we should at least list these macros (or a subset of them) somewhere. As an external user, I would prefer taking the risk even if internal only instead of reimplementing many of them, at least initially...
That is not how it works. The moment we list something user will use that and complain if it fails.
These macros should be documented in a Developer Guide. That is not the same as making them part of the public API.
I agree with @jrhemstad. It would also help me as a CCCL developer to have a list of those macros in a guide intended only for CCCL developers.
Is this a duplicate?
Is this for new documentation, or an update to existing docs?
New
Describe the incorrect/future/missing documentation
CCCL macros are very curated and are tested across many configurations in all projects that adopt CCCL. Some examples:
_CCCL_HOST_DEVICE
_CCCL_FALLTHROUGH
,_CCCL_NODISCARD
_CCCL_CUDA_COMPILER
_CCCL_HAS_BUILTIN
_CCCL_STD_VER
,These macros can be documented and exposed to users
If this is a correction, please provide a link to the incorrect documentation. If this is a new documentation request, please link to where you have looked.
https://nvidia.github.io/cccl/libcudacxx/extended_api/macro.html