-
Notifications
You must be signed in to change notification settings - Fork 206
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
Disable system header for narrowing conversion check #2465
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This was
linked to
issues
Sep 26, 2024
1 task
057240b
to
24f0e5b
Compare
🟩 CI finished in 51m 25s: Pass: 100%/364 | Total: 1d 13h | Avg: 6m 08s | Max: 43m 08s | Hits: 77%/25663
|
Project | |
---|---|
CCCL Infrastructure | |
+/- | libcu++ |
CUB | |
Thrust | |
CUDA Experimental | |
pycuda | |
CUDA C Core Library |
Modifications in project or dependencies?
Project | |
---|---|
CCCL Infrastructure | |
+/- | libcu++ |
+/- | CUB |
+/- | Thrust |
+/- | CUDA Experimental |
+/- | pycuda |
+/- | CUDA C Core Library |
🏃 Runner counts (total jobs: 364)
# | Runner |
---|---|
297 | linux-amd64-cpu16 |
28 | linux-arm64-cpu16 |
24 | linux-amd64-gpu-v100-latest-1 |
15 | windows-amd64-cpu16 |
671d787
to
a57f3fc
Compare
🟨 CI finished in 1h 54m: Pass: 99%/364 | Total: 7d 14h | Avg: 30m 00s | Max: 1h 19m | Hits: 10%/25671
|
Project | |
---|---|
CCCL Infrastructure | |
+/- | libcu++ |
CUB | |
Thrust | |
CUDA Experimental | |
pycuda | |
CUDA C Core Library |
Modifications in project or dependencies?
Project | |
---|---|
CCCL Infrastructure | |
+/- | libcu++ |
+/- | CUB |
+/- | Thrust |
+/- | CUDA Experimental |
+/- | pycuda |
+/- | CUDA C Core Library |
🏃 Runner counts (total jobs: 364)
# | Runner |
---|---|
297 | linux-amd64-cpu16 |
28 | linux-arm64-cpu16 |
24 | linux-amd64-gpu-v100-latest-1 |
15 | windows-amd64-cpu16 |
🟨 CI finished in 2h 31m: Pass: 99%/364 | Total: 2d 10h | Avg: 9m 37s | Max: 1h 26m | Hits: 74%/25671
|
Project | |
---|---|
CCCL Infrastructure | |
+/- | libcu++ |
CUB | |
Thrust | |
CUDA Experimental | |
pycuda | |
CUDA C Core Library |
Modifications in project or dependencies?
Project | |
---|---|
CCCL Infrastructure | |
+/- | libcu++ |
+/- | CUB |
+/- | Thrust |
+/- | CUDA Experimental |
+/- | pycuda |
+/- | CUDA C Core Library |
🏃 Runner counts (total jobs: 364)
# | Runner |
---|---|
297 | linux-amd64-cpu16 |
28 | linux-arm64-cpu16 |
24 | linux-amd64-gpu-v100-latest-1 |
15 | windows-amd64-cpu16 |
🟩 CI finished in 15h 45m: Pass: 100%/364 | Total: 2d 09h | Avg: 9m 28s | Max: 1h 00m | Hits: 74%/25671
|
Project | |
---|---|
CCCL Infrastructure | |
+/- | libcu++ |
CUB | |
Thrust | |
CUDA Experimental | |
pycuda | |
CUDA C Core Library |
Modifications in project or dependencies?
Project | |
---|---|
CCCL Infrastructure | |
+/- | libcu++ |
+/- | CUB |
+/- | Thrust |
+/- | CUDA Experimental |
+/- | pycuda |
+/- | CUDA C Core Library |
🏃 Runner counts (total jobs: 364)
# | Runner |
---|---|
297 | linux-amd64-cpu16 |
28 | linux-arm64-cpu16 |
24 | linux-amd64-gpu-v100-latest-1 |
15 | windows-amd64-cpu16 |
__is_implicitly_convertible
miscco
commented
Sep 30, 2024
@@ -12,6 +12,7 @@ | |||
#define __CCCL_SYSTEM_HEADER_H | |||
|
|||
#include <cuda/std/__cccl/compiler.h> | |||
#include <cuda/std/__cccl/is_explicitly_convertible.h> // IWYU pragma: export |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ericniebler : please add a comment
miscco
commented
Sep 30, 2024
🟩 CI finished in 1h 54m: Pass: 100%/364 | Total: 6d 22h | Avg: 27m 25s | Max: 1h 19m | Hits: 15%/25671
|
Project | |
---|---|
CCCL Infrastructure | |
+/- | libcu++ |
CUB | |
Thrust | |
CUDA Experimental | |
pycuda | |
CUDA C Core Library |
Modifications in project or dependencies?
Project | |
---|---|
CCCL Infrastructure | |
+/- | libcu++ |
+/- | CUB |
+/- | Thrust |
+/- | CUDA Experimental |
+/- | pycuda |
+/- | CUDA C Core Library |
🏃 Runner counts (total jobs: 364)
# | Runner |
---|---|
297 | linux-amd64-cpu16 |
28 | linux-arm64-cpu16 |
24 | linux-amd64-gpu-v100-latest-1 |
15 | windows-amd64-cpu16 |
__is_implicitly_convertible
🟨 CI finished in 2h 00m: Pass: 99%/364 | Total: 8d 02h | Avg: 32m 08s | Max: 1h 26m | Hits: 10%/25671
|
Project | |
---|---|
CCCL Infrastructure | |
+/- | libcu++ |
CUB | |
Thrust | |
CUDA Experimental | |
pycuda | |
CUDA C Core Library |
Modifications in project or dependencies?
Project | |
---|---|
CCCL Infrastructure | |
+/- | libcu++ |
+/- | CUB |
+/- | Thrust |
+/- | CUDA Experimental |
+/- | pycuda |
+/- | CUDA C Core Library |
🏃 Runner counts (total jobs: 364)
# | Runner |
---|---|
297 | linux-amd64-cpu16 |
28 | linux-arm64-cpu16 |
24 | linux-amd64-gpu-v100-latest-1 |
15 | windows-amd64-cpu16 |
a4715e7
to
fa3aa0f
Compare
There is an incredible compiler bug reported in nvbug4867473 where the use of system header changes the way some types are instantiated. The culprit seems to be that within a system header the compiler accepts narrowing conversions that it should not accept Work around it by moving __is_non_narrowing_convertible to its own header that is included before we define the system header machinery
fa3aa0f
to
cfb0af0
Compare
🟩 CI finished in 2h 07m: Pass: 100%/364 | Total: 8d 07h | Avg: 32m 48s | Max: 1h 25m | Hits: 9%/25691
|
Project | |
---|---|
CCCL Infrastructure | |
+/- | libcu++ |
CUB | |
Thrust | |
CUDA Experimental | |
pycuda | |
CUDA C Core Library |
Modifications in project or dependencies?
Project | |
---|---|
CCCL Infrastructure | |
+/- | libcu++ |
+/- | CUB |
+/- | Thrust |
+/- | CUDA Experimental |
+/- | pycuda |
+/- | CUDA C Core Library |
🏃 Runner counts (total jobs: 364)
# | Runner |
---|---|
297 | linux-amd64-cpu16 |
28 | linux-arm64-cpu16 |
24 | linux-amd64-gpu-v100-latest-1 |
15 | windows-amd64-cpu16 |
wmaxey
approved these changes
Oct 1, 2024
fbusato
pushed a commit
to fbusato/cccl
that referenced
this pull request
Oct 2, 2024
There is an incredible compiler bug reported in nvbug4867473 where the use of system header changes the way some types are instantiated. The culprit seems to be that within a system header the compiler accepts narrowing conversions that it should not accept Work around it by moving __is_non_narrowing_convertible to its own header that is included before we define the system header machinery
wmaxey
pushed a commit
that referenced
this pull request
Oct 14, 2024
There is an incredible compiler bug reported in nvbug4867473 where the use of system header changes the way some types are instantiated. The culprit seems to be that within a system header the compiler accepts narrowing conversions that it should not accept Work around it by moving __is_non_narrowing_convertible to its own header that is included before we define the system header machinery
wmaxey
added a commit
that referenced
this pull request
Oct 15, 2024
* Fix `common_type` specialization for extended floating point types (#2483) * Fix `common_type` specialization for extended floating point types The machinery we had in place was not really suited to specialize `common_type` because it would take precendence over the actual implementation of `common_type` In that case, we only specialized `common_type<__half, __half>` but not `common_type<__half, __half&>` and so on. This shows how brittle the whole thing is and that it is not extensible. Rather than putting another bandaid over it, add a proper 5th step in the common_type detection that properly treats combinations of an extended floating point type with an arithmetic type. Allowing arithmetic types it necessary to keep machinery like `pow(__half, 2)` working. Fixes [BUG]: `is_common_type` trait is broken when mixing rvalue references #2419 * Work around MSVC declval bug * Disable system header for narrowing conversion check (#2465) There is an incredible compiler bug reported in nvbug4867473 where the use of system header changes the way some types are instantiated. The culprit seems to be that within a system header the compiler accepts narrowing conversions that it should not accept Work around it by moving __is_non_narrowing_convertible to its own header that is included before we define the system header machinery * Drop 2 relative includes that snuck in (#2492) * Fix popc.h when architecture is not x86 on MSVC. (#2524) * Fix popc when architecture is not x86 * Update libcudacxx/include/cuda/std/__bit/popc.h --------- Co-authored-by: Michael Schellenberger Costa <[email protected]> * Make `bit_cast` play nice with extended floating point types (#2434) * Move `__is_nvbf16` and `__is_nvfp16` to their own file * Make `bit_cast` play nice with extended floating point types --------- Co-authored-by: Michael Schellenberger Costa <[email protected]>
This PR closed #2013 . |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
bug: functional
libcu++
For all items related to libcu++
nvbug
Has an associated internal NVIDIA NVBug.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There is an incredible compiler bug reported in nvbug4867473 where the use of system header changes the way some types are instantiated.
The culprit seems to be that within a system header the compiler accepts narrowing conversions that it should not accept
Work around it by moving
__is_non_narrowing_convertible
to its own header that is included before we define the system header machinery