Fix NVRTC 13.3 warning bug in CCCL and CCCL.C#9171
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughSummary by CodeRabbit
important: Walkthrough Adds an NVRTC-specific suppression macro and propagates it plus a compile-time define through build tools, headers, and tests to suppress CUDA 13.3 NVRTC vector-deprecation warnings. Changes NVRTC 13.3 deprecated vector type warning suppression
important: Assessment against linked issues
important: Out-of-scope changes
suggestion: Suggested reviewers
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
c/parallel/test/test_util.h (1)
92-95: ⚡ Quick winsuggestion: Line 92/Line 95 should avoid a mutable options table + hardcoded count; use
const char* const options[] = {...};andstatic_cast<int>(::std::size(options))innvrtcCompileProgramto keep the count correct when flags change.As per coding guidelines: "All variables that are not modified must use const qualifier".
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 03f3afc6-6d24-440a-80f8-fc477b0e2e32
📒 Files selected for processing (58)
c/parallel/src/util/build_utils.hc/parallel/test/test_util.hcub/cub/util_type.cuhcub/test/catch2_test_device_adjacent_difference_substract_right.cucub/test/catch2_test_device_histogram.cucub/test/catch2_test_device_reduce.cucub/test/catch2_test_device_reduce.cuhcub/test/catch2_test_device_reduce_fp_inf.cucub/test/catch2_test_device_select_unique.cucub/test/catch2_test_device_select_unique_by_key.cucub/test/catch2_test_iterator.cucub/test/test_util.hcudax/include/cuda/experimental/__execution/queries.cuhlibcudacxx/include/cuda/__driver/driver_api.hlibcudacxx/include/cuda/__type_traits/scalar_type.hlibcudacxx/include/cuda/__type_traits/vector_size.hlibcudacxx/include/cuda/std/__cccl/diagnostic.hlibcudacxx/include/cuda/std/__functional/binary_function.hlibcudacxx/include/cuda/std/__functional/binary_negate.hlibcudacxx/include/cuda/std/__functional/binder1st.hlibcudacxx/include/cuda/std/__functional/binder2nd.hlibcudacxx/include/cuda/std/__functional/mem_fun_ref.hlibcudacxx/include/cuda/std/__functional/pointer_to_binary_function.hlibcudacxx/include/cuda/std/__functional/pointer_to_unary_function.hlibcudacxx/include/cuda/std/__functional/unary_function.hlibcudacxx/include/cuda/std/__functional/unary_negate.hlibcudacxx/include/cuda/std/__iterator/back_insert_iterator.hlibcudacxx/include/cuda/std/__iterator/front_insert_iterator.hlibcudacxx/include/cuda/std/__iterator/insert_iterator.hlibcudacxx/include/cuda/std/__iterator/istream_iterator.hlibcudacxx/include/cuda/std/__iterator/istreambuf_iterator.hlibcudacxx/include/cuda/std/__iterator/ostream_iterator.hlibcudacxx/include/cuda/std/__iterator/ostreambuf_iterator.hlibcudacxx/include/cuda/std/__iterator/reverse_iterator.hlibcudacxx/include/cuda/std/__memory/allocator.hlibcudacxx/include/cuda/std/__memory/allocator_traits.hlibcudacxx/include/cuda/std/__tuple_dir/vector_types.hlibcudacxx/include/cuda/std/__utility/declval.hlibcudacxx/test/libcudacxx/cuda/stream_ref/stream_ref.ready.pass.cpplibcudacxx/test/libcudacxx/cuda/stream_ref/stream_ref.wait.pass.cpplibcudacxx/test/libcudacxx/cuda/utilities/tuple/vector_types_tuple_element.pass.cpplibcudacxx/test/libcudacxx/cuda/utilities/tuple/vector_types_tuple_size.pass.cpplibcudacxx/test/libcudacxx/std/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpplibcudacxx/test/libcudacxx/std/language.support/support.limits/limits/numeric.limits.members/has_denorm.pass.cpplibcudacxx/test/libcudacxx/std/language.support/support.limits/limits/numeric.limits.members/has_denorm_loss.pass.cpplibcudacxx/test/libcudacxx/std/language.support/support.limits/limits/numeric.limits/default.pass.cpplibcudacxx/test/libcudacxx/std/language.support/support.limits/limits/round.style/check_values.pass.cpplibcudacxx/test/libcudacxx/std/numerics/c.math/fp_manip/copysign.pass.cpplibcudacxx/test/libcudacxx/std/numerics/c.math/fp_traits/fpclassify.pass.cpplibcudacxx/test/libcudacxx/std/numerics/c.math/fp_traits/isfinite.pass.cpplibcudacxx/test/libcudacxx/std/numerics/c.math/fp_traits/isinf.pass.cpplibcudacxx/test/libcudacxx/std/numerics/c.math/fp_traits/isnan.pass.cpplibcudacxx/test/libcudacxx/std/numerics/c.math/fp_traits/isnormal.pass.cpplibcudacxx/test/libcudacxx/std/numerics/c.math/fp_traits/signbit.pass.cpppython/cuda_cccl/cuda/compute/_cpp_compile.pypython/cuda_cccl/cuda/coop/_experimental/_nvrtc.pythrust/thrust/iterator/iterator_traits.hthrust/thrust/type_traits/is_trivially_relocatable.h
|
pre-commit.ci autofix |
|
/ok to test 39830e7 |
This comment has been minimized.
This comment has been minimized.
miscco
left a comment
There was a problem hiding this comment.
I hate the solution, but I believe its the only one we can reasonably do. Can we add _NVRTC to the macro so that we know its targeted to NVRTC
There was a problem hiding this comment.
🧹 Nitpick comments (1)
libcudacxx/test/libcudacxx/std/language.support/support.limits/limits/numeric.limits.members/has_denorm_loss.pass.cpp (1)
21-24: 💤 Low valuesuggestion: The
_CCCL_SUPPRESS_DEPRECATED_PUSHat line 22 lacks a matching_CCCL_SUPPRESS_DEPRECATED_POPat the end of the file. While this works (diagnostics reset at TU boundary), consider adding a conditional POP before the finalreturn 0;for consistency with other files:`#if` _CCCL_STD_VER >= 2023 _CCCL_SUPPRESS_DEPRECATED_POP `#endif`
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 2f5fad46-4d83-4bc2-8b42-21c1aa6c2eb0
📒 Files selected for processing (54)
cub/cub/util_type.cuhcub/test/catch2_test_device_adjacent_difference_substract_right.cucub/test/catch2_test_device_histogram.cucub/test/catch2_test_device_reduce.cucub/test/catch2_test_device_reduce.cuhcub/test/catch2_test_device_reduce_fp_inf.cucub/test/catch2_test_device_select_unique.cucub/test/catch2_test_device_select_unique_by_key.cucub/test/catch2_test_iterator.cucub/test/test_util.hcudax/include/cuda/experimental/__execution/queries.cuhlibcudacxx/include/cuda/__driver/driver_api.hlibcudacxx/include/cuda/__type_traits/scalar_type.hlibcudacxx/include/cuda/__type_traits/vector_size.hlibcudacxx/include/cuda/std/__cccl/diagnostic.hlibcudacxx/include/cuda/std/__functional/binary_function.hlibcudacxx/include/cuda/std/__functional/binary_negate.hlibcudacxx/include/cuda/std/__functional/binder1st.hlibcudacxx/include/cuda/std/__functional/binder2nd.hlibcudacxx/include/cuda/std/__functional/mem_fun_ref.hlibcudacxx/include/cuda/std/__functional/pointer_to_binary_function.hlibcudacxx/include/cuda/std/__functional/pointer_to_unary_function.hlibcudacxx/include/cuda/std/__functional/unary_function.hlibcudacxx/include/cuda/std/__functional/unary_negate.hlibcudacxx/include/cuda/std/__iterator/back_insert_iterator.hlibcudacxx/include/cuda/std/__iterator/front_insert_iterator.hlibcudacxx/include/cuda/std/__iterator/insert_iterator.hlibcudacxx/include/cuda/std/__iterator/istream_iterator.hlibcudacxx/include/cuda/std/__iterator/istreambuf_iterator.hlibcudacxx/include/cuda/std/__iterator/ostream_iterator.hlibcudacxx/include/cuda/std/__iterator/ostreambuf_iterator.hlibcudacxx/include/cuda/std/__iterator/reverse_iterator.hlibcudacxx/include/cuda/std/__memory/allocator.hlibcudacxx/include/cuda/std/__memory/allocator_traits.hlibcudacxx/include/cuda/std/__tuple_dir/vector_types.hlibcudacxx/include/cuda/std/__utility/declval.hlibcudacxx/test/libcudacxx/cuda/stream_ref/stream_ref.ready.pass.cpplibcudacxx/test/libcudacxx/cuda/stream_ref/stream_ref.wait.pass.cpplibcudacxx/test/libcudacxx/cuda/utilities/tuple/vector_types_tuple_element.pass.cpplibcudacxx/test/libcudacxx/cuda/utilities/tuple/vector_types_tuple_size.pass.cpplibcudacxx/test/libcudacxx/std/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpplibcudacxx/test/libcudacxx/std/language.support/support.limits/limits/numeric.limits.members/has_denorm.pass.cpplibcudacxx/test/libcudacxx/std/language.support/support.limits/limits/numeric.limits.members/has_denorm_loss.pass.cpplibcudacxx/test/libcudacxx/std/language.support/support.limits/limits/numeric.limits/default.pass.cpplibcudacxx/test/libcudacxx/std/language.support/support.limits/limits/round.style/check_values.pass.cpplibcudacxx/test/libcudacxx/std/numerics/c.math/fp_manip/copysign.pass.cpplibcudacxx/test/libcudacxx/std/numerics/c.math/fp_traits/fpclassify.pass.cpplibcudacxx/test/libcudacxx/std/numerics/c.math/fp_traits/isfinite.pass.cpplibcudacxx/test/libcudacxx/std/numerics/c.math/fp_traits/isinf.pass.cpplibcudacxx/test/libcudacxx/std/numerics/c.math/fp_traits/isnan.pass.cpplibcudacxx/test/libcudacxx/std/numerics/c.math/fp_traits/isnormal.pass.cpplibcudacxx/test/libcudacxx/std/numerics/c.math/fp_traits/signbit.pass.cppthrust/thrust/iterator/iterator_traits.hthrust/thrust/type_traits/is_trivially_relocatable.h
✅ Files skipped from review due to trivial changes (24)
- libcudacxx/include/cuda/std/__iterator/istreambuf_iterator.h
- libcudacxx/test/libcudacxx/std/numerics/c.math/fp_traits/isnan.pass.cpp
- libcudacxx/test/libcudacxx/std/language.support/support.limits/limits/round.style/check_values.pass.cpp
- libcudacxx/include/cuda/std/__iterator/istream_iterator.h
- libcudacxx/test/libcudacxx/cuda/stream_ref/stream_ref.wait.pass.cpp
- libcudacxx/include/cuda/std/__functional/unary_negate.h
- libcudacxx/include/cuda/std/__iterator/front_insert_iterator.h
- libcudacxx/test/libcudacxx/cuda/utilities/tuple/vector_types_tuple_size.pass.cpp
- libcudacxx/test/libcudacxx/std/numerics/c.math/fp_traits/isinf.pass.cpp
- libcudacxx/test/libcudacxx/std/language.support/support.limits/limits/numeric.limits/default.pass.cpp
- cub/test/catch2_test_device_select_unique_by_key.cu
- libcudacxx/test/libcudacxx/std/numerics/c.math/fp_traits/isfinite.pass.cpp
- libcudacxx/test/libcudacxx/std/numerics/c.math/fp_traits/fpclassify.pass.cpp
- libcudacxx/include/cuda/std/__iterator/reverse_iterator.h
- libcudacxx/include/cuda/__driver/driver_api.h
- cub/test/test_util.h
- libcudacxx/test/libcudacxx/cuda/stream_ref/stream_ref.ready.pass.cpp
- libcudacxx/include/cuda/std/__iterator/ostreambuf_iterator.h
- libcudacxx/test/libcudacxx/std/numerics/c.math/fp_manip/copysign.pass.cpp
- cub/test/catch2_test_device_reduce.cu
- thrust/thrust/type_traits/is_trivially_relocatable.h
- cub/test/catch2_test_device_histogram.cu
- thrust/thrust/iterator/iterator_traits.h
- libcudacxx/include/cuda/__type_traits/vector_size.h
🚧 Files skipped from review as they are similar to previous changes (23)
- cudax/include/cuda/experimental/__execution/queries.cuh
- libcudacxx/include/cuda/std/__functional/mem_fun_ref.h
- libcudacxx/include/cuda/std/__functional/pointer_to_unary_function.h
- libcudacxx/include/cuda/std/__functional/binder2nd.h
- cub/test/catch2_test_device_reduce.cuh
- libcudacxx/test/libcudacxx/cuda/utilities/tuple/vector_types_tuple_element.pass.cpp
- libcudacxx/include/cuda/std/__iterator/ostream_iterator.h
- cub/test/catch2_test_device_select_unique.cu
- libcudacxx/include/cuda/std/__functional/binary_function.h
- libcudacxx/test/libcudacxx/std/language.support/support.limits/limits/numeric.limits.members/has_denorm.pass.cpp
- cub/test/catch2_test_device_adjacent_difference_substract_right.cu
- libcudacxx/include/cuda/std/__functional/unary_function.h
- libcudacxx/test/libcudacxx/std/numerics/c.math/fp_traits/signbit.pass.cpp
- libcudacxx/include/cuda/std/__utility/declval.h
- libcudacxx/include/cuda/__type_traits/scalar_type.h
- cub/test/catch2_test_device_reduce_fp_inf.cu
- libcudacxx/test/libcudacxx/std/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp
- libcudacxx/include/cuda/std/__functional/pointer_to_binary_function.h
- libcudacxx/include/cuda/std/__tuple_dir/vector_types.h
- libcudacxx/include/cuda/std/__memory/allocator_traits.h
- libcudacxx/include/cuda/std/__memory/allocator.h
- libcudacxx/test/libcudacxx/std/numerics/c.math/fp_traits/isnormal.pass.cpp
- libcudacxx/include/cuda/std/__iterator/back_insert_iterator.h
|
pre-commit.ci autofix |
|
/ok to test f35daa2 |
🥳 CI Workflow Results🟩 Finished in 2h 29m: Pass: 100%/483 | Total: 8d 22h | Max: 2h 28m | Hits: 95%/660014See results here. |
Description
closes #9170
The fix is rather invasive because it requires us to add another macro to separate nv_diagnostic push from nv_diag_suppress. Not sure there is another way to fix this
Checklist