-
Notifications
You must be signed in to change notification settings - Fork 188
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
Improve visibility macros for libcu++ #2337
Conversation
953882c
to
0367560
Compare
_CCCL_HIDE_FROM_ABI
for defaulted SMFWe always want to apply `_CCCL_VISIBILITY_HIDDEN` to effectively all function definitions. This has been a general thorn in our side and also introduced a considerable amout of divergence from libc++. This moves the visibility definition into CCCL and then applies the libcu++ specific extras
0367560
to
5e699f3
Compare
5e699f3
to
9caeb9b
Compare
I love that I change visibility of libcu++ functions but then cub falls down with:
|
63999c8
to
8c56801
Compare
🟨 CI finished in 8h 38m: Pass: 99%/421 | Total: 8d 14h | Avg: 29m 21s | Max: 1h 47m | Hits: 26%/34420
|
Project | |
---|---|
+/- | CCCL Infrastructure |
+/- | libcu++ |
CUB | |
Thrust | |
CUDA Experimental | |
pycuda |
Modifications in project or dependencies?
Project | |
---|---|
+/- | CCCL Infrastructure |
+/- | libcu++ |
+/- | CUB |
+/- | Thrust |
+/- | CUDA Experimental |
+/- | pycuda |
🏃 Runner counts (total jobs: 421)
# | Runner |
---|---|
304 | linux-amd64-cpu16 |
66 | linux-amd64-gpu-v100-latest-1 |
28 | linux-arm64-cpu16 |
23 | windows-amd64-cpu16 |
🟨 CI finished in 4h 16m: Pass: 98%/421 | Total: 8d 06h | Avg: 28m 13s | Max: 1h 11m | Hits: 14%/34420
|
Project | |
---|---|
+/- | CCCL Infrastructure |
+/- | libcu++ |
CUB | |
Thrust | |
CUDA Experimental | |
pycuda |
Modifications in project or dependencies?
Project | |
---|---|
+/- | CCCL Infrastructure |
+/- | libcu++ |
+/- | CUB |
+/- | Thrust |
+/- | CUDA Experimental |
+/- | pycuda |
🏃 Runner counts (total jobs: 421)
# | Runner |
---|---|
304 | linux-amd64-cpu16 |
66 | linux-amd64-gpu-v100-latest-1 |
28 | linux-arm64-cpu16 |
23 | windows-amd64-cpu16 |
f8ae928
to
e9d37c2
Compare
🟨 CI finished in 5h 28m: Pass: 99%/421 | Total: 3d 14h | Avg: 12m 23s | Max: 1h 20m | Hits: 14%/34420
|
Project | |
---|---|
+/- | CCCL Infrastructure |
+/- | libcu++ |
CUB | |
Thrust | |
CUDA Experimental | |
pycuda |
Modifications in project or dependencies?
Project | |
---|---|
+/- | CCCL Infrastructure |
+/- | libcu++ |
+/- | CUB |
+/- | Thrust |
+/- | CUDA Experimental |
+/- | pycuda |
🏃 Runner counts (total jobs: 421)
# | Runner |
---|---|
304 | linux-amd64-cpu16 |
66 | linux-amd64-gpu-v100-latest-1 |
28 | linux-arm64-cpu16 |
23 | windows-amd64-cpu16 |
🟩 CI finished in 20h 08m: Pass: 100%/421 | Total: 3d 14h | Avg: 12m 22s | Max: 1h 20m | Hits: 14%/34420
|
Project | |
---|---|
+/- | CCCL Infrastructure |
+/- | libcu++ |
CUB | |
Thrust | |
CUDA Experimental | |
pycuda |
Modifications in project or dependencies?
Project | |
---|---|
+/- | CCCL Infrastructure |
+/- | libcu++ |
+/- | CUB |
+/- | Thrust |
+/- | CUDA Experimental |
+/- | pycuda |
🏃 Runner counts (total jobs: 421)
# | Runner |
---|---|
304 | linux-amd64-cpu16 |
66 | linux-amd64-gpu-v100-latest-1 |
28 | linux-arm64-cpu16 |
23 | windows-amd64-cpu16 |
We want to apply
_CCCL_VISIBILITY_HIDDEN
to essentially all functions in libcu++.Until recently that was not yet the case because there were some lingering incompatabilities with the way -libc++ handled this.
This greatly simplifies the code and introduces
_CCCL_HIDE_FROM_ABI
for any symbol that should be hidden.In libcu++ we extent this through
_LIBCUDACXX_HIDE_FROM_ABI
by adding a convenient_CCCL_HOST_DEVICE