Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace raw streams with rmm::cuda_stream_view (part 2) #6648

Merged
merged 71 commits into from
Nov 20, 2020
Merged
Show file tree
Hide file tree
Changes from 60 commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
ff53e23
Fix cast warning.
harrism Oct 29, 2020
8c44ade
Initial stream changes
harrism Nov 2, 2020
7802d52
Revert commented out stuff.
harrism Nov 2, 2020
f0ca10c
Convert AST to cuda_stream_view
harrism Nov 2, 2020
22a14dd
Convert column_device_view to rmm::cuda_stream_view
harrism Nov 2, 2020
2fab2ad
Convert column to rmm::cuda_stream_view
harrism Nov 2, 2020
984c7ca
Changelog for #6646
harrism Nov 3, 2020
953d133
Merge branch 'branch-0.17' into fea-cuda_stream_view
harrism Nov 3, 2020
0ebf99e
Convert column factories to cuda_stream_view
harrism Nov 3, 2020
31716db
convert detail/aggregation headers and source to cuda_stream_view
harrism Nov 3, 2020
ba2fc0f
Use cuda_stream_view in groupby sort_helper
harrism Nov 3, 2020
d8827e9
Convert binops to cuda_stream_view
harrism Nov 3, 2020
6c88b59
Fix includes and copyright dates
harrism Nov 4, 2020
a31c432
Merge branch 'branch-0.17' into fea-cuda_stream_view
harrism Nov 5, 2020
325ca52
Update round to use detail::copy_bitmask
harrism Nov 5, 2020
eafb55c
Merge branch 'fea-cuda_stream_view' into fea-cuda_stream_view-2
harrism Nov 5, 2020
ad24fb7
Use stream.synchronize()
harrism Nov 5, 2020
3b6b0aa
Convert concatenate to cuda_stream_view
harrism Nov 5, 2020
a2edf78
Convert table and copy_if to cuda_stream_view
harrism Nov 6, 2020
94b1627
Changelog for #6648
harrism Nov 6, 2020
c497fcc
Convert copy_range to cuda_stream_view
harrism Nov 6, 2020
03aec6a
Convert fill to cuda_stream_view
harrism Nov 6, 2020
802fa76
Merge branch 'branch-0.17' into fea-cuda_stream_view
harrism Nov 6, 2020
c7faec9
Merge branch 'fea-cuda_stream_view' into fea-cuda_stream_view-2
harrism Nov 6, 2020
927378b
Convert gather to cuda_stream_view
harrism Nov 6, 2020
243d2a1
rename type_conversion .cu->.cpp
harrism Nov 6, 2020
554a370
Rename structs_column_view .cu->.cpp
harrism Nov 6, 2020
a76e9ec
Convert hash groupby to cuda_stream_view
harrism Nov 6, 2020
817c715
Convert hashing to cuda_stream_view
harrism Nov 8, 2020
e663d97
Merge branch 'branch-0.17' into fea-cuda_stream_view
harrism Nov 8, 2020
2da7bb1
Add conda_include_dirs to benchmarks cmakelists
harrism Nov 9, 2020
58a5420
Merge branch 'fea-cuda_stream_view' into fea-cuda_stream_view-2
harrism Nov 9, 2020
be38bda
Convert interop to rmm::cuda_stream_view
harrism Nov 9, 2020
a546bcc
Add missing dlpack and to_arrow synchronization.
harrism Nov 9, 2020
7d863dc
Convert reductions, quantiles to cuda_stream_view
harrism Nov 9, 2020
84a200e
Convert repeat to cuda_stream_view
harrism Nov 9, 2020
876d9ef
Add quantiles.hpp to meta.yaml
harrism Nov 9, 2020
6a7d15c
Convert replace to cuda_stream_view
harrism Nov 9, 2020
1340241
Convert reshape/tile to cuda_stream_view
harrism Nov 9, 2020
7a0c0f2
Convert round to cuda_stream_view
harrism Nov 9, 2020
61446f8
Convert scatter to cuda_steam_view
harrism Nov 9, 2020
091aa27
Convert search to cuda_stream_view
harrism Nov 9, 2020
9087cf5
Convert sequence to cuda_stream_view
harrism Nov 9, 2020
576dae1
Convert sorting and stream compaction to cuda_stream_view
harrism Nov 9, 2020
6ab4384
convert transform to cuda_stream_view
harrism Nov 9, 2020
d08b2d0
Convert transpose to cuda_stream_view
harrism Nov 9, 2020
1715b80
Convert unary ops to cuda_stream_view
harrism Nov 9, 2020
6250687
Fix JNI build after cuda_stream_view changes
harrism Nov 10, 2020
8b3bfb2
Merge branch 'branch-0.17' into fea-cuda_stream_view
harrism Nov 10, 2020
3fe4db4
Merge branch 'fea-cuda_stream_view' into fea-cuda_stream_view-2
harrism Nov 10, 2020
4c93c62
Add missing CONDA_INCLUDE_DIRS from benchmarks cmake
harrism Nov 11, 2020
87548f5
Add CUDF_CPP_BUILD_DIR to enable rapids-compose build.
harrism Nov 11, 2020
f286a15
Changelog
harrism Nov 11, 2020
f660aa1
Merge branch 'fix-java-build-for-compose' into fea-cuda_stream_view
harrism Nov 11, 2020
c9a530e
Merge branch 'fea-cuda_stream_view' into fea-cuda_stream_view-2
harrism Nov 11, 2020
f8ec499
Merge branch 'branch-0.17' into fea-cuda_stream_view
harrism Nov 11, 2020
d349e49
Merge branch 'fea-cuda_stream_view' into fea-cuda_stream_view-2
harrism Nov 11, 2020
4a4be90
Merge branch 'branch-0.17' into fea-cuda_stream_view
harrism Nov 12, 2020
8232fd3
Merge branch 'fea-cuda_stream_view' into fea-cuda_stream_view-2
harrism Nov 12, 2020
c526cd4
Merge branch 'branch-0.17' into fea-cuda_stream_view-2
harrism Nov 13, 2020
5b0592b
Fix includes, copyright and doc formatting.
harrism Nov 16, 2020
39b2ac7
Merge branch 'branch-0.17' into fea-cuda_stream_view-2
harrism Nov 16, 2020
06b6283
Merge branch 'branch-0.17' into fea-cuda_stream_view-2
harrism Nov 17, 2020
9d88e34
Update stream,mr order after recent merges
harrism Nov 17, 2020
9d8f23e
Remove MR parameter when it can be defaulted.
harrism Nov 18, 2020
6a62744
Header fix
harrism Nov 18, 2020
acbb2eb
Header fixes
harrism Nov 18, 2020
81cd601
Add missing include.
harrism Nov 18, 2020
81ab40c
Merge branch 'branch-0.17' into fea-cuda_stream_view-2
harrism Nov 19, 2020
9fc08f3
cudaStream_t to cuda_stream_view in math_ops
harrism Nov 19, 2020
2390e61
Merge branch 'branch-0.17' into fea-cuda_stream_view-2
harrism Nov 20, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@
- PR #6610 Add ability to set scalar values in `cudf.DataFrame`
- PR #6612 Update JNI to new RMM cuda_stream_view API
- PR #6646 Replace `cudaStream_t` with `rmm::cuda_stream_view` (part 1)
- PR #6648 Replace `cudaStream_t` with `rmm::cuda_stream_view` (part 2)
- PR #6579 Update scatter APIs to use reference wrapper / const scalar
- PR #6614 Add support for conversion to Pandas nullable dtypes and fix related issue in `cudf.to_json`
- PR #6622 Update `to_pandas` api docs
Expand Down
1 change: 1 addition & 0 deletions conda/recipes/libcudf/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ test:
- test -f $PREFIX/include/cudf/detail/replace.hpp
- test -f $PREFIX/include/cudf/detail/reshape.hpp
- test -f $PREFIX/include/cudf/detail/round.hpp
- test -f $PREFIX/include/cudf/detail/quantiles.hpp
- test -f $PREFIX/include/cudf/detail/scatter.hpp
- test -f $PREFIX/include/cudf/detail/search.hpp
- test -f $PREFIX/include/cudf/detail/sequence.hpp
Expand Down
152 changes: 77 additions & 75 deletions cpp/include/cudf/column/column_factories.hpp

