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

[DOC]: Document relevant CCCL macros #2504

Closed
1 task done
fbusato opened this issue Oct 3, 2024 · 5 comments · Fixed by #3238
Closed
1 task done

[DOC]: Document relevant CCCL macros #2504

fbusato opened this issue Oct 3, 2024 · 5 comments · Fixed by #3238
Assignees
Labels
doc Documentation-related items.

Comments

@fbusato
Copy link
Contributor

fbusato commented Oct 3, 2024

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:

  • host/device: _CCCL_HOST_DEVICE
  • standard attributes: _CCCL_FALLTHROUGH, _CCCL_NODISCARD
  • compiler macros: _CCCL_CUDA_COMPILER
  • buildins: _CCCL_HAS_BUILTIN
  • dialects: _CCCL_STD_VER,
  • etc.

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

@fbusato fbusato added the doc Documentation-related items. label Oct 3, 2024
@fbusato fbusato self-assigned this Oct 3, 2024
@github-project-automation github-project-automation bot moved this to Todo in CCCL Oct 3, 2024
@miscco
Copy link
Collaborator

miscco commented Oct 4, 2024

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.

@fbusato
Copy link
Contributor Author

fbusato commented Oct 4, 2024

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...

@miscco
Copy link
Collaborator

miscco commented Oct 4, 2024

That is not how it works. The moment we list something user will use that and complain if it fails.

@jrhemstad
Copy link
Collaborator

These macros should be documented in a Developer Guide. That is not the same as making them part of the public API.

@bernhardmgruber
Copy link
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc Documentation-related items.
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

4 participants