From 5c4dda7ae99253e9f83e86ccaa5ea173922c4943 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Mon, 17 Aug 2026 16:50:08 -0700 Subject: [PATCH 1/7] Use cuda::stream_ref in libcudf tests --- cpp/include/cudf_test/debug_utilities.hpp | 16 ++-- cpp/include/cudf_test/default_stream.hpp | 6 +- cpp/include/cudf_test/print_utilities.cuh | 8 +- .../stream_checking_resource_adaptor.hpp | 12 +-- cpp/include/cudf_test/table_utilities.hpp | 8 +- cpp/include/cudf_test/testing_main.hpp | 4 +- cpp/tests/ast/transform_tests.cpp | 4 +- cpp/tests/bitmask/bitmask_tests.cpp | 2 +- cpp/tests/copying/concatenate_tests.cpp | 2 +- .../device_atomics/device_atomics_test.cu | 14 ++-- cpp/tests/interop/from_arrow_device_test.cpp | 8 +- cpp/tests/iterator/iterator_tests.cuh | 6 +- .../iterator/value_iterator_test_strings.cu | 4 +- cpp/tests/join/join_tests.cpp | 3 +- .../quantiles/percentile_approx_test.cpp | 82 +++++++++++++++++-- cpp/tests/reshape/table_to_array_tests.cpp | 4 +- cpp/tests/row_operator/row_operator_tests.cu | 10 +-- .../row_operator_tests_utilities.hpp | 10 +-- .../row_operator/self_comparison_utilities.cu | 8 +- .../two_table_comparison_utilities.cu | 14 ++-- .../two_table_equality_utilities.cu | 8 +- cpp/tests/scalar/scalar_device_view_test.cu | 14 ++-- cpp/tests/table/table_view_tests.cu | 4 +- cpp/tests/types/type_dispatcher_test.cu | 8 +- cpp/tests/utilities/debug_utilities.cu | 40 ++++----- cpp/tests/utilities/default_stream.cpp | 4 +- cpp/tests/utilities/identify_stream_usage.cpp | 14 ++-- cpp/tests/utilities/roaring_bitmap_test.cpp | 8 +- cpp/tests/utilities/table_utilities.cu | 4 +- cpp/tests/utilities_tests/span_tests.cu | 12 +-- cpp/tests/wrappers/timestamps_test.cu | 2 +- 31 files changed, 207 insertions(+), 136 deletions(-) diff --git a/cpp/include/cudf_test/debug_utilities.hpp b/cpp/include/cudf_test/debug_utilities.hpp index e7f0b3f84239..6e26b065e652 100644 --- a/cpp/include/cudf_test/debug_utilities.hpp +++ b/cpp/include/cudf_test/debug_utilities.hpp @@ -12,7 +12,7 @@ #include #include -#include +#include namespace CUDF_EXPORT cudf { namespace test { @@ -27,8 +27,8 @@ namespace test { */ std::string to_string(cudf::column_view const& col, std::string const& delimiter, - rmm::cuda_stream_view stream = cudf::test::get_default_stream(), - cudf::memory_resources mr = cudf::get_current_device_resource_ref()); + cuda::stream_ref stream = cudf::test::get_default_stream(), + cudf::memory_resources mr = cudf::get_current_device_resource_ref()); /** * @brief Convert column values to a host vector of strings @@ -39,8 +39,8 @@ std::string to_string(cudf::column_view const& col, */ std::vector to_strings( cudf::column_view const& col, - rmm::cuda_stream_view stream = cudf::test::get_default_stream(), - cudf::memory_resources mr = cudf::get_current_device_resource_ref()); + cuda::stream_ref stream = cudf::test::get_default_stream(), + cudf::memory_resources mr = cudf::get_current_device_resource_ref()); /** * @brief Print a column view to an ostream @@ -51,9 +51,9 @@ std::vector to_strings( * @param mr Memory resources used for temporary device allocations */ void print(cudf::column_view const& col, - std::ostream& os = std::cout, - rmm::cuda_stream_view stream = cudf::test::get_default_stream(), - cudf::memory_resources mr = cudf::get_current_device_resource_ref()); + std::ostream& os = std::cout, + cuda::stream_ref stream = cudf::test::get_default_stream(), + cudf::memory_resources mr = cudf::get_current_device_resource_ref()); } // namespace test } // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf_test/default_stream.hpp b/cpp/include/cudf_test/default_stream.hpp index 4e9b6e612eda..8254d3d99ece 100644 --- a/cpp/include/cudf_test/default_stream.hpp +++ b/cpp/include/cudf_test/default_stream.hpp @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2022-2024, NVIDIA CORPORATION. + * SPDX-FileCopyrightText: Copyright (c) 2022-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ @@ -7,7 +7,7 @@ #include -#include +#include namespace CUDF_EXPORT cudf { namespace test { @@ -26,7 +26,7 @@ namespace test { * * @return The default stream to use for tests. */ -rmm::cuda_stream_view const get_default_stream(); +cuda::stream_ref const get_default_stream(); } // namespace test } // namespace CUDF_EXPORT cudf diff --git a/cpp/include/cudf_test/print_utilities.cuh b/cpp/include/cudf_test/print_utilities.cuh index 484115f308e7..7acb3f203a46 100644 --- a/cpp/include/cudf_test/print_utilities.cuh +++ b/cpp/include/cudf_test/print_utilities.cuh @@ -9,9 +9,9 @@ #include #include -#include - #include +#include +#include #include #include @@ -115,7 +115,7 @@ CUDF_KERNEL void print_array_kernel(std::size_t count, int32_t width, char delim * @param args List of iterators to be printed */ template -void print_array(std::size_t count, rmm::cuda_stream_view stream, Ts... args) +void print_array(std::size_t count, cuda::stream_ref stream, Ts... args) { // The width to pad printed numbers to constexpr int32_t width = 6; @@ -125,7 +125,7 @@ void print_array(std::size_t count, rmm::cuda_stream_view stream, Ts... args) // TODO we want this to compile to nothing dependnig on compiler flag, rather than runtime if (std::getenv("CUDA_DBG_DUMP") != nullptr) { - detail::print_array_kernel<<<1, 1, 0, stream.value()>>>(count, width, delimiter, args...); + detail::print_array_kernel<<<1, 1, 0, stream.get()>>>(count, width, delimiter, args...); } } diff --git a/cpp/include/cudf_test/stream_checking_resource_adaptor.hpp b/cpp/include/cudf_test/stream_checking_resource_adaptor.hpp index d7115df0c666..c356eb2eb6ac 100644 --- a/cpp/include/cudf_test/stream_checking_resource_adaptor.hpp +++ b/cpp/include/cudf_test/stream_checking_resource_adaptor.hpp @@ -9,11 +9,11 @@ #include #include -#include #include #include #include +#include #include #include @@ -76,7 +76,7 @@ class stream_checking_resource_adaptor final { std::size_t bytes, std::size_t alignment = rmm::CUDA_ALLOCATION_ALIGNMENT) { - verify_stream(rmm::cuda_stream_view{stream.get()}); + verify_stream(cuda::stream_ref{stream.get()}); return upstream_.allocate(stream, bytes, alignment); } @@ -85,7 +85,7 @@ class stream_checking_resource_adaptor final { std::size_t bytes, std::size_t alignment = rmm::CUDA_ALLOCATION_ALIGNMENT) noexcept { - verify_stream(rmm::cuda_stream_view{stream.get()}); + verify_stream(cuda::stream_ref{stream.get()}); upstream_.deallocate(stream, ptr, bytes, alignment); } @@ -116,13 +116,13 @@ class stream_checking_resource_adaptor final { * * @throws `std::runtime_error` if provided an invalid stream */ - void verify_stream(rmm::cuda_stream_view const stream) const + void verify_stream(cuda::stream_ref const stream) const { - auto cstream{stream.value()}; + auto cstream{stream.get()}; auto const invalid_stream = check_default_stream_ ? ((cstream == cudaStreamDefault) || (cstream == cudaStreamLegacy) || (cstream == cudaStreamPerThread)) - : (cstream != cudf::test::get_default_stream().value()); + : (cstream != cudf::test::get_default_stream().get()); if (invalid_stream) { if (error_on_invalid_stream_) { diff --git a/cpp/include/cudf_test/table_utilities.hpp b/cpp/include/cudf_test/table_utilities.hpp index 7393047f8f18..a1e50f86d4da 100644 --- a/cpp/include/cudf_test/table_utilities.hpp +++ b/cpp/include/cudf_test/table_utilities.hpp @@ -12,7 +12,7 @@ #include #include -#include +#include namespace CUDF_EXPORT cudf { namespace test::detail { @@ -41,8 +41,8 @@ void expect_table_properties_equal(cudf::table_view lhs, cudf::table_view rhs); */ void expect_tables_equal(cudf::table_view lhs, cudf::table_view rhs, - rmm::cuda_stream_view stream = cudf::test::get_default_stream(), - cudf::memory_resources mr = cudf::get_current_device_resource_ref()); + cuda::stream_ref stream = cudf::test::get_default_stream(), + cudf::memory_resources mr = cudf::get_current_device_resource_ref()); /** * @brief Verifies the equivalency of two tables. @@ -60,7 +60,7 @@ void expect_tables_equal(cudf::table_view lhs, */ void expect_tables_equivalent(cudf::table_view lhs, cudf::table_view rhs, - rmm::cuda_stream_view stream = cudf::test::get_default_stream(), + cuda::stream_ref stream = cudf::test::get_default_stream(), cudf::memory_resources mr = cudf::get_current_device_resource_ref()); } // namespace test::detail diff --git a/cpp/include/cudf_test/testing_main.hpp b/cpp/include/cudf_test/testing_main.hpp index 69a66ca568db..c6ceaf1552bc 100644 --- a/cpp/include/cudf_test/testing_main.hpp +++ b/cpp/include/cudf_test/testing_main.hpp @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2020-2026, NVIDIA CORPORATION. + * SPDX-FileCopyrightText: Copyright (c) 2020-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ @@ -15,7 +15,6 @@ #include #include -#include #include #include #include @@ -28,6 +27,7 @@ #include #include +#include #include diff --git a/cpp/tests/ast/transform_tests.cpp b/cpp/tests/ast/transform_tests.cpp index a7463a79c244..1446a94d27ed 100644 --- a/cpp/tests/ast/transform_tests.cpp +++ b/cpp/tests/ast/transform_tests.cpp @@ -49,7 +49,7 @@ struct executor_ast { static std::unique_ptr compute_column( cudf::table_view const& table, cudf::ast::expression const& expr, - rmm::cuda_stream_view stream = cudf::get_default_stream(), + cuda::stream_ref stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref()) { return cudf::compute_column(table, expr, stream, mr); @@ -60,7 +60,7 @@ struct executor_jit { static std::unique_ptr compute_column( cudf::table_view const& table, cudf::ast::expression const& expr, - rmm::cuda_stream_view stream = cudf::get_default_stream(), + cuda::stream_ref stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref()) { return cudf::compute_column_jit(table, expr, stream, mr); diff --git a/cpp/tests/bitmask/bitmask_tests.cpp b/cpp/tests/bitmask/bitmask_tests.cpp index 2d56a774c141..c1bf28ff03b8 100644 --- a/cpp/tests/bitmask/bitmask_tests.cpp +++ b/cpp/tests/bitmask/bitmask_tests.cpp @@ -85,7 +85,7 @@ rmm::device_uvector make_mask(cudf::size_type size, bool fil CUDF_CUDA_TRY(cudaMemsetAsync(ret.data(), ~cudf::bitmask_type{0}, size * sizeof(cudf::bitmask_type), - cudf::get_default_stream().value())); + cudf::get_default_stream().get())); return ret; } } diff --git a/cpp/tests/copying/concatenate_tests.cpp b/cpp/tests/copying/concatenate_tests.cpp index e23bf57c3216..0e3ec61e98d0 100644 --- a/cpp/tests/copying/concatenate_tests.cpp +++ b/cpp/tests/copying/concatenate_tests.cpp @@ -360,7 +360,7 @@ TEST_F(OverflowTest, OverflowTest) cudf::table_view tbl_last({*many_chars_last}); std::vector table_views_to_concat({tbl, tbl, tbl, tbl, tbl, tbl_last}); std::unique_ptr concatenated_tables = cudf::concatenate(table_views_to_concat); - EXPECT_NO_THROW(cudf::get_default_stream().synchronize()); + EXPECT_NO_THROW(cudf::get_default_stream().sync()); ASSERT_EQ(concatenated_tables->num_rows(), std::numeric_limits::max()); } diff --git a/cpp/tests/device_atomics/device_atomics_test.cu b/cpp/tests/device_atomics/device_atomics_test.cu index 90ef2f17533d..ee9d44a1ffb4 100644 --- a/cpp/tests/device_atomics/device_atomics_test.cu +++ b/cpp/tests/device_atomics/device_atomics_test.cu @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2021-2025, NVIDIA CORPORATION. + * SPDX-FileCopyrightText: Copyright (c) 2021-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ @@ -146,16 +146,16 @@ struct AtomicsTest : public cudf::test::BaseFixture { if (block_size == 0) { block_size = vec_size; } if (is_cas_test) { - gpu_atomicCAS_test<<>>( + gpu_atomicCAS_test<<>>( dev_result.data(), dev_data.data(), vec_size); } else { - gpu_atomic_test<<>>( + gpu_atomic_test<<>>( dev_result.data(), dev_data.data(), vec_size); } auto host_result = cudf::detail::make_host_vector(dev_result, cudf::get_default_stream()); - CUDF_CHECK_CUDA(cudf::get_default_stream().value()); + CUDF_CHECK_CUDA(cudf::get_default_stream().get()); if (!is_timestamp_sum()) { EXPECT_EQ(host_result[0], exact[0]) << "atomicAdd test failed"; @@ -265,9 +265,9 @@ class Atomic128Test : public cudf::test::BaseFixture { __int128_t expected_result) { rmm::device_scalar<__int128_t> d_target(initial_value, cudf::get_default_stream()); - test_single_atomic_add_kernel<<<32, 256, 0, cudf::get_default_stream().value()>>>( - d_target.data(), add_value); - CUDF_CHECK_CUDA(cudf::get_default_stream().value()); + test_single_atomic_add_kernel<<<32, 256, 0, cudf::get_default_stream().get()>>>(d_target.data(), + add_value); + CUDF_CHECK_CUDA(cudf::get_default_stream().get()); __int128_t result = d_target.value(cudf::get_default_stream()); EXPECT_EQ(result, expected_result); } diff --git a/cpp/tests/interop/from_arrow_device_test.cpp b/cpp/tests/interop/from_arrow_device_test.cpp index df83837bb2e8..a0f80ffad8b4 100644 --- a/cpp/tests/interop/from_arrow_device_test.cpp +++ b/cpp/tests/interop/from_arrow_device_test.cpp @@ -798,7 +798,7 @@ TEST_F(FromArrowDeviceTest, StringViewType) items, input.length * sizeof(ArrowBinaryView), cudaMemcpyDefault, - stream.value())); + stream.get())); auto variadics = std::vector(); auto variadic_ptrs = std::vector(); for (auto i = 0L; i < view.n_variadic_buffers; ++i) { @@ -806,7 +806,7 @@ TEST_F(FromArrowDeviceTest, StringViewType) variadic_ptrs.push_back(static_cast(variadics.back().data())); } - stream.synchronize(); + stream.sync(); NANOARROW_THROW_NOT_OK(ArrowSchemaSetTypeStruct(&schema, 1)); NANOARROW_THROW_NOT_OK(ArrowSchemaInitFromType(schema.children[0], NANOARROW_TYPE_STRING_VIEW)); @@ -900,14 +900,14 @@ TEST_F(FromArrowDeviceTest, StringViewTypeWithProducerOwnedPrivateData) items, input->length * sizeof(ArrowBinaryView), cudaMemcpyDefault, - stream.value())); + stream.get())); auto variadics = std::vector(); auto variadic_ptrs = std::vector(); for (auto i = 0L; i < view.n_variadic_buffers; ++i) { variadics.emplace_back(view.variadic_buffers[i], view.variadic_buffer_sizes[i], stream); variadic_ptrs.push_back(static_cast(variadics.back().data())); } - stream.synchronize(); + stream.sync(); auto variadic_sizes = std::vector(); for (auto i = 0L; i < view.n_variadic_buffers; ++i) { diff --git a/cpp/tests/iterator/iterator_tests.cuh b/cpp/tests/iterator/iterator_tests.cuh index 4288bb3f2770..305cfc79aceb 100644 --- a/cpp/tests/iterator/iterator_tests.cuh +++ b/cpp/tests/iterator/iterator_tests.cuh @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2019-2026, NVIDIA CORPORATION. + * SPDX-FileCopyrightText: Copyright (c) 2019-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ #pragma once @@ -51,7 +51,7 @@ struct IteratorTest : public cudf::test::BaseFixture { num_items, cuda::minimum{}, init, - cudf::get_default_stream().value()); + cudf::get_default_stream().get()); // Allocate temporary storage rmm::device_buffer d_temp_storage(temp_storage_bytes, cudf::get_default_stream()); @@ -64,7 +64,7 @@ struct IteratorTest : public cudf::test::BaseFixture { num_items, cuda::minimum{}, init, - cudf::get_default_stream().value()); + cudf::get_default_stream().get()); evaluate(expected, dev_result, "cub test"); } diff --git a/cpp/tests/iterator/value_iterator_test_strings.cu b/cpp/tests/iterator/value_iterator_test_strings.cu index e050229960b1..4dac0a1da284 100644 --- a/cpp/tests/iterator/value_iterator_test_strings.cu +++ b/cpp/tests/iterator/value_iterator_test_strings.cu @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2020-2026, NVIDIA CORPORATION. + * SPDX-FileCopyrightText: Copyright (c) 2020-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ #include "iterator_tests.cuh" @@ -10,11 +10,11 @@ #include #include -#include #include #include #include +#include #include auto strings_to_string_views(std::vector& input_strings) diff --git a/cpp/tests/join/join_tests.cpp b/cpp/tests/join/join_tests.cpp index 943044fd134c..90ba11665bbd 100644 --- a/cpp/tests/join/join_tests.cpp +++ b/cpp/tests/join/join_tests.cpp @@ -2381,8 +2381,7 @@ TEST_F(JoinTest, HashJoinLargeOutputSize) // self-join a table of zeroes to generate an output row count that would overflow int32_t std::size_t col_size = 65567; rmm::device_buffer zeroes(col_size * sizeof(int32_t), cudf::get_default_stream()); - CUDF_CUDA_TRY( - cudaMemsetAsync(zeroes.data(), 0, zeroes.size(), cudf::get_default_stream().value())); + CUDF_CUDA_TRY(cudaMemsetAsync(zeroes.data(), 0, zeroes.size(), cudf::get_default_stream().get())); cudf::column_view col_zeros( cudf::data_type{cudf::type_id::INT32}, col_size, zeroes.data(), nullptr, 0); cudf::table_view tview{{col_zeros}}; diff --git a/cpp/tests/quantiles/percentile_approx_test.cpp b/cpp/tests/quantiles/percentile_approx_test.cpp index 6e1fb1f899f0..808d3d1dcad5 100644 --- a/cpp/tests/quantiles/percentile_approx_test.cpp +++ b/cpp/tests/quantiles/percentile_approx_test.cpp @@ -14,14 +14,82 @@ #include #include #include +#include #include +#include #include #include #include #include +#include +#include +#include + namespace { +std::unique_ptr arrow_percentile_approx(cudf::column_view const& _values, + int delta, + std::vector const& percentages) +{ + static auto const _arrow_init_status = arrow::compute::Initialize(); + EXPECT_TRUE(_arrow_init_status.ok()); + + auto stream = cudf::get_default_stream(); + + // sort the incoming values using the same settings that groupby does. + // this is a little weak because null_order::AFTER is hardcoded internally to groupby. + cudf::table_view t({_values}); + auto sorted_t = cudf::sort(t, {}, {cudf::null_order::AFTER}, stream); + auto sorted_values = sorted_t->get_column(0).view(); + + std::vector h_values(sorted_values.size()); + CUDF_CUDA_TRY(cudaMemcpyAsync(h_values.data(), + sorted_values.data(), + sizeof(double) * sorted_values.size(), + cudaMemcpyDefault, + stream.get())); + std::vector h_validity(sorted_values.size()); + if (sorted_values.null_mask() != nullptr) { + auto validity = cudf::mask_to_bools(sorted_values.null_mask(), 0, sorted_values.size(), stream); + CUDF_CUDA_TRY(cudaMemcpyAsync(h_validity.data(), + (validity->view().data()), + sizeof(char) * sorted_values.size(), + cudaMemcpyDefault, + stream.get())); + } + + // generate the tdigest + arrow::DoubleBuilder builder; + for (size_t idx = 0; idx < h_values.size(); idx++) { + if (sorted_values.null_mask() == nullptr || h_validity[idx]) { + EXPECT_TRUE(builder.Append(h_values[idx]).ok()); + } + } + std::shared_ptr array; + EXPECT_TRUE(builder.Finish(&array).ok()); + + auto const udelta = static_cast(delta); + auto const usize = static_cast(h_values.size()) * 2; + arrow::compute::TDigestOptions options{percentages, udelta, usize}; + + auto arrow_result = arrow::compute::CallFunction("tdigest", {array}, &options); + auto result_array = arrow_result.ValueOrDie().array_as(); + + // copy the percentiles and stuff them into a list column + std::vector h_result; + h_result.reserve(percentages.size()); + std::transform( + result_array->begin(), result_array->end(), std::back_inserter(h_result), [](auto p) { + return p.value(); + }); + cudf::test::fixed_width_column_wrapper result(h_result.begin(), h_result.end()); + cudf::test::fixed_width_column_wrapper offsets{ + 0, static_cast(percentages.size())}; + stream.sync(); + return cudf::make_lists_column(1, offsets.release(), result.release(), 0, {}); +} + struct percentile_approx_dispatch { template std::unique_ptr operator()(Func op, @@ -98,7 +166,7 @@ void percentile_approx_test(cudf::column_view const& _keys, aggregations.push_back(cudf::make_tdigest_aggregation(delta)); requests.push_back({values, std::move(aggregations)}); auto result = std::move(gb.aggregate(requests, stream).second[0].results[0]); - stream.synchronize(); + stream.sync(); return result; }; groupby_parts.push_back(cudf::type_dispatcher(values[v_idx].type(), @@ -118,7 +186,7 @@ void percentile_approx_test(cudf::column_view const& _keys, cudf::data_type{cudf::type_id::STRUCT}, stream); auto tbl = static_cast(scalar_result.get())->view(); - stream.synchronize(); + stream.sync(); std::vector> cols; std::transform( tbl.begin(), tbl.end(), std::back_inserter(cols), [](cudf::column_view const& col) { @@ -134,7 +202,7 @@ void percentile_approx_test(cudf::column_view const& _keys, delta, percentages, ulps)); - stream.synchronize(); + stream.sync(); } // second pass. run the percentile_approx with all the keys in one pass and make sure we get the @@ -165,7 +233,7 @@ void percentile_approx_test(cudf::column_view const& _keys, percentages.end()); cudf::tdigest::tdigest_column_view tdv(*(gb_result.second[0].results[0])); auto result = cudf::percentile_approx(tdv, g_percentages, stream); - stream.synchronize(); + stream.sync(); CUDF_TEST_EXPECT_COLUMNS_EQUIVALENT(*expected, *result); } @@ -179,7 +247,7 @@ void simple_test(cudf::data_type input_type, std::vector> pa auto keys = cudf::make_fixed_width_column( cudf::data_type{cudf::type_id::INT32}, values->size(), cudf::mask_state::UNALLOCATED); CUDF_CUDA_TRY(cudaMemsetAsync( - keys->mutable_view().data(), 0, values->size() * sizeof(int32_t), stream.value())); + keys->mutable_view().data(), 0, values->size() * sizeof(int32_t), stream.get())); // runs both groupby and reduce paths std::for_each(params.begin(), params.end(), [&](std::pair const& params) { @@ -206,7 +274,7 @@ void grouped_test(cudf::data_type input_type, std::vector> p h_keys.data(), h_keys.size() * sizeof(int32_t), cudaMemcpyDefault, - stream.value())); + stream.get())); std::for_each(params.begin(), params.end(), [&](std::pair const& params) { percentile_approx_test( @@ -253,7 +321,7 @@ void grouped_with_nulls_test(cudf::data_type input_type, std::vector #include -#include #include #include +#include template struct TableToDeviceArrayTypedTest : public cudf::test::BaseFixture {}; diff --git a/cpp/tests/row_operator/row_operator_tests.cu b/cpp/tests/row_operator/row_operator_tests.cu index 073c2dd58989..334d790016b5 100644 --- a/cpp/tests/row_operator/row_operator_tests.cu +++ b/cpp/tests/row_operator/row_operator_tests.cu @@ -17,10 +17,10 @@ #include #include -#include #include #include +#include #include template @@ -34,21 +34,21 @@ template std::unique_ptr self_comparison(cudf::table_view input, std::vector const& column_order, PhysicalElementComparator comparator, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr); template std::unique_ptr two_table_comparison(cudf::table_view lhs, cudf::table_view rhs, std::vector const& column_order, PhysicalElementComparator comparator, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr); template std::unique_ptr two_table_equality(cudf::table_view lhs, cudf::table_view rhs, std::vector const& column_order, PhysicalElementComparator comparator, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr); template std::unique_ptr sorted_order( @@ -56,7 +56,7 @@ std::unique_ptr sorted_order( cudf::size_type num_rows, bool has_nested, PhysicalElementComparator comparator, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr); TYPED_TEST(TypedTableViewTest, TestLexicographicalComparatorTwoTables) diff --git a/cpp/tests/row_operator/row_operator_tests_utilities.hpp b/cpp/tests/row_operator/row_operator_tests_utilities.hpp index 5b8f35558b40..1b6997d4c497 100644 --- a/cpp/tests/row_operator/row_operator_tests_utilities.hpp +++ b/cpp/tests/row_operator/row_operator_tests_utilities.hpp @@ -9,7 +9,7 @@ #include #include -#include +#include #include @@ -22,21 +22,21 @@ template std::unique_ptr self_comparison(cudf::table_view input, std::vector const& column_order, PhysicalElementComparator comparator, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr); template std::unique_ptr two_table_comparison(cudf::table_view lhs, cudf::table_view rhs, std::vector const& column_order, PhysicalElementComparator comparator, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr); template std::unique_ptr two_table_equality(cudf::table_view lhs, cudf::table_view rhs, std::vector const& column_order, PhysicalElementComparator comparator, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr); template std::unique_ptr sorted_order( @@ -44,5 +44,5 @@ std::unique_ptr sorted_order( cudf::size_type num_rows, bool has_nested, PhysicalElementComparator comparator, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr); diff --git a/cpp/tests/row_operator/self_comparison_utilities.cu b/cpp/tests/row_operator/self_comparison_utilities.cu index 898601ef62ea..3e29fe882342 100644 --- a/cpp/tests/row_operator/self_comparison_utilities.cu +++ b/cpp/tests/row_operator/self_comparison_utilities.cu @@ -8,10 +8,10 @@ #include #include -#include #include #include +#include #include // Including this declaration/defintion in two_table_comparison_utilities.cu causes @@ -21,7 +21,7 @@ template std::unique_ptr self_comparison(cudf::table_view input, std::vector const& column_order, PhysicalElementComparator comparator, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr) { auto const table_comparator = @@ -55,11 +55,11 @@ template std::unique_ptr self_comparison( cudf::table_view input, std::vector const& column_order, physical_comparator_t comparator, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr); template std::unique_ptr self_comparison( cudf::table_view input, std::vector const& column_order, sorting_comparator_t comparator, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr); diff --git a/cpp/tests/row_operator/two_table_comparison_utilities.cu b/cpp/tests/row_operator/two_table_comparison_utilities.cu index 55eb526eb809..4f0f72807a49 100644 --- a/cpp/tests/row_operator/two_table_comparison_utilities.cu +++ b/cpp/tests/row_operator/two_table_comparison_utilities.cu @@ -10,9 +10,9 @@ #include #include -#include #include +#include #include #include #include @@ -22,7 +22,7 @@ std::unique_ptr two_table_comparison(cudf::table_view lhs, cudf::table_view rhs, std::vector const& column_order, PhysicalElementComparator comparator, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr) { // TODO: lexicographic::two_table_comparator still allocates from the current device resource. @@ -60,14 +60,14 @@ template std::unique_ptr two_table_comparison const& column_order, physical_comparator_t comparator, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr); template std::unique_ptr two_table_comparison( cudf::table_view lhs, cudf::table_view rhs, std::vector const& column_order, sorting_comparator_t comparator, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr); template @@ -76,7 +76,7 @@ std::unique_ptr sorted_order( cudf::size_type num_rows, bool has_nested, PhysicalElementComparator comparator, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr) { auto output = cudf::make_numeric_column(cudf::data_type(cudf::type_to_id()), @@ -112,12 +112,12 @@ template std::unique_ptr sorted_order( cudf::size_type num_rows, bool has_nested, physical_comparator_t comparator, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr); template std::unique_ptr sorted_order( std::shared_ptr preprocessed_input, cudf::size_type num_rows, bool has_nested, sorting_comparator_t comparator, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr); diff --git a/cpp/tests/row_operator/two_table_equality_utilities.cu b/cpp/tests/row_operator/two_table_equality_utilities.cu index 94deaf7e19e7..9ca782efe02b 100644 --- a/cpp/tests/row_operator/two_table_equality_utilities.cu +++ b/cpp/tests/row_operator/two_table_equality_utilities.cu @@ -8,9 +8,9 @@ #include #include -#include #include +#include #include template @@ -18,7 +18,7 @@ std::unique_ptr two_table_equality(cudf::table_view lhs, cudf::table_view rhs, std::vector const& column_order, PhysicalElementComparator comparator, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr) { auto const table_comparator = @@ -62,12 +62,12 @@ template std::unique_ptr two_table_equality( cudf::table_view rhs, std::vector const& column_order, physical_equality_t comparator, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr); template std::unique_ptr two_table_equality( cudf::table_view lhs, cudf::table_view rhs, std::vector const& column_order, nan_equality_t comparator, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr); diff --git a/cpp/tests/scalar/scalar_device_view_test.cu b/cpp/tests/scalar/scalar_device_view_test.cu index b20f5812c8de..8429e881fbd8 100644 --- a/cpp/tests/scalar/scalar_device_view_test.cu +++ b/cpp/tests/scalar/scalar_device_view_test.cu @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2019-2026, NVIDIA CORPORATION. + * SPDX-FileCopyrightText: Copyright (c) 2019-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ @@ -51,14 +51,14 @@ TYPED_TEST(TypedScalarDeviceViewTest, Value) auto scalar_device_view1 = cudf::get_scalar_device_view(s1); cudf::detail::device_scalar result{cudf::get_default_stream()}; - test_set_value<<<1, 1, 0, cudf::get_default_stream().value()>>>(scalar_device_view, - scalar_device_view1); + test_set_value<<<1, 1, 0, cudf::get_default_stream().get()>>>(scalar_device_view, + scalar_device_view1); CUDF_CHECK_CUDA(0); EXPECT_EQ(s1.value(), value); EXPECT_TRUE(s1.is_valid()); - test_value<<<1, 1, 0, cudf::get_default_stream().value()>>>( + test_value<<<1, 1, 0, cudf::get_default_stream().get()>>>( scalar_device_view, scalar_device_view1, result.data()); CUDF_CHECK_CUDA(0); @@ -78,7 +78,7 @@ TYPED_TEST(TypedScalarDeviceViewTest, ConstructNull) auto scalar_device_view = cudf::get_scalar_device_view(s); cudf::detail::device_scalar result{cudf::get_default_stream()}; - test_null<<<1, 1, 0, cudf::get_default_stream().value()>>>(scalar_device_view, result.data()); + test_null<<<1, 1, 0, cudf::get_default_stream().get()>>>(scalar_device_view, result.data()); CUDF_CHECK_CUDA(0); EXPECT_FALSE(result.value(cudf::get_default_stream())); @@ -98,7 +98,7 @@ TYPED_TEST(TypedScalarDeviceViewTest, SetNull) s.set_valid_async(true); EXPECT_TRUE(s.is_valid()); - test_setnull<<<1, 1, 0, cudf::get_default_stream().value()>>>(scalar_device_view); + test_setnull<<<1, 1, 0, cudf::get_default_stream().get()>>>(scalar_device_view); CUDF_CHECK_CUDA(0); EXPECT_FALSE(s.is_valid()); @@ -125,7 +125,7 @@ TEST_F(StringScalarDeviceViewTest, Value) cudf::get_default_stream(), cudf::get_current_device_resource_ref()); - test_string_value<<<1, 1, 0, cudf::get_default_stream().value()>>>( + test_string_value<<<1, 1, 0, cudf::get_default_stream().get()>>>( scalar_device_view, value_v.data(), value.size(), result.data()); CUDF_CHECK_CUDA(0); diff --git a/cpp/tests/table/table_view_tests.cu b/cpp/tests/table/table_view_tests.cu index 5979fe6689b2..7a02f24ca91c 100644 --- a/cpp/tests/table/table_view_tests.cu +++ b/cpp/tests/table/table_view_tests.cu @@ -18,9 +18,9 @@ #include #include -#include #include +#include #include #include @@ -33,7 +33,7 @@ void row_comparison(cudf::table_view input1, cudf::mutable_column_view output, std::vector const& column_order) { - rmm::cuda_stream_view stream{cudf::get_default_stream()}; + cuda::stream_ref stream{cudf::get_default_stream()}; auto const comparator = cudf::detail::row::lexicographic::two_table_comparator{ input1, input2, column_order, {}, stream}; diff --git a/cpp/tests/types/type_dispatcher_test.cu b/cpp/tests/types/type_dispatcher_test.cu index d32702c4b30e..97770c5fd3d8 100644 --- a/cpp/tests/types/type_dispatcher_test.cu +++ b/cpp/tests/types/type_dispatcher_test.cu @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2019-2026, NVIDIA CORPORATION. + * SPDX-FileCopyrightText: Copyright (c) 2019-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ @@ -69,8 +69,8 @@ TYPED_TEST(TypedDispatcherTest, DeviceDispatch) { auto result = cudf::detail::make_zeroed_device_uvector( 1, cudf::get_default_stream(), cudf::get_current_device_resource_ref()); - dispatch_test_kernel<<<1, 1, 0, cudf::get_default_stream().value()>>>( - cudf::type_to_id(), result.data()); + dispatch_test_kernel<<<1, 1, 0, cudf::get_default_stream().get()>>>(cudf::type_to_id(), + result.data()); CUDF_CUDA_TRY(cudaDeviceSynchronize()); EXPECT_EQ(true, result.front_element(cudf::get_default_stream())); } @@ -136,7 +136,7 @@ TYPED_TEST(TypedDoubleDispatcherTest, DeviceDoubleDispatch) { auto result = cudf::detail::make_zeroed_device_uvector( 1, cudf::get_default_stream(), cudf::get_current_device_resource_ref()); - double_dispatch_test_kernel<<<1, 1, 0, cudf::get_default_stream().value()>>>( + double_dispatch_test_kernel<<<1, 1, 0, cudf::get_default_stream().get()>>>( cudf::type_to_id(), cudf::type_to_id(), result.data()); CUDF_CUDA_TRY(cudaDeviceSynchronize()); EXPECT_EQ(true, result.front_element(cudf::get_default_stream())); diff --git a/cpp/tests/utilities/debug_utilities.cu b/cpp/tests/utilities/debug_utilities.cu index 9241ce25a30e..0ddc8479f04a 100644 --- a/cpp/tests/utilities/debug_utilities.cu +++ b/cpp/tests/utilities/debug_utilities.cu @@ -39,9 +39,9 @@ namespace detail { */ std::string to_string(cudf::column_view const& col, std::string const& delimiter, - std::string const& indent = "", - rmm::cuda_stream_view stream = cudf::test::get_default_stream(), - cudf::memory_resources mr = cudf::get_current_device_resource_ref()); + std::string const& indent = "", + cuda::stream_ref stream = cudf::test::get_default_stream(), + cudf::memory_resources mr = cudf::get_current_device_resource_ref()); /** * @brief Formats a null mask as a string @@ -89,9 +89,9 @@ std::string to_string(std::vector const& null_mask, */ std::vector to_strings( cudf::column_view const& col, - std::string const& indent = "", - rmm::cuda_stream_view stream = cudf::test::get_default_stream(), - cudf::memory_resources mr = cudf::get_current_device_resource_ref()); + std::string const& indent = "", + cuda::stream_ref stream = cudf::test::get_default_stream(), + cudf::memory_resources mr = cudf::get_current_device_resource_ref()); } // namespace detail @@ -147,7 +147,7 @@ std::string get_nested_type_str(cudf::column_view const& view) template std::string nested_offsets_to_string(NestedColumnView const& c, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr, std::string const& delimiter = ", ") { @@ -184,7 +184,7 @@ struct column_view_printer { void operator()(cudf::column_view const& col, std::vector& out, std::string const&, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr) requires(is_numeric()) { @@ -213,7 +213,7 @@ struct column_view_printer { void operator()(cudf::column_view const& col, std::vector& out, std::string const& indent, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr) requires(is_timestamp()) { @@ -243,7 +243,7 @@ struct column_view_printer { void operator()(cudf::column_view const& col, std::vector& out, std::string const&, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr) requires(cudf::is_fixed_point()) { @@ -269,7 +269,7 @@ struct column_view_printer { void operator()(cudf::column_view const& col, std::vector& out, std::string const&, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr) requires(std::is_same_v) { @@ -312,7 +312,7 @@ struct column_view_printer { void operator()(cudf::column_view const& col, std::vector& out, std::string const&, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr) requires(std::is_same_v) { @@ -341,7 +341,7 @@ struct column_view_printer { void operator()(cudf::column_view const& col, std::vector& out, std::string const&, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr) requires(is_duration()) { @@ -371,7 +371,7 @@ struct column_view_printer { void operator()(cudf::column_view const& col, std::vector& out, std::string const& indent, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr) requires(std::is_same_v) { @@ -406,7 +406,7 @@ struct column_view_printer { void operator()(cudf::column_view const& col, std::vector& out, std::string const& indent, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr) requires(std::is_same_v) { @@ -455,7 +455,7 @@ namespace detail { */ std::vector to_strings(cudf::column_view const& col, std::string const& indent, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr) { std::vector reply; @@ -471,7 +471,7 @@ std::vector to_strings(cudf::column_view const& col, std::string to_string(cudf::column_view const& col, std::string const& delimiter, std::string const& indent, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr) { std::ostringstream buffer; @@ -507,7 +507,7 @@ std::string to_string(std::vector const& null_mask, } // namespace detail std::vector to_strings(cudf::column_view const& col, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr) { return detail::to_strings(col, "", stream, mr); @@ -515,7 +515,7 @@ std::vector to_strings(cudf::column_view const& col, std::string to_string(cudf::column_view const& col, std::string const& delimiter, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr) { return detail::to_string(col, delimiter, "", stream, mr); @@ -528,7 +528,7 @@ std::string to_string(std::vector const& null_mask, size_type null void print(cudf::column_view const& col, std::ostream& os, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr) { os << to_string(col, ",", stream, mr) << std::endl; diff --git a/cpp/tests/utilities/default_stream.cpp b/cpp/tests/utilities/default_stream.cpp index ca931d1eb9de..f6cff4c25b6a 100644 --- a/cpp/tests/utilities/default_stream.cpp +++ b/cpp/tests/utilities/default_stream.cpp @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2023-2024, NVIDIA CORPORATION. + * SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ @@ -10,7 +10,7 @@ namespace cudf { namespace test { -rmm::cuda_stream_view const get_default_stream() { return cudf::get_default_stream(); } +cuda::stream_ref const get_default_stream() { return cudf::get_default_stream(); } } // namespace test } // namespace cudf diff --git a/cpp/tests/utilities/identify_stream_usage.cpp b/cpp/tests/utilities/identify_stream_usage.cpp index 3ed3b410067f..84f5066c6348 100644 --- a/cpp/tests/utilities/identify_stream_usage.cpp +++ b/cpp/tests/utilities/identify_stream_usage.cpp @@ -6,8 +6,8 @@ #include #include -#include +#include #include #include @@ -48,7 +48,7 @@ namespace cudf { namespace test { #endif -rmm::cuda_stream_view const get_default_stream() +cuda::stream_ref const get_default_stream() { static rmm::cuda_stream stream{}; return stream; @@ -68,6 +68,10 @@ namespace detail { class test_cuda_stream_pool : public cuda_stream_pool { public: cuda::stream_ref get_stream() override { return cudf::test::get_default_stream(); } + [[maybe_unused]] cuda::stream_ref get_stream(stream_id_type stream_id) override + { + return cudf::test::get_default_stream(); + } std::vector get_streams(std::size_t count) override { @@ -86,12 +90,12 @@ bool stream_is_invalid(cudaStream_t stream) { #ifdef STREAM_MODE_TESTING // In this mode the _only_ valid stream is the one returned by cudf::test::get_default_stream. - return (stream != cudf::test::get_default_stream().value()); + return (stream != cudf::test::get_default_stream().get()); #else // We explicitly list the possibilities rather than using - // `cudf::get_default_stream().value()` because there is no guarantee that + // `cudf::get_default_stream().get()` because there is no guarantee that // `thrust::device` and the default value of - // `cudf::get_default_stream().value()` are actually the same. At present, the + // `cudf::get_default_stream().get()` are actually the same. At present, the // former is `cudaStreamLegacy` while the latter is 0. return (stream == cudaStreamDefault) || (stream == cudaStreamLegacy) || (stream == cudaStreamPerThread); diff --git a/cpp/tests/utilities/roaring_bitmap_test.cpp b/cpp/tests/utilities/roaring_bitmap_test.cpp index 4d582d77f6aa..48d1ddb56974 100644 --- a/cpp/tests/utilities/roaring_bitmap_test.cpp +++ b/cpp/tests/utilities/roaring_bitmap_test.cpp @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION. + * SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ @@ -12,7 +12,7 @@ #include #include -#include +#include #include @@ -62,7 +62,7 @@ TYPED_TEST(RoaringBitmapTest, Basics) auto result_col = bitmap.contains_async(keys_col, stream, mr); auto results = cudf::detail::make_host_vector_async( cudf::device_span(result_col->view().template data(), num_keys), stream); - stream.synchronize(); + stream.sync(); EXPECT_TRUE(std::equal(results.begin(), results.end(), is_even)); } @@ -73,7 +73,7 @@ TYPED_TEST(RoaringBitmapTest, Basics) bitmap.contains_async(keys_col, result_col->mutable_view(), stream); auto results = cudf::detail::make_host_vector_async( cudf::device_span(result_col->view().template data(), num_keys), stream); - stream.synchronize(); + stream.sync(); EXPECT_TRUE(std::equal(results.begin(), results.end(), is_even)); } } diff --git a/cpp/tests/utilities/table_utilities.cu b/cpp/tests/utilities/table_utilities.cu index 1e370c23f8bd..24ce3935264b 100644 --- a/cpp/tests/utilities/table_utilities.cu +++ b/cpp/tests/utilities/table_utilities.cu @@ -16,7 +16,7 @@ void expect_table_properties_equal(cudf::table_view lhs, cudf::table_view rhs) void expect_tables_equal(cudf::table_view lhs, cudf::table_view rhs, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr) { expect_table_properties_equal(lhs, rhs); @@ -31,7 +31,7 @@ void expect_tables_equal(cudf::table_view lhs, */ void expect_tables_equivalent(cudf::table_view lhs, cudf::table_view rhs, - rmm::cuda_stream_view stream, + cuda::stream_ref stream, cudf::memory_resources mr) { auto num_columns = lhs.num_columns(); diff --git a/cpp/tests/utilities_tests/span_tests.cu b/cpp/tests/utilities_tests/span_tests.cu index bcbfa6a7c56f..c7145d858812 100644 --- a/cpp/tests/utilities_tests/span_tests.cu +++ b/cpp/tests/utilities_tests/span_tests.cu @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2020-2026, NVIDIA CORPORATION. + * SPDX-FileCopyrightText: Copyright (c) 2020-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ @@ -237,7 +237,7 @@ TEST(SpanTest, CanUseDeviceSpan) auto d_span = device_span(d_message.data(), d_message.size()); - simple_device_kernel<<<1, 1, 0, cudf::get_default_stream().value()>>>(d_span); + simple_device_kernel<<<1, 1, 0, cudf::get_default_stream().get()>>>(d_span); ASSERT_TRUE(d_message.element(0, cudf::get_default_stream())); } @@ -283,8 +283,8 @@ TEST(MdSpanTest, DeviceReadWrite) { auto vector = hostdevice_2dvector(11, 23, cudf::get_default_stream()); - readwrite_kernel<<<1, 1, 0, cudf::get_default_stream().value()>>>(vector); - readwrite_kernel<<<1, 1, 0, cudf::get_default_stream().value()>>>(vector); + readwrite_kernel<<<1, 1, 0, cudf::get_default_stream().get()>>>(vector); + readwrite_kernel<<<1, 1, 0, cudf::get_default_stream().get()>>>(vector); vector.device_to_host(cudf::get_default_stream()); EXPECT_EQ(vector[5][6], 30); } @@ -417,8 +417,8 @@ TEST(HostDeviceSpanTest, CanSendToDevice) original_message.device_ptr(), original_message.size(), cudaMemcpyDefault, - stream.value()); - stream.synchronize(); + stream.get()); + stream.sync(); EXPECT_EQ(got_message, hello_world_message); } diff --git a/cpp/tests/wrappers/timestamps_test.cu b/cpp/tests/wrappers/timestamps_test.cu index b91444b6f614..69d42a8f9ce3 100644 --- a/cpp/tests/wrappers/timestamps_test.cu +++ b/cpp/tests/wrappers/timestamps_test.cu @@ -20,10 +20,10 @@ #include #include -#include #include #include +#include #include #include From 0307ba0d9815b79f9d988c877c88c38459f359bc Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Mon, 17 Aug 2026 16:57:39 -0700 Subject: [PATCH 2/7] Address stream_ref test review comments --- cpp/include/cudf_test/debug_utilities.hpp | 2 +- cpp/include/cudf_test/default_stream.hpp | 2 +- cpp/include/cudf_test/print_utilities.cuh | 1 - cpp/include/cudf_test/stream_checking_resource_adaptor.hpp | 1 - cpp/include/cudf_test/table_utilities.hpp | 2 +- cpp/include/cudf_test/testing_main.hpp | 2 +- cpp/tests/bitmask/bitmask_tests.cpp | 1 - cpp/tests/iterator/value_iterator_test_strings.cu | 1 - cpp/tests/reshape/table_to_array_tests.cpp | 1 - cpp/tests/row_operator/row_operator_tests.cu | 2 +- cpp/tests/row_operator/row_operator_tests_utilities.hpp | 2 +- cpp/tests/row_operator/self_comparison_utilities.cu | 2 +- cpp/tests/row_operator/two_table_comparison_utilities.cu | 2 +- cpp/tests/row_operator/two_table_equality_utilities.cu | 2 +- cpp/tests/streams/pool_test.cu | 1 - cpp/tests/table/table_view_tests.cu | 2 +- cpp/tests/utilities/identify_stream_usage.cpp | 2 +- cpp/tests/utilities/roaring_bitmap_test.cpp | 1 - cpp/tests/wrappers/timestamps_test.cu | 1 - 19 files changed, 11 insertions(+), 19 deletions(-) diff --git a/cpp/include/cudf_test/debug_utilities.hpp b/cpp/include/cudf_test/debug_utilities.hpp index 6e26b065e652..2c9f13f361fc 100644 --- a/cpp/include/cudf_test/debug_utilities.hpp +++ b/cpp/include/cudf_test/debug_utilities.hpp @@ -12,7 +12,7 @@ #include #include -#include +#include namespace CUDF_EXPORT cudf { namespace test { diff --git a/cpp/include/cudf_test/default_stream.hpp b/cpp/include/cudf_test/default_stream.hpp index 8254d3d99ece..c941ee49fd52 100644 --- a/cpp/include/cudf_test/default_stream.hpp +++ b/cpp/include/cudf_test/default_stream.hpp @@ -7,7 +7,7 @@ #include -#include +#include namespace CUDF_EXPORT cudf { namespace test { diff --git a/cpp/include/cudf_test/print_utilities.cuh b/cpp/include/cudf_test/print_utilities.cuh index 7acb3f203a46..d3d8f45f689e 100644 --- a/cpp/include/cudf_test/print_utilities.cuh +++ b/cpp/include/cudf_test/print_utilities.cuh @@ -9,7 +9,6 @@ #include #include -#include #include #include diff --git a/cpp/include/cudf_test/stream_checking_resource_adaptor.hpp b/cpp/include/cudf_test/stream_checking_resource_adaptor.hpp index c356eb2eb6ac..491b0ca65ce6 100644 --- a/cpp/include/cudf_test/stream_checking_resource_adaptor.hpp +++ b/cpp/include/cudf_test/stream_checking_resource_adaptor.hpp @@ -13,7 +13,6 @@ #include #include -#include #include #include diff --git a/cpp/include/cudf_test/table_utilities.hpp b/cpp/include/cudf_test/table_utilities.hpp index a1e50f86d4da..a9a712b357ad 100644 --- a/cpp/include/cudf_test/table_utilities.hpp +++ b/cpp/include/cudf_test/table_utilities.hpp @@ -12,7 +12,7 @@ #include #include -#include +#include namespace CUDF_EXPORT cudf { namespace test::detail { diff --git a/cpp/include/cudf_test/testing_main.hpp b/cpp/include/cudf_test/testing_main.hpp index c6ceaf1552bc..078f4d7f0787 100644 --- a/cpp/include/cudf_test/testing_main.hpp +++ b/cpp/include/cudf_test/testing_main.hpp @@ -27,7 +27,7 @@ #include #include -#include +#include #include diff --git a/cpp/tests/bitmask/bitmask_tests.cpp b/cpp/tests/bitmask/bitmask_tests.cpp index c1bf28ff03b8..9656a8ed6dc8 100644 --- a/cpp/tests/bitmask/bitmask_tests.cpp +++ b/cpp/tests/bitmask/bitmask_tests.cpp @@ -22,7 +22,6 @@ #include #include -#include #include diff --git a/cpp/tests/iterator/value_iterator_test_strings.cu b/cpp/tests/iterator/value_iterator_test_strings.cu index 4dac0a1da284..7c337511025c 100644 --- a/cpp/tests/iterator/value_iterator_test_strings.cu +++ b/cpp/tests/iterator/value_iterator_test_strings.cu @@ -14,7 +14,6 @@ #include #include -#include #include auto strings_to_string_views(std::vector& input_strings) diff --git a/cpp/tests/reshape/table_to_array_tests.cpp b/cpp/tests/reshape/table_to_array_tests.cpp index 4787845caec4..27d45bd62c84 100644 --- a/cpp/tests/reshape/table_to_array_tests.cpp +++ b/cpp/tests/reshape/table_to_array_tests.cpp @@ -19,7 +19,6 @@ #include #include -#include template struct TableToDeviceArrayTypedTest : public cudf::test::BaseFixture {}; diff --git a/cpp/tests/row_operator/row_operator_tests.cu b/cpp/tests/row_operator/row_operator_tests.cu index 334d790016b5..35eca22fb8cc 100644 --- a/cpp/tests/row_operator/row_operator_tests.cu +++ b/cpp/tests/row_operator/row_operator_tests.cu @@ -20,7 +20,7 @@ #include #include -#include +#include #include template diff --git a/cpp/tests/row_operator/row_operator_tests_utilities.hpp b/cpp/tests/row_operator/row_operator_tests_utilities.hpp index 1b6997d4c497..2d4b05269af1 100644 --- a/cpp/tests/row_operator/row_operator_tests_utilities.hpp +++ b/cpp/tests/row_operator/row_operator_tests_utilities.hpp @@ -9,7 +9,7 @@ #include #include -#include +#include #include diff --git a/cpp/tests/row_operator/self_comparison_utilities.cu b/cpp/tests/row_operator/self_comparison_utilities.cu index 3e29fe882342..4a60e7303cad 100644 --- a/cpp/tests/row_operator/self_comparison_utilities.cu +++ b/cpp/tests/row_operator/self_comparison_utilities.cu @@ -11,7 +11,7 @@ #include #include -#include +#include #include // Including this declaration/defintion in two_table_comparison_utilities.cu causes diff --git a/cpp/tests/row_operator/two_table_comparison_utilities.cu b/cpp/tests/row_operator/two_table_comparison_utilities.cu index 4f0f72807a49..df92ee9e5a11 100644 --- a/cpp/tests/row_operator/two_table_comparison_utilities.cu +++ b/cpp/tests/row_operator/two_table_comparison_utilities.cu @@ -12,7 +12,7 @@ #include -#include +#include #include #include #include diff --git a/cpp/tests/row_operator/two_table_equality_utilities.cu b/cpp/tests/row_operator/two_table_equality_utilities.cu index 9ca782efe02b..9f8858eeda24 100644 --- a/cpp/tests/row_operator/two_table_equality_utilities.cu +++ b/cpp/tests/row_operator/two_table_equality_utilities.cu @@ -10,7 +10,7 @@ #include -#include +#include #include template diff --git a/cpp/tests/streams/pool_test.cu b/cpp/tests/streams/pool_test.cu index 49620c3e61fe..1f392ead2ee6 100644 --- a/cpp/tests/streams/pool_test.cu +++ b/cpp/tests/streams/pool_test.cu @@ -9,7 +9,6 @@ #include -#include class StreamPoolTest : public cudf::test::BaseFixture {}; diff --git a/cpp/tests/table/table_view_tests.cu b/cpp/tests/table/table_view_tests.cu index 7a02f24ca91c..1c5be73b52a0 100644 --- a/cpp/tests/table/table_view_tests.cu +++ b/cpp/tests/table/table_view_tests.cu @@ -20,7 +20,7 @@ #include -#include +#include #include #include diff --git a/cpp/tests/utilities/identify_stream_usage.cpp b/cpp/tests/utilities/identify_stream_usage.cpp index 84f5066c6348..05c83723de28 100644 --- a/cpp/tests/utilities/identify_stream_usage.cpp +++ b/cpp/tests/utilities/identify_stream_usage.cpp @@ -7,7 +7,7 @@ #include -#include +#include #include #include diff --git a/cpp/tests/utilities/roaring_bitmap_test.cpp b/cpp/tests/utilities/roaring_bitmap_test.cpp index 48d1ddb56974..c89384140069 100644 --- a/cpp/tests/utilities/roaring_bitmap_test.cpp +++ b/cpp/tests/utilities/roaring_bitmap_test.cpp @@ -12,7 +12,6 @@ #include #include -#include #include diff --git a/cpp/tests/wrappers/timestamps_test.cu b/cpp/tests/wrappers/timestamps_test.cu index 69d42a8f9ce3..675847959c30 100644 --- a/cpp/tests/wrappers/timestamps_test.cu +++ b/cpp/tests/wrappers/timestamps_test.cu @@ -23,7 +23,6 @@ #include #include -#include #include #include From db047816bb5a71847e9665fea10b5ed1a053039f Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Tue, 18 Aug 2026 07:38:49 -0700 Subject: [PATCH 3/7] Fix stream_ref test formatting --- cpp/tests/streams/pool_test.cu | 1 - cpp/tests/utilities/roaring_bitmap_test.cpp | 1 - 2 files changed, 2 deletions(-) diff --git a/cpp/tests/streams/pool_test.cu b/cpp/tests/streams/pool_test.cu index 1f392ead2ee6..d788aff0b32c 100644 --- a/cpp/tests/streams/pool_test.cu +++ b/cpp/tests/streams/pool_test.cu @@ -9,7 +9,6 @@ #include - class StreamPoolTest : public cudf::test::BaseFixture {}; CUDF_KERNEL void do_nothing_kernel() {} diff --git a/cpp/tests/utilities/roaring_bitmap_test.cpp b/cpp/tests/utilities/roaring_bitmap_test.cpp index c89384140069..ceaab9f416ee 100644 --- a/cpp/tests/utilities/roaring_bitmap_test.cpp +++ b/cpp/tests/utilities/roaring_bitmap_test.cpp @@ -12,7 +12,6 @@ #include #include - #include template From 90bdd35dd62084d11bdf0f16490ef7fbac56ad38 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Sat, 22 Aug 2026 19:32:28 -0700 Subject: [PATCH 4/7] Use cuda stream_ref header in libcudf tests --- cpp/include/cudf_test/debug_utilities.hpp | 2 +- cpp/include/cudf_test/default_stream.hpp | 2 +- cpp/include/cudf_test/print_utilities.cuh | 2 +- cpp/include/cudf_test/stream_checking_resource_adaptor.hpp | 2 +- cpp/include/cudf_test/table_utilities.hpp | 2 +- cpp/include/cudf_test/testing_main.hpp | 2 +- cpp/tests/join/join_tests.cpp | 2 +- cpp/tests/row_operator/row_operator_tests.cu | 2 +- cpp/tests/row_operator/row_operator_tests_utilities.hpp | 2 +- cpp/tests/row_operator/self_comparison_utilities.cu | 2 +- cpp/tests/row_operator/two_table_comparison_utilities.cu | 2 +- cpp/tests/row_operator/two_table_equality_utilities.cu | 2 +- cpp/tests/table/table_view_tests.cu | 2 +- cpp/tests/utilities/identify_stream_usage.cpp | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/cpp/include/cudf_test/debug_utilities.hpp b/cpp/include/cudf_test/debug_utilities.hpp index 2c9f13f361fc..6e26b065e652 100644 --- a/cpp/include/cudf_test/debug_utilities.hpp +++ b/cpp/include/cudf_test/debug_utilities.hpp @@ -12,7 +12,7 @@ #include #include -#include +#include namespace CUDF_EXPORT cudf { namespace test { diff --git a/cpp/include/cudf_test/default_stream.hpp b/cpp/include/cudf_test/default_stream.hpp index c941ee49fd52..8254d3d99ece 100644 --- a/cpp/include/cudf_test/default_stream.hpp +++ b/cpp/include/cudf_test/default_stream.hpp @@ -7,7 +7,7 @@ #include -#include +#include namespace CUDF_EXPORT cudf { namespace test { diff --git a/cpp/include/cudf_test/print_utilities.cuh b/cpp/include/cudf_test/print_utilities.cuh index d3d8f45f689e..e8a11e9aff60 100644 --- a/cpp/include/cudf_test/print_utilities.cuh +++ b/cpp/include/cudf_test/print_utilities.cuh @@ -9,7 +9,7 @@ #include #include -#include +#include #include #include diff --git a/cpp/include/cudf_test/stream_checking_resource_adaptor.hpp b/cpp/include/cudf_test/stream_checking_resource_adaptor.hpp index 491b0ca65ce6..ab1020b9409a 100644 --- a/cpp/include/cudf_test/stream_checking_resource_adaptor.hpp +++ b/cpp/include/cudf_test/stream_checking_resource_adaptor.hpp @@ -12,7 +12,7 @@ #include #include -#include +#include #include #include diff --git a/cpp/include/cudf_test/table_utilities.hpp b/cpp/include/cudf_test/table_utilities.hpp index a9a712b357ad..a1e50f86d4da 100644 --- a/cpp/include/cudf_test/table_utilities.hpp +++ b/cpp/include/cudf_test/table_utilities.hpp @@ -12,7 +12,7 @@ #include #include -#include +#include namespace CUDF_EXPORT cudf { namespace test::detail { diff --git a/cpp/include/cudf_test/testing_main.hpp b/cpp/include/cudf_test/testing_main.hpp index 078f4d7f0787..c6ceaf1552bc 100644 --- a/cpp/include/cudf_test/testing_main.hpp +++ b/cpp/include/cudf_test/testing_main.hpp @@ -27,7 +27,7 @@ #include #include -#include +#include #include diff --git a/cpp/tests/join/join_tests.cpp b/cpp/tests/join/join_tests.cpp index 90ba11665bbd..5b5754109ba3 100644 --- a/cpp/tests/join/join_tests.cpp +++ b/cpp/tests/join/join_tests.cpp @@ -29,7 +29,7 @@ #include #include -#include +#include #include #include diff --git a/cpp/tests/row_operator/row_operator_tests.cu b/cpp/tests/row_operator/row_operator_tests.cu index 35eca22fb8cc..334d790016b5 100644 --- a/cpp/tests/row_operator/row_operator_tests.cu +++ b/cpp/tests/row_operator/row_operator_tests.cu @@ -20,7 +20,7 @@ #include #include -#include +#include #include template diff --git a/cpp/tests/row_operator/row_operator_tests_utilities.hpp b/cpp/tests/row_operator/row_operator_tests_utilities.hpp index 2d4b05269af1..1b6997d4c497 100644 --- a/cpp/tests/row_operator/row_operator_tests_utilities.hpp +++ b/cpp/tests/row_operator/row_operator_tests_utilities.hpp @@ -9,7 +9,7 @@ #include #include -#include +#include #include diff --git a/cpp/tests/row_operator/self_comparison_utilities.cu b/cpp/tests/row_operator/self_comparison_utilities.cu index 4a60e7303cad..3e29fe882342 100644 --- a/cpp/tests/row_operator/self_comparison_utilities.cu +++ b/cpp/tests/row_operator/self_comparison_utilities.cu @@ -11,7 +11,7 @@ #include #include -#include +#include #include // Including this declaration/defintion in two_table_comparison_utilities.cu causes diff --git a/cpp/tests/row_operator/two_table_comparison_utilities.cu b/cpp/tests/row_operator/two_table_comparison_utilities.cu index df92ee9e5a11..4f0f72807a49 100644 --- a/cpp/tests/row_operator/two_table_comparison_utilities.cu +++ b/cpp/tests/row_operator/two_table_comparison_utilities.cu @@ -12,7 +12,7 @@ #include -#include +#include #include #include #include diff --git a/cpp/tests/row_operator/two_table_equality_utilities.cu b/cpp/tests/row_operator/two_table_equality_utilities.cu index 9f8858eeda24..9ca782efe02b 100644 --- a/cpp/tests/row_operator/two_table_equality_utilities.cu +++ b/cpp/tests/row_operator/two_table_equality_utilities.cu @@ -10,7 +10,7 @@ #include -#include +#include #include template diff --git a/cpp/tests/table/table_view_tests.cu b/cpp/tests/table/table_view_tests.cu index 1c5be73b52a0..7a02f24ca91c 100644 --- a/cpp/tests/table/table_view_tests.cu +++ b/cpp/tests/table/table_view_tests.cu @@ -20,7 +20,7 @@ #include -#include +#include #include #include diff --git a/cpp/tests/utilities/identify_stream_usage.cpp b/cpp/tests/utilities/identify_stream_usage.cpp index 05c83723de28..84f5066c6348 100644 --- a/cpp/tests/utilities/identify_stream_usage.cpp +++ b/cpp/tests/utilities/identify_stream_usage.cpp @@ -7,7 +7,7 @@ #include -#include +#include #include #include From c5d1a3a1d3e5771b49660671a0385508fa734bac Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Mon, 24 Aug 2026 09:56:35 -0700 Subject: [PATCH 5/7] Fix stream usage test stream pool override --- cpp/tests/utilities/identify_stream_usage.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/cpp/tests/utilities/identify_stream_usage.cpp b/cpp/tests/utilities/identify_stream_usage.cpp index 84f5066c6348..a28162183966 100644 --- a/cpp/tests/utilities/identify_stream_usage.cpp +++ b/cpp/tests/utilities/identify_stream_usage.cpp @@ -68,10 +68,6 @@ namespace detail { class test_cuda_stream_pool : public cuda_stream_pool { public: cuda::stream_ref get_stream() override { return cudf::test::get_default_stream(); } - [[maybe_unused]] cuda::stream_ref get_stream(stream_id_type stream_id) override - { - return cudf::test::get_default_stream(); - } std::vector get_streams(std::size_t count) override { From 75c99f2a53b4feb163bd0617d4baedb8ac8b39a5 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Mon, 24 Aug 2026 10:18:51 -0700 Subject: [PATCH 6/7] Fix tests default stream handle usage --- cpp/tests/bitmask/bitmask_tests.cpp | 2 +- cpp/tests/copying/concatenate_tests.cpp | 2 +- cpp/tests/device_atomics/device_atomics_test.cu | 14 +++++++------- cpp/tests/interop/from_arrow_device_test.cpp | 13 +++++++------ cpp/tests/iterator/iterator_tests.cuh | 4 ++-- cpp/tests/join/join_tests.cpp | 3 ++- cpp/tests/quantiles/percentile_approx_test.cpp | 15 ++++++++------- cpp/tests/scalar/scalar_device_view_test.cu | 12 ++++++------ cpp/tests/types/type_dispatcher_test.cu | 6 +++--- cpp/tests/utilities/identify_stream_usage.cpp | 4 ++-- cpp/tests/utilities/roaring_bitmap_test.cpp | 6 ++++-- cpp/tests/utilities_tests/span_tests.cu | 11 ++++++----- 12 files changed, 49 insertions(+), 43 deletions(-) diff --git a/cpp/tests/bitmask/bitmask_tests.cpp b/cpp/tests/bitmask/bitmask_tests.cpp index 9656a8ed6dc8..d671c5e61606 100644 --- a/cpp/tests/bitmask/bitmask_tests.cpp +++ b/cpp/tests/bitmask/bitmask_tests.cpp @@ -84,7 +84,7 @@ rmm::device_uvector make_mask(cudf::size_type size, bool fil CUDF_CUDA_TRY(cudaMemsetAsync(ret.data(), ~cudf::bitmask_type{0}, size * sizeof(cudf::bitmask_type), - cudf::get_default_stream().get())); + cudf::get_default_stream().value())); return ret; } } diff --git a/cpp/tests/copying/concatenate_tests.cpp b/cpp/tests/copying/concatenate_tests.cpp index 0e3ec61e98d0..e23bf57c3216 100644 --- a/cpp/tests/copying/concatenate_tests.cpp +++ b/cpp/tests/copying/concatenate_tests.cpp @@ -360,7 +360,7 @@ TEST_F(OverflowTest, OverflowTest) cudf::table_view tbl_last({*many_chars_last}); std::vector table_views_to_concat({tbl, tbl, tbl, tbl, tbl, tbl_last}); std::unique_ptr concatenated_tables = cudf::concatenate(table_views_to_concat); - EXPECT_NO_THROW(cudf::get_default_stream().sync()); + EXPECT_NO_THROW(cudf::get_default_stream().synchronize()); ASSERT_EQ(concatenated_tables->num_rows(), std::numeric_limits::max()); } diff --git a/cpp/tests/device_atomics/device_atomics_test.cu b/cpp/tests/device_atomics/device_atomics_test.cu index ee9d44a1ffb4..8f193eb378c0 100644 --- a/cpp/tests/device_atomics/device_atomics_test.cu +++ b/cpp/tests/device_atomics/device_atomics_test.cu @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: Copyright (c) 2021-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2021-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ @@ -146,16 +146,16 @@ struct AtomicsTest : public cudf::test::BaseFixture { if (block_size == 0) { block_size = vec_size; } if (is_cas_test) { - gpu_atomicCAS_test<<>>( + gpu_atomicCAS_test<<>>( dev_result.data(), dev_data.data(), vec_size); } else { - gpu_atomic_test<<>>( + gpu_atomic_test<<>>( dev_result.data(), dev_data.data(), vec_size); } auto host_result = cudf::detail::make_host_vector(dev_result, cudf::get_default_stream()); - CUDF_CHECK_CUDA(cudf::get_default_stream().get()); + CUDF_CHECK_CUDA(cudf::get_default_stream().value()); if (!is_timestamp_sum()) { EXPECT_EQ(host_result[0], exact[0]) << "atomicAdd test failed"; @@ -265,9 +265,9 @@ class Atomic128Test : public cudf::test::BaseFixture { __int128_t expected_result) { rmm::device_scalar<__int128_t> d_target(initial_value, cudf::get_default_stream()); - test_single_atomic_add_kernel<<<32, 256, 0, cudf::get_default_stream().get()>>>(d_target.data(), - add_value); - CUDF_CHECK_CUDA(cudf::get_default_stream().get()); + test_single_atomic_add_kernel<<<32, 256, 0, cudf::get_default_stream().value()>>>( + d_target.data(), add_value); + CUDF_CHECK_CUDA(cudf::get_default_stream().value()); __int128_t result = d_target.value(cudf::get_default_stream()); EXPECT_EQ(result, expected_result); } diff --git a/cpp/tests/interop/from_arrow_device_test.cpp b/cpp/tests/interop/from_arrow_device_test.cpp index a0f80ffad8b4..2dcca6d560c4 100644 --- a/cpp/tests/interop/from_arrow_device_test.cpp +++ b/cpp/tests/interop/from_arrow_device_test.cpp @@ -25,6 +25,7 @@ #include #include +#include #include #include @@ -791,9 +792,9 @@ TEST_F(FromArrowDeviceTest, StringViewType) NANOARROW_THROW_NOT_OK(ArrowArrayViewInitFromSchema(&view, &schema, nullptr)); NANOARROW_THROW_NOT_OK(ArrowArrayViewSetArray(&view, &input, nullptr)); - auto stream = cudf::get_default_stream(); - auto items = view.buffer_views[1].data.as_binary_view; - auto d_items = rmm::device_uvector(input.length, stream); + cuda::stream_ref stream = cudf::get_default_stream(); + auto items = view.buffer_views[1].data.as_binary_view; + auto d_items = rmm::device_uvector(input.length, stream); CUDF_CUDA_TRY(cudaMemcpyAsync(d_items.data(), items, input.length * sizeof(ArrowBinaryView), @@ -893,9 +894,9 @@ TEST_F(FromArrowDeviceTest, StringViewTypeWithProducerOwnedPrivateData) NANOARROW_THROW_NOT_OK(ArrowArrayViewSetArray(&view, input.get(), nullptr)); ASSERT_GT(view.n_variadic_buffers, 0); - auto stream = cudf::get_default_stream(); - auto items = view.buffer_views[1].data.as_binary_view; - auto d_items = rmm::device_uvector(input->length, stream); + cuda::stream_ref stream = cudf::get_default_stream(); + auto items = view.buffer_views[1].data.as_binary_view; + auto d_items = rmm::device_uvector(input->length, stream); CUDF_CUDA_TRY(cudaMemcpyAsync(d_items.data(), items, input->length * sizeof(ArrowBinaryView), diff --git a/cpp/tests/iterator/iterator_tests.cuh b/cpp/tests/iterator/iterator_tests.cuh index 305cfc79aceb..7a1f056dfd25 100644 --- a/cpp/tests/iterator/iterator_tests.cuh +++ b/cpp/tests/iterator/iterator_tests.cuh @@ -51,7 +51,7 @@ struct IteratorTest : public cudf::test::BaseFixture { num_items, cuda::minimum{}, init, - cudf::get_default_stream().get()); + cudf::get_default_stream().value()); // Allocate temporary storage rmm::device_buffer d_temp_storage(temp_storage_bytes, cudf::get_default_stream()); @@ -64,7 +64,7 @@ struct IteratorTest : public cudf::test::BaseFixture { num_items, cuda::minimum{}, init, - cudf::get_default_stream().get()); + cudf::get_default_stream().value()); evaluate(expected, dev_result, "cub test"); } diff --git a/cpp/tests/join/join_tests.cpp b/cpp/tests/join/join_tests.cpp index 5b5754109ba3..2132110ea2ef 100644 --- a/cpp/tests/join/join_tests.cpp +++ b/cpp/tests/join/join_tests.cpp @@ -2381,7 +2381,8 @@ TEST_F(JoinTest, HashJoinLargeOutputSize) // self-join a table of zeroes to generate an output row count that would overflow int32_t std::size_t col_size = 65567; rmm::device_buffer zeroes(col_size * sizeof(int32_t), cudf::get_default_stream()); - CUDF_CUDA_TRY(cudaMemsetAsync(zeroes.data(), 0, zeroes.size(), cudf::get_default_stream().get())); + CUDF_CUDA_TRY( + cudaMemsetAsync(zeroes.data(), 0, zeroes.size(), cudf::get_default_stream().value())); cudf::column_view col_zeros( cudf::data_type{cudf::type_id::INT32}, col_size, zeroes.data(), nullptr, 0); cudf::table_view tview{{col_zeros}}; diff --git a/cpp/tests/quantiles/percentile_approx_test.cpp b/cpp/tests/quantiles/percentile_approx_test.cpp index 808d3d1dcad5..cc48e778dbfb 100644 --- a/cpp/tests/quantiles/percentile_approx_test.cpp +++ b/cpp/tests/quantiles/percentile_approx_test.cpp @@ -22,6 +22,7 @@ #include #include +#include #include #include @@ -35,7 +36,7 @@ std::unique_ptr arrow_percentile_approx(cudf::column_view const& _ static auto const _arrow_init_status = arrow::compute::Initialize(); EXPECT_TRUE(_arrow_init_status.ok()); - auto stream = cudf::get_default_stream(); + cuda::stream_ref stream = cudf::get_default_stream(); // sort the incoming values using the same settings that groupby does. // this is a little weak because null_order::AFTER is hardcoded internally to groupby. @@ -241,8 +242,8 @@ void percentile_approx_test(cudf::column_view const& _keys, void simple_test(cudf::data_type input_type, std::vector> params) { - auto stream = cudf::get_default_stream(); - auto values = cudf::test::generate_standardized_percentile_distribution(input_type); + cuda::stream_ref stream = cudf::get_default_stream(); + auto values = cudf::test::generate_standardized_percentile_distribution(input_type); // all in the same group auto keys = cudf::make_fixed_width_column( cudf::data_type{cudf::type_id::INT32}, values->size(), cudf::mask_state::UNALLOCATED); @@ -262,8 +263,8 @@ struct group_index { void grouped_test(cudf::data_type input_type, std::vector> params) { - auto stream = cudf::get_default_stream(); - auto values = cudf::test::generate_standardized_percentile_distribution(input_type); + cuda::stream_ref stream = cudf::get_default_stream(); + auto values = cudf::test::generate_standardized_percentile_distribution(input_type); // all in the same group auto keys = cudf::make_fixed_width_column( cudf::data_type{cudf::type_id::INT32}, values->size(), cudf::mask_state::UNALLOCATED); @@ -309,8 +310,8 @@ void simple_with_nulls_test(cudf::data_type input_type, std::vector> params) { - auto stream = cudf::get_default_stream(); - auto values = cudf::test::generate_standardized_percentile_distribution(input_type); + cuda::stream_ref stream = cudf::get_default_stream(); + auto values = cudf::test::generate_standardized_percentile_distribution(input_type); // all in the same group auto keys = cudf::make_fixed_width_column( cudf::data_type{cudf::type_id::INT32}, values->size(), cudf::mask_state::UNALLOCATED); diff --git a/cpp/tests/scalar/scalar_device_view_test.cu b/cpp/tests/scalar/scalar_device_view_test.cu index 8429e881fbd8..ead505280f33 100644 --- a/cpp/tests/scalar/scalar_device_view_test.cu +++ b/cpp/tests/scalar/scalar_device_view_test.cu @@ -51,14 +51,14 @@ TYPED_TEST(TypedScalarDeviceViewTest, Value) auto scalar_device_view1 = cudf::get_scalar_device_view(s1); cudf::detail::device_scalar result{cudf::get_default_stream()}; - test_set_value<<<1, 1, 0, cudf::get_default_stream().get()>>>(scalar_device_view, - scalar_device_view1); + test_set_value<<<1, 1, 0, cudf::get_default_stream().value()>>>(scalar_device_view, + scalar_device_view1); CUDF_CHECK_CUDA(0); EXPECT_EQ(s1.value(), value); EXPECT_TRUE(s1.is_valid()); - test_value<<<1, 1, 0, cudf::get_default_stream().get()>>>( + test_value<<<1, 1, 0, cudf::get_default_stream().value()>>>( scalar_device_view, scalar_device_view1, result.data()); CUDF_CHECK_CUDA(0); @@ -78,7 +78,7 @@ TYPED_TEST(TypedScalarDeviceViewTest, ConstructNull) auto scalar_device_view = cudf::get_scalar_device_view(s); cudf::detail::device_scalar result{cudf::get_default_stream()}; - test_null<<<1, 1, 0, cudf::get_default_stream().get()>>>(scalar_device_view, result.data()); + test_null<<<1, 1, 0, cudf::get_default_stream().value()>>>(scalar_device_view, result.data()); CUDF_CHECK_CUDA(0); EXPECT_FALSE(result.value(cudf::get_default_stream())); @@ -98,7 +98,7 @@ TYPED_TEST(TypedScalarDeviceViewTest, SetNull) s.set_valid_async(true); EXPECT_TRUE(s.is_valid()); - test_setnull<<<1, 1, 0, cudf::get_default_stream().get()>>>(scalar_device_view); + test_setnull<<<1, 1, 0, cudf::get_default_stream().value()>>>(scalar_device_view); CUDF_CHECK_CUDA(0); EXPECT_FALSE(s.is_valid()); @@ -125,7 +125,7 @@ TEST_F(StringScalarDeviceViewTest, Value) cudf::get_default_stream(), cudf::get_current_device_resource_ref()); - test_string_value<<<1, 1, 0, cudf::get_default_stream().get()>>>( + test_string_value<<<1, 1, 0, cudf::get_default_stream().value()>>>( scalar_device_view, value_v.data(), value.size(), result.data()); CUDF_CHECK_CUDA(0); diff --git a/cpp/tests/types/type_dispatcher_test.cu b/cpp/tests/types/type_dispatcher_test.cu index 97770c5fd3d8..5e443cbf2bcd 100644 --- a/cpp/tests/types/type_dispatcher_test.cu +++ b/cpp/tests/types/type_dispatcher_test.cu @@ -69,8 +69,8 @@ TYPED_TEST(TypedDispatcherTest, DeviceDispatch) { auto result = cudf::detail::make_zeroed_device_uvector( 1, cudf::get_default_stream(), cudf::get_current_device_resource_ref()); - dispatch_test_kernel<<<1, 1, 0, cudf::get_default_stream().get()>>>(cudf::type_to_id(), - result.data()); + dispatch_test_kernel<<<1, 1, 0, cudf::get_default_stream().value()>>>( + cudf::type_to_id(), result.data()); CUDF_CUDA_TRY(cudaDeviceSynchronize()); EXPECT_EQ(true, result.front_element(cudf::get_default_stream())); } @@ -136,7 +136,7 @@ TYPED_TEST(TypedDoubleDispatcherTest, DeviceDoubleDispatch) { auto result = cudf::detail::make_zeroed_device_uvector( 1, cudf::get_default_stream(), cudf::get_current_device_resource_ref()); - double_dispatch_test_kernel<<<1, 1, 0, cudf::get_default_stream().get()>>>( + double_dispatch_test_kernel<<<1, 1, 0, cudf::get_default_stream().value()>>>( cudf::type_to_id(), cudf::type_to_id(), result.data()); CUDF_CUDA_TRY(cudaDeviceSynchronize()); EXPECT_EQ(true, result.front_element(cudf::get_default_stream())); diff --git a/cpp/tests/utilities/identify_stream_usage.cpp b/cpp/tests/utilities/identify_stream_usage.cpp index a28162183966..8f141bd9e08d 100644 --- a/cpp/tests/utilities/identify_stream_usage.cpp +++ b/cpp/tests/utilities/identify_stream_usage.cpp @@ -89,9 +89,9 @@ bool stream_is_invalid(cudaStream_t stream) return (stream != cudf::test::get_default_stream().get()); #else // We explicitly list the possibilities rather than using - // `cudf::get_default_stream().get()` because there is no guarantee that + // `cudf::get_default_stream().value()` because there is no guarantee that // `thrust::device` and the default value of - // `cudf::get_default_stream().get()` are actually the same. At present, the + // `cudf::get_default_stream().value()` are actually the same. At present, the // former is `cudaStreamLegacy` while the latter is 0. return (stream == cudaStreamDefault) || (stream == cudaStreamLegacy) || (stream == cudaStreamPerThread); diff --git a/cpp/tests/utilities/roaring_bitmap_test.cpp b/cpp/tests/utilities/roaring_bitmap_test.cpp index ceaab9f416ee..fbb07cc65137 100644 --- a/cpp/tests/utilities/roaring_bitmap_test.cpp +++ b/cpp/tests/utilities/roaring_bitmap_test.cpp @@ -12,6 +12,8 @@ #include #include +#include + #include template @@ -45,8 +47,8 @@ TYPED_TEST(RoaringBitmapTest, Basics) } }(); - auto const stream = cudf::get_default_stream(); - auto const mr = cudf::get_current_device_resource_ref(); + cuda::stream_ref const stream = cudf::get_default_stream(); + auto const mr = cudf::get_current_device_resource_ref(); auto bitmap = cudf::roaring_bitmap(bitmap_type, serialized_bitmap_data); diff --git a/cpp/tests/utilities_tests/span_tests.cu b/cpp/tests/utilities_tests/span_tests.cu index c7145d858812..33d2df410458 100644 --- a/cpp/tests/utilities_tests/span_tests.cu +++ b/cpp/tests/utilities_tests/span_tests.cu @@ -19,6 +19,7 @@ #include #include +#include #include #include @@ -237,7 +238,7 @@ TEST(SpanTest, CanUseDeviceSpan) auto d_span = device_span(d_message.data(), d_message.size()); - simple_device_kernel<<<1, 1, 0, cudf::get_default_stream().get()>>>(d_span); + simple_device_kernel<<<1, 1, 0, cudf::get_default_stream().value()>>>(d_span); ASSERT_TRUE(d_message.element(0, cudf::get_default_stream())); } @@ -283,8 +284,8 @@ TEST(MdSpanTest, DeviceReadWrite) { auto vector = hostdevice_2dvector(11, 23, cudf::get_default_stream()); - readwrite_kernel<<<1, 1, 0, cudf::get_default_stream().get()>>>(vector); - readwrite_kernel<<<1, 1, 0, cudf::get_default_stream().get()>>>(vector); + readwrite_kernel<<<1, 1, 0, cudf::get_default_stream().value()>>>(vector); + readwrite_kernel<<<1, 1, 0, cudf::get_default_stream().value()>>>(vector); vector.device_to_host(cudf::get_default_stream()); EXPECT_EQ(vector[5][6], 30); } @@ -407,8 +408,8 @@ TEST(HostDeviceSpanTest, CanCopySpan) TEST(HostDeviceSpanTest, CanSendToDevice) { - auto original_message = get_test_hostdevice_vector(); - auto stream = cudf::get_default_stream(); + auto original_message = get_test_hostdevice_vector(); + cuda::stream_ref stream = cudf::get_default_stream(); original_message.host_to_device_async(stream); From 0371baf1780d9c8390fb7116d33c7fa7f9a146b1 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Mon, 24 Aug 2026 10:33:36 -0700 Subject: [PATCH 7/7] Fix remaining test stream_ref build issues --- .../io/experimental/variant_extract_test.cpp | 2 +- .../io/json/json_quote_normalization_test.cpp | 6 +- .../quantiles/percentile_approx_test.cpp | 70 +------------------ 3 files changed, 5 insertions(+), 73 deletions(-) diff --git a/cpp/tests/io/experimental/variant_extract_test.cpp b/cpp/tests/io/experimental/variant_extract_test.cpp index b969e69735ef..254dfd8b4c47 100644 --- a/cpp/tests/io/experimental/variant_extract_test.cpp +++ b/cpp/tests/io/experimental/variant_extract_test.cpp @@ -2340,7 +2340,7 @@ TEST_F(CastVariantStatusTest, SqlNullInputProducesRowNullStatus) // Mask row 1 SQL null auto null_mask = cudf::create_null_mask(2, cudf::mask_state::ALL_VALID, stream, cmr()); cudf::set_null_mask(static_cast(null_mask.data()), 1, 2, false); - stream.synchronize(); + stream.sync(); values_col->set_null_mask(std::move(null_mask), 1); auto status = make_status_buffer(values_col->size()); diff --git a/cpp/tests/io/json/json_quote_normalization_test.cpp b/cpp/tests/io/json/json_quote_normalization_test.cpp index e5373d4b3543..26237b85dbec 100644 --- a/cpp/tests/io/json/json_quote_normalization_test.cpp +++ b/cpp/tests/io/json/json_quote_normalization_test.cpp @@ -27,7 +27,7 @@ void run_test(std::string const& host_input, { auto stream_view = cudf::test::get_default_stream(); auto device_input = rmm::device_buffer(host_input.c_str(), host_input.size(), stream_view); - stream_view.synchronize(); + stream_view.sync(); // Preprocessing FST cudf::io::datasource::owning_buffer device_data(std::move(device_input)); @@ -39,8 +39,8 @@ void run_test(std::string const& host_input, device_data.data(), preprocessed_host_output.size(), cudaMemcpyDefault, - stream_view.value())) - stream_view.synchronize(); + stream_view.get())) + stream_view.sync(); CUDF_TEST_EXPECT_VECTOR_EQUAL( preprocessed_host_output, expected_host_output, preprocessed_host_output.size()); } diff --git a/cpp/tests/quantiles/percentile_approx_test.cpp b/cpp/tests/quantiles/percentile_approx_test.cpp index cc48e778dbfb..cc12da21ae1c 100644 --- a/cpp/tests/quantiles/percentile_approx_test.cpp +++ b/cpp/tests/quantiles/percentile_approx_test.cpp @@ -14,9 +14,7 @@ #include #include #include -#include #include -#include #include #include #include @@ -24,73 +22,7 @@ #include #include -#include -#include -#include - namespace { -std::unique_ptr arrow_percentile_approx(cudf::column_view const& _values, - int delta, - std::vector const& percentages) -{ - static auto const _arrow_init_status = arrow::compute::Initialize(); - EXPECT_TRUE(_arrow_init_status.ok()); - - cuda::stream_ref stream = cudf::get_default_stream(); - - // sort the incoming values using the same settings that groupby does. - // this is a little weak because null_order::AFTER is hardcoded internally to groupby. - cudf::table_view t({_values}); - auto sorted_t = cudf::sort(t, {}, {cudf::null_order::AFTER}, stream); - auto sorted_values = sorted_t->get_column(0).view(); - - std::vector h_values(sorted_values.size()); - CUDF_CUDA_TRY(cudaMemcpyAsync(h_values.data(), - sorted_values.data(), - sizeof(double) * sorted_values.size(), - cudaMemcpyDefault, - stream.get())); - std::vector h_validity(sorted_values.size()); - if (sorted_values.null_mask() != nullptr) { - auto validity = cudf::mask_to_bools(sorted_values.null_mask(), 0, sorted_values.size(), stream); - CUDF_CUDA_TRY(cudaMemcpyAsync(h_validity.data(), - (validity->view().data()), - sizeof(char) * sorted_values.size(), - cudaMemcpyDefault, - stream.get())); - } - - // generate the tdigest - arrow::DoubleBuilder builder; - for (size_t idx = 0; idx < h_values.size(); idx++) { - if (sorted_values.null_mask() == nullptr || h_validity[idx]) { - EXPECT_TRUE(builder.Append(h_values[idx]).ok()); - } - } - std::shared_ptr array; - EXPECT_TRUE(builder.Finish(&array).ok()); - - auto const udelta = static_cast(delta); - auto const usize = static_cast(h_values.size()) * 2; - arrow::compute::TDigestOptions options{percentages, udelta, usize}; - - auto arrow_result = arrow::compute::CallFunction("tdigest", {array}, &options); - auto result_array = arrow_result.ValueOrDie().array_as(); - - // copy the percentiles and stuff them into a list column - std::vector h_result; - h_result.reserve(percentages.size()); - std::transform( - result_array->begin(), result_array->end(), std::back_inserter(h_result), [](auto p) { - return p.value(); - }); - cudf::test::fixed_width_column_wrapper result(h_result.begin(), h_result.end()); - cudf::test::fixed_width_column_wrapper offsets{ - 0, static_cast(percentages.size())}; - stream.sync(); - return cudf::make_lists_column(1, offsets.release(), result.release(), 0, {}); -} - struct percentile_approx_dispatch { template std::unique_ptr operator()(Func op, @@ -129,7 +61,7 @@ void percentile_approx_test(cudf::column_view const& _keys, std::vector const& percentages, cudf::size_type ulps) { - auto stream = cudf::get_default_stream(); + cuda::stream_ref stream = cudf::get_default_stream(); bool is_cpu_cluster_computation_disabled[2] = {true, false}; for (int idx = 0; idx < 2; idx++) { cudf::tdigest::detail::is_cpu_cluster_computation_disabled =