Large diffs are not rendered by default.

15 changes: 10 additions & 5 deletions cpp/include/cudf/detail/aggregation/aggregation.cuh
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
#include <cudf/detail/utilities/release_assert.cuh>
#include <cudf/table/table_device_view.cuh>

#include <rmm/cuda_stream_view.hpp>

namespace cudf {
namespace detail {
/**
Expand Down Expand Up @@ -409,15 +411,17 @@ struct identity_initializer {
public:
template <typename T, aggregation::Kind k>
std::enable_if_t<is_supported<T, k>(), void> operator()(mutable_column_view const& col,
cudaStream_t stream = 0)
rmm::cuda_stream_view stream)
{
thrust::fill(
rmm::exec_policy(stream)->on(stream), col.begin<T>(), col.end<T>(), get_identity<T, k>());
thrust::fill(rmm::exec_policy(stream)->on(stream.value()),
col.begin<T>(),
col.end<T>(),
get_identity<T, k>());
}

template <typename T, aggregation::Kind k>
std::enable_if_t<not is_supported<T, k>(), void> operator()(mutable_column_view const& col,
cudaStream_t stream = 0)
rmm::cuda_stream_view stream)
{
CUDF_FAIL("Unsupported aggregation for initializing values");
}
Expand All @@ -436,10 +440,11 @@ struct identity_initializer {
* @param table The table of columns to initialize.
* @param aggs A vector of aggregation operations corresponding to the table
* columns. The aggregations determine the identity value for each column.
* @param stream CUDA stream used for device memory operations and kernel launches.
*/
void initialize_with_identity(mutable_table_view& table,
std::vector<aggregation::Kind> const& aggs,
cudaStream_t stream = 0);
rmm::cuda_stream_view stream);

} // namespace detail
} // namespace cudf
21 changes: 11 additions & 10 deletions cpp/include/cudf/detail/binaryop.hpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018-2019, NVIDIA CORPORATION.
* Copyright (c) 2018-2020, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand All @@ -13,11 +13,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/

#pragma once

#include <cudf/binaryop.hpp>

#include <rmm/cuda_stream_view.hpp>

namespace cudf {
//! Inner interfaces and implementations
namespace detail {
Expand All @@ -32,8 +33,8 @@ std::unique_ptr<column> binary_operation(
column_view const& rhs,
binary_operator op,
data_type output_type,
rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource(),
cudaStream_t stream = 0);
rmm::cuda_stream_view stream = rmm::cuda_stream_default,
rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource());

/**
* @copydoc cudf::binary_operation(column_view const&, scalar const&, binary_operator,
Expand All @@ -46,8 +47,8 @@ std::unique_ptr<column> binary_operation(
scalar const& rhs,
binary_operator op,
data_type output_type,
rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource(),
cudaStream_t stream = 0);
rmm::cuda_stream_view stream = rmm::cuda_stream_default,
rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource());

/**
* @copydoc cudf::binary_operation(column_view const&, column_view const&,
Expand All @@ -60,8 +61,8 @@ std::unique_ptr<column> binary_operation(
column_view const& rhs,
binary_operator op,
data_type output_type,
rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource(),
cudaStream_t stream = 0);
rmm::cuda_stream_view stream = rmm::cuda_stream_default,
rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource());

/**
* @copydoc cudf::binary_operation(column_view const&, column_view const&,
Expand All @@ -74,8 +75,8 @@ std::unique_ptr<column> binary_operation(
column_view const& rhs,
std::string const& ptx,
data_type output_type,
rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource(),
cudaStream_t stream = 0);
rmm::cuda_stream_view stream = rmm::cuda_stream_default,
rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource());

} // namespace detail
} // namespace cudf
6 changes: 4 additions & 2 deletions cpp/include/cudf/detail/concatenate.cuh
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@
#include <cudf/detail/concatenate.hpp>
#include <cudf/table/table_view.hpp>

#include <rmm/cuda_stream_view.hpp>

#include <vector>

namespace cudf {
Expand All @@ -36,7 +38,7 @@ void concatenate_masks(rmm::device_vector<column_device_view> const& d_views,
rmm::device_vector<size_t> const& d_offsets,
bitmask_type* dest_mask,
size_type output_size,
cudaStream_t stream);
rmm::cuda_stream_view stream);
harrism marked this conversation as resolved.
Show resolved Hide resolved

/**
* @copydoc cudf::concatenate_masks(std::vector<column_view> const&,bitmask_type*)
Expand All @@ -45,7 +47,7 @@ void concatenate_masks(rmm::device_vector<column_device_view> const& d_views,
*/
void concatenate_masks(std::vector<column_view> const& views,
bitmask_type* dest_mask,
cudaStream_t stream);
rmm::cuda_stream_view stream);

} // namespace detail
} // namespace cudf
10 changes: 6 additions & 4 deletions cpp/include/cudf/detail/concatenate.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
#include <cudf/concatenate.hpp>
#include <cudf/table/table_view.hpp>

#include <rmm/cuda_stream_view.hpp>

#include <vector>

