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

[IMP] clang-tidy support: improved clang run scripts with latest changes (see cugraph-ops) #548

Merged
merged 1 commit into from
Mar 9, 2022

Conversation

MatthiasKohl
Copy link
Contributor

This PR slightly improves the clang-tidy scripts: for now, they cannot be run successfully on all RAFT source files due to some dependencies not being compatible with clang, this support stays experimental and broken for certain sources.

However, this PR improves the scripts such that they can be used as references for other projects (in particular cudf which is looking into clang-tidy support as well). It makes the GCC tool-chain support much clearer and tries to use whatever compiler was actually used by cmake (instead of guessing what that compiler was). It is also compatible with the latest changes in RAPIDS CI docker images (see rapidsai/gpuci-build-environment#246).

For reference of the scripts, see also https://github.com/rapidsai/cugraph-ops/pull/41 (requires RAPIDS organization access), which adds full clang-tidy support in a RAPIDS project.

@MatthiasKohl MatthiasKohl requested a review from a team as a code owner March 8, 2022 16:17
@github-actions github-actions bot added the cpp label Mar 8, 2022
@MatthiasKohl MatthiasKohl added 3 - Ready for Review improvement Improvement / enhancement to an existing function non-breaking Non-breaking change python and removed cpp python labels Mar 8, 2022
Copy link
Member

@cjnolet cjnolet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes LGTM. Out of curiosity, what dependencies are still blocking clang-tidy support? I’m not opposed to overriding some dependencies in raft if it’s necessary to make this work.

@cjnolet
Copy link
Member

cjnolet commented Mar 9, 2022

@gpucibot merge

@rapids-bot rapids-bot bot merged commit b5de437 into rapidsai:branch-22.04 Mar 9, 2022
@MatthiasKohl
Copy link
Contributor Author

@cjnolet I believe it's mainly cuco and libcudacxx.
There is also the CUDA toolkit itself, but that would be fixed by upgrading clang (and tools) to version >= 13.
That update might slightly affect clang-format outputs as well, so we should keep that in mind.

In any case, I can try to see what exactly is causing these issues within cuco and libcudacxx and we might be able to improve things there to be compatible with clang (or maybe add a few intrinsics like I did with the __ldcg-kind of functions in CUDA).
Right now, I've created issues on those projects, but I don't think that this is on their roadmaps.

@cjnolet
Copy link
Member

cjnolet commented Mar 9, 2022

Darn! I guess we still have a bit before we can support this fully in raft. In due time, I guess. Thanks again for keeping the scripts up to date!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3 - Ready for Review improvement Improvement / enhancement to an existing function non-breaking Non-breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants