11/*
2- * Copyright (c) 2024, NVIDIA CORPORATION.
2+ * Copyright (c) 2024-2025 , NVIDIA CORPORATION.
33 *
44 * Licensed under the Apache License, Version 2.0 (the "License");
55 * you may not use this file except in compliance with the License.
@@ -37,7 +37,7 @@ struct MultiBufferTestIntegral : public cudf::test::BaseFixture {};
3737
3838TEST (MultiBufferTestIntegral, BasicTest1)
3939{
40- std::vector<size_t > const BUF_SIZES {
40+ std::vector<size_t > const buffer_sizes {
4141 50000 , 4 , 1000 , 0 , 250000 , 1 , 100 , 8000 , 0 , 1 , 100 , 1000 , 10000 , 100000 , 0 , 1 , 100000 };
4242
4343 // Device init
@@ -46,52 +46,54 @@ TEST(MultiBufferTestIntegral, BasicTest1)
4646
4747 // Creating base vector for data and setting it to all 0xFF
4848 std::vector<std::vector<uint64_t >> expected;
49- std::transform (BUF_SIZES.begin (), BUF_SIZES.end (), std::back_inserter (expected), [](auto size) {
50- return std::vector<uint64_t >(size + 2000 , std::numeric_limits<uint64_t >::max ());
51- });
49+ std::transform (
50+ buffer_sizes.begin (), buffer_sizes.end (), std::back_inserter (expected), [](auto size) {
51+ return std::vector<uint64_t >(size + 2000 , std::numeric_limits<uint64_t >::max ());
52+ });
5253
5354 // set buffer region to other value
54- std::for_each (thrust::make_zip_iterator ( thrust::make_tuple (expected. begin (), BUF_SIZES. begin ())),
55- thrust::make_zip_iterator (thrust::make_tuple (expected.end (), BUF_SIZES. end ())),
56- []( auto elem) {
57- std::fill_n (
58- thrust::get<0 >(elem).begin () + 1000 , thrust::get<1 >(elem), 0xEEEEEEEEEEEEEEEE );
59- });
55+ std::for_each (
56+ thrust::make_zip_iterator (thrust::make_tuple (expected.begin (), buffer_sizes. begin ())),
57+ thrust::make_zip_iterator ( thrust::make_tuple (expected. end (), buffer_sizes. end ())),
58+ []( auto elem) {
59+ std::fill_n ( thrust::get<0 >(elem).begin () + 1000 , thrust::get<1 >(elem), 0xEEEEEEEEEEEEEEEE );
60+ });
6061
6162 // Copy host vector data to device
62- std::vector<rmm::device_uvector<uint64_t >> device_bufs ;
63+ std::vector<rmm::device_uvector<uint64_t >> device_buffers ;
6364 std::transform (expected.begin (),
6465 expected.end (),
65- std::back_inserter (device_bufs ),
66+ std::back_inserter (device_buffers ),
6667 [stream, mr](auto const & vec) {
6768 return cudf::detail::make_device_uvector_async (vec, stream, mr);
6869 });
6970
7071 // Initialize device buffers for memset
71- std::vector<cudf::device_span<uint64_t >> memset_bufs;
72+ auto buffers =
73+ cudf::detail::make_host_vector<cudf::device_span<uint64_t >>(device_buffers.size (), stream);
7274 std::transform (
73- thrust::make_zip_iterator (thrust::make_tuple (device_bufs .begin (), BUF_SIZES .begin ())),
74- thrust::make_zip_iterator (thrust::make_tuple (device_bufs .end (), BUF_SIZES .end ())),
75- std::back_inserter (memset_bufs ),
75+ thrust::make_zip_iterator (thrust::make_tuple (device_buffers .begin (), buffer_sizes .begin ())),
76+ thrust::make_zip_iterator (thrust::make_tuple (device_buffers .end (), buffer_sizes .end ())),
77+ buffers. begin ( ),
7678 [](auto const & elem) {
7779 return cudf::device_span<uint64_t >(thrust::get<0 >(elem).data () + 1000 , thrust::get<1 >(elem));
7880 });
7981
80- // Function Call
81- cudf::detail::batched_memset (memset_bufs , uint64_t {0 }, stream);
82+ // Function call
83+ cudf::detail::batched_memset< uint64_t >(buffers , uint64_t {0 }, stream);
8284
8385 // Set all buffer regions to 0 for expected comparison
8486 std::for_each (
85- thrust::make_zip_iterator (thrust::make_tuple (expected.begin (), BUF_SIZES .begin ())),
86- thrust::make_zip_iterator (thrust::make_tuple (expected.end (), BUF_SIZES .end ())),
87+ thrust::make_zip_iterator (thrust::make_tuple (expected.begin (), buffer_sizes .begin ())),
88+ thrust::make_zip_iterator (thrust::make_tuple (expected.end (), buffer_sizes .end ())),
8789 [](auto elem) { std::fill_n (thrust::get<0 >(elem).begin () + 1000 , thrust::get<1 >(elem), 0UL ); });
8890
8991 // Compare to see that only given buffers are zeroed out
9092 std::for_each (
91- thrust::make_zip_iterator (thrust::make_tuple (device_bufs .begin (), expected.begin ())),
92- thrust::make_zip_iterator (thrust::make_tuple (device_bufs .end (), expected.end ())),
93+ thrust::make_zip_iterator (thrust::make_tuple (device_buffers .begin (), expected.begin ())),
94+ thrust::make_zip_iterator (thrust::make_tuple (device_buffers .end (), expected.end ())),
9395 [stream](auto const & elem) {
94- auto after_memset = cudf::detail::make_std_vector_async (thrust::get<0 >(elem), stream);
96+ auto const after_memset = cudf::detail::make_host_vector (thrust::get<0 >(elem), stream);
9597 EXPECT_TRUE (
9698 std::equal (thrust::get<1 >(elem).begin (), thrust::get<1 >(elem).end (), after_memset.begin ()));
9799 });
0 commit comments