namespace cudf {
Expand All @@ -31,8 +33,8 @@ namespace detail {
*/
std::unique_ptr<column> concatenate(
std::vector<column_view> const& columns_to_concat,
rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource(),
cudaStream_t stream = 0);
rmm::cuda_stream_view stream = rmm::cuda_stream_default,
rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource());

/**
* @copydoc cudf::concatenate(std::vector<table_view> const&,rmm::mr::device_memory_resource*)
Expand All @@ -41,8 +43,8 @@ std::unique_ptr<column> concatenate(
*/
std::unique_ptr<table> concatenate(
std::vector<table_view> const& tables_to_concat,
rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource(),
cudaStream_t stream = 0);
rmm::cuda_stream_view stream = rmm::cuda_stream_default,
rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource());

} // namespace detail
} // namespace cudf
53 changes: 27 additions & 26 deletions cpp/include/cudf/detail/copy_if.cuh
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
#include <cudf/utilities/traits.hpp>
#include <cudf/utilities/type_dispatcher.hpp>

#include <rmm/cuda_stream_view.hpp>
#include <rmm/device_buffer.hpp>
#include <rmm/device_scalar.hpp>
#include <rmm/device_uvector.hpp>
Expand Down Expand Up @@ -210,8 +211,8 @@ struct scatter_gather_functor {
cudf::size_type const* block_offsets,
Filter filter,
cudf::size_type per_thread,
rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource(),
cudaStream_t stream = 0)
rmm::cuda_stream_view stream,
rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource())
{
auto output_column = cudf::detail::allocate_like(
input, output_size, cudf::mask_allocation_policy::RETAIN, stream, mr);
Expand All @@ -231,18 +232,18 @@ struct scatter_gather_functor {
CUDA_TRY(cudaMemsetAsync(static_cast<void*>(output.null_mask()),
0,
cudf::bitmask_allocation_size_bytes(output.size()),
stream));
stream.value()));
}

auto output_device_view = cudf::mutable_column_device_view::create(output, stream);
auto input_device_view = cudf::column_device_view::create(input, stream);
scatter<<<grid.num_blocks, block_size, 0, stream>>>(*output_device_view,
null_count.data(),
*input_device_view,
block_offsets,
input.size(),
per_thread,
filter);
scatter<<<grid.num_blocks, block_size, 0, stream.value()>>>(*output_device_view,
null_count.data(),
*input_device_view,
block_offsets,
input.size(),
per_thread,
filter);

if (has_valid) { output_column->set_null_count(null_count.value(stream)); }
return output_column;
Expand All @@ -256,19 +257,19 @@ struct scatter_gather_functor {
cudf::size_type const* block_offsets,
Filter filter,
cudf::size_type per_thread,
rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource(),
cudaStream_t stream = 0)
rmm::cuda_stream_view stream,
rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource())
{
rmm::device_uvector<cudf::size_type> indices(output_size, stream);

thrust::copy_if(rmm::exec_policy(stream)->on(stream),
thrust::copy_if(rmm::exec_policy(stream)->on(stream.value()),
thrust::counting_iterator<cudf::size_type>(0),
thrust::counting_iterator<cudf::size_type>(input.size()),
indices.begin(),
filter);

auto output_table = cudf::detail::gather(
cudf::table_view{{input}}, indices.begin(), indices.end(), false, mr, stream);
cudf::table_view{{input}}, indices.begin(), indices.end(), false, stream, mr);

// There will be only one column
return std::make_unique<cudf::column>(std::move(output_table->get_column(0)));
Expand All @@ -281,8 +282,8 @@ struct scatter_gather_functor {
cudf::size_type const* block_offsets,
Filter filter,
cudf::size_type per_thread,
rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource(),
cudaStream_t stream = 0)
rmm::cuda_stream_view stream,
rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource())
{
CUDF_FAIL("fixed_point type not supported for this operation yet");
}
Expand All @@ -309,8 +310,8 @@ template <typename Filter>
std::unique_ptr<table> copy_if(
table_view const& input,
Filter filter,
rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource(),
cudaStream_t stream = 0)
rmm::cuda_stream_view stream = rmm::cuda_stream_default,
rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource())
{
CUDF_FUNC_RANGE();

Expand All @@ -326,12 +327,12 @@ std::unique_ptr<table> copy_if(
rmm::device_uvector<cudf::size_type> block_offsets(grid.num_blocks + 1, stream);

// 1. Find the count of elements in each block that "pass" the mask
compute_block_counts<Filter, block_size><<<grid.num_blocks, block_size, 0, stream>>>(
compute_block_counts<Filter, block_size><<<grid.num_blocks, block_size, 0, stream.value()>>>(
block_counts.begin(), input.num_rows(), per_thread, filter);

// initialize just the first element of block_offsets to 0 since the InclusiveSum below
// starts at the second element.
CUDA_TRY(cudaMemsetAsync(block_offsets.begin(), 0, sizeof(cudf::size_type), stream));
CUDA_TRY(cudaMemsetAsync(block_offsets.begin(), 0, sizeof(cudf::size_type), stream.value()));

// 2. Find the offset for each block's output using a scan of block counts
if (grid.num_blocks > 1) {
Expand All @@ -342,7 +343,7 @@ std::unique_ptr<table> copy_if(
block_counts.begin(),
block_offsets.begin() + 1,
grid.num_blocks,
stream);
stream.value());
rmm::device_buffer d_temp_storage(temp_storage_bytes, stream);

// Run exclusive prefix sum
Expand All @@ -351,7 +352,7 @@ std::unique_ptr<table> copy_if(
block_counts.begin(),
block_offsets.begin() + 1,
grid.num_blocks,
stream);
stream.value());
}

// As it is InclusiveSum, last value in block_offsets will be output_size
Expand All @@ -362,9 +363,9 @@ std::unique_ptr<table> copy_if(
grid.num_blocks > 1 ? block_offsets.begin() + grid.num_blocks : block_counts.begin(),
sizeof(cudf::size_type),
cudaMemcpyDefault,
stream));
stream.value()));

CUDA_TRY(cudaStreamSynchronize(stream));
stream.synchronize();

if (output_size == input.num_rows()) {
return std::make_unique<table>(input, stream, mr);
Expand All @@ -378,8 +379,8 @@ std::unique_ptr<table> copy_if(
block_offsets.begin(),
filter,
per_thread,
mr,
stream);
stream,
mr);
});

return std::make_unique<table>(std::move(out_columns));
Expand Down
16 changes: 9 additions & 7 deletions cpp/include/cudf/detail/copy_range.cuh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019, NVIDIA CORPORATION.
* Copyright (c) 2019-2020, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand All @@ -22,6 +22,8 @@
#include <cudf/utilities/bit.hpp>
#include <cudf/utilities/error.hpp>
#include <cudf/utilities/type_dispatcher.hpp>

#include <rmm/cuda_stream_view.hpp>
#include <rmm/device_scalar.hpp>

#include <cub/cub.cuh>
Expand Down Expand Up @@ -134,7 +136,7 @@ void copy_range(SourceValueIterator source_value_begin,
mutable_column_view& target,
size_type target_begin,
size_type target_end,
cudaStream_t stream = 0)
rmm::cuda_stream_view stream = rmm::cuda_stream_default)
{
CUDF_EXPECTS((target_begin <= target_end) && (target_begin >= 0) &&
(target_begin < target.size()) && (target_end <= target.size()),
Expand Down Expand Up @@ -162,7 +164,7 @@ void copy_range(SourceValueIterator source_value_begin,

auto kernel =
copy_range_kernel<block_size, SourceValueIterator, SourceValidityIterator, T, true>;
kernel<<<grid.num_blocks, block_size, 0, stream>>>(
kernel<<<grid.num_blocks, block_size, 0, stream.value()>>>(
source_value_begin,
source_validity_begin,
*mutable_column_device_view::create(target, stream),
Expand All @@ -174,7 +176,7 @@ void copy_range(SourceValueIterator source_value_begin,
} else {
auto kernel =
copy_range_kernel<block_size, SourceValueIterator, SourceValidityIterator, T, false>;
kernel<<<grid.num_blocks, block_size, 0, stream>>>(
kernel<<<grid.num_blocks, block_size, 0, stream.value()>>>(
source_value_begin,
source_validity_begin,
*mutable_column_device_view::create(target, stream),
Expand All @@ -195,7 +197,7 @@ void copy_range_in_place(column_view const& source,
size_type source_begin,
size_type source_end,
size_type target_begin,
cudaStream_t stream = 0);
rmm::cuda_stream_view stream = rmm::cuda_stream_default);

/**
* @copydoc cudf::copy_range
Expand All @@ -208,8 +210,8 @@ std::unique_ptr<column> copy_range(
size_type source_begin,
size_type source_end,
size_type target_begin,
rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource(),
cudaStream_t stream = 0);
rmm::cuda_stream_view stream = rmm::cuda_stream_default,
rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource());

} // namespace detail
} // namespace cudf
Loading