diff --git a/thrust/testing/cuda/sequence.cu b/thrust/testing/cuda/sequence.cu index 1bd2942fd52..cc6a75c2dba 100644 --- a/thrust/testing/cuda/sequence.cu +++ b/thrust/testing/cuda/sequence.cu @@ -33,11 +33,8 @@ void TestSequenceDevice(ExecutionPolicy exec) ASSERT_EQUAL(cudaSuccess, err); } - ASSERT_EQUAL(v[0], 0); - ASSERT_EQUAL(v[1], 1); - ASSERT_EQUAL(v[2], 2); - ASSERT_EQUAL(v[3], 3); - ASSERT_EQUAL(v[4], 4); + thrust::device_vector ref{0, 1, 2, 3, 4}; + ASSERT_EQUAL(v, ref); sequence_kernel<<<1, 1>>>(exec, v.begin(), v.end(), 10); { @@ -45,11 +42,8 @@ void TestSequenceDevice(ExecutionPolicy exec) ASSERT_EQUAL(cudaSuccess, err); } - ASSERT_EQUAL(v[0], 10); - ASSERT_EQUAL(v[1], 11); - ASSERT_EQUAL(v[2], 12); - ASSERT_EQUAL(v[3], 13); - ASSERT_EQUAL(v[4], 14); + ref = {10, 11, 12, 13, 14}; + ASSERT_EQUAL(v, ref); sequence_kernel<<<1, 1>>>(exec, v.begin(), v.end(), 10, 2); { @@ -57,11 +51,8 @@ void TestSequenceDevice(ExecutionPolicy exec) ASSERT_EQUAL(cudaSuccess, err); } - ASSERT_EQUAL(v[0], 10); - ASSERT_EQUAL(v[1], 12); - ASSERT_EQUAL(v[2], 14); - ASSERT_EQUAL(v[3], 16); - ASSERT_EQUAL(v[4], 18); + ref = {10, 12, 14, 16, 18}; + ASSERT_EQUAL(v, ref); } void TestSequenceDeviceSeq() @@ -89,29 +80,20 @@ void TestSequenceCudaStreams() thrust::sequence(thrust::cuda::par.on(s), v.begin(), v.end()); cudaStreamSynchronize(s); - ASSERT_EQUAL(v[0], 0); - ASSERT_EQUAL(v[1], 1); - ASSERT_EQUAL(v[2], 2); - ASSERT_EQUAL(v[3], 3); - ASSERT_EQUAL(v[4], 4); + Vector ref{0, 1, 2, 3, 4}; + ASSERT_EQUAL(v, ref); thrust::sequence(thrust::cuda::par.on(s), v.begin(), v.end(), 10); cudaStreamSynchronize(s); - ASSERT_EQUAL(v[0], 10); - ASSERT_EQUAL(v[1], 11); - ASSERT_EQUAL(v[2], 12); - ASSERT_EQUAL(v[3], 13); - ASSERT_EQUAL(v[4], 14); + ref = {10, 11, 12, 13, 14}; + ASSERT_EQUAL(v, ref); thrust::sequence(thrust::cuda::par.on(s), v.begin(), v.end(), 10, 2); cudaStreamSynchronize(s); - ASSERT_EQUAL(v[0], 10); - ASSERT_EQUAL(v[1], 12); - ASSERT_EQUAL(v[2], 14); - ASSERT_EQUAL(v[3], 16); - ASSERT_EQUAL(v[4], 18); + ref = {10, 12, 14, 16, 18}; + ASSERT_EQUAL(v, ref); cudaStreamDestroy(s); } diff --git a/thrust/testing/cuda/set_difference.cu b/thrust/testing/cuda/set_difference.cu index ff726cf5f8a..09d2fafb46a 100644 --- a/thrust/testing/cuda/set_difference.cu +++ b/thrust/testing/cuda/set_difference.cu @@ -23,17 +23,9 @@ void TestSetDifferenceDevice(ExecutionPolicy exec) using Vector = thrust::device_vector; using Iterator = typename Vector::iterator; - Vector a(4), b(5); - - // clang-format off - a[0] = 0; a[1] = 2; a[2] = 4; a[3] = 5; - b[0] = 0; b[1] = 3; b[2] = 3; b[3] = 4; b[4] = 6; - // clang-format on - - Vector ref(2); - ref[0] = 2; - ref[1] = 5; + Vector a{0, 2, 4, 5}, b{0, 3, 3, 4, 6}; + Vector ref{2, 5}; Vector result(2); thrust::device_vector end_vec(1); @@ -66,17 +58,9 @@ void TestSetDifferenceCudaStreams() using Vector = thrust::device_vector; using Iterator = Vector::iterator; - Vector a(4), b(5); - - // clang-format off - a[0] = 0; a[1] = 2; a[2] = 4; a[3] = 5; - b[0] = 0; b[1] = 3; b[2] = 3; b[3] = 4; b[4] = 6; - // clang-format on - - Vector ref(2); - ref[0] = 2; - ref[1] = 5; + Vector a{0, 2, 4, 5}, b{0, 3, 3, 4, 6}; + Vector ref{2, 5}; Vector result(2); cudaStream_t s; diff --git a/thrust/testing/cuda/set_difference_by_key.cu b/thrust/testing/cuda/set_difference_by_key.cu index 62fd338ce9e..a619a051935 100644 --- a/thrust/testing/cuda/set_difference_by_key.cu +++ b/thrust/testing/cuda/set_difference_by_key.cu @@ -35,21 +35,10 @@ void TestSetDifferenceByKeyDevice(ExecutionPolicy exec) using Vector = thrust::device_vector; using Iterator = typename Vector::iterator; - // clang-format off - Vector a_key(4), b_key(5); - Vector a_val(4), b_val(5); - - a_key[0] = 0; a_key[1] = 2; a_key[2] = 4; a_key[3] = 5; - a_val[0] = 0; a_val[1] = 0; a_val[2] = 0; a_val[3] = 0; - - b_key[0] = 0; b_key[1] = 3; b_key[2] = 3; b_key[3] = 4; b_key[4] = 6; - b_val[0] = 1; b_val[1] = 1; b_val[2] = 1; b_val[3] = 1; b_val[4] = 1; - - Vector ref_key(2), ref_val(2); - ref_key[0] = 2; ref_key[1] = 5; - ref_val[0] = 0; ref_val[1] = 0; - // clang-format on + Vector a_key{0, 2, 4, 5}, b_key{0, 3, 3, 4, 6}; + Vector a_val(4, 0), b_val(5, 1); + Vector ref_key{2, 5}, ref_val{0, 0}; Vector result_key(2), result_val(2); using iter_pair = thrust::pair; @@ -96,21 +85,10 @@ void TestSetDifferenceByKeyCudaStreams() using Vector = thrust::device_vector; using Iterator = Vector::iterator; - // clang-format off - Vector a_key(4), b_key(5); - Vector a_val(4), b_val(5); - - a_key[0] = 0; a_key[1] = 2; a_key[2] = 4; a_key[3] = 5; - a_val[0] = 0; a_val[1] = 0; a_val[2] = 0; a_val[3] = 0; - - b_key[0] = 0; b_key[1] = 3; b_key[2] = 3; b_key[3] = 4; b_key[4] = 6; - b_val[0] = 1; b_val[1] = 1; b_val[2] = 1; b_val[3] = 1; b_val[4] = 1; - - Vector ref_key(2), ref_val(2); - ref_key[0] = 2; ref_key[1] = 5; - ref_val[0] = 0; ref_val[1] = 0; - // clang-format on + Vector a_key{0, 2, 4, 5}, b_key{0, 3, 3, 4, 6}; + Vector a_val(4, 0), b_val(5, 1); + Vector ref_key{2, 5}, ref_val{0, 0}; Vector result_key(2), result_val(2); cudaStream_t s; diff --git a/thrust/testing/cuda/set_intersection.cu b/thrust/testing/cuda/set_intersection.cu index e9dcc6d9cb3..11239c74eae 100644 --- a/thrust/testing/cuda/set_intersection.cu +++ b/thrust/testing/cuda/set_intersection.cu @@ -26,17 +26,9 @@ void TestSetIntersectionDevice(ExecutionPolicy exec) using Vector = thrust::device_vector; using Iterator = Vector::iterator; - Vector a(3), b(4); - - // clang-format off - a[0] = 0; a[1] = 2; a[2] = 4; - b[0] = 0; b[1] = 3; b[2] = 3; b[3] = 4; - // clang-format on - - Vector ref(2); - ref[0] = 0; - ref[1] = 4; + Vector a{0, 2, 4}, b{0, 3, 3, 4}; + Vector ref{0, 4}; Vector result(2); thrust::device_vector end_vec(1); @@ -75,17 +67,9 @@ void TestSetIntersectionCudaStreams(ExecutionPolicy policy) using Vector = thrust::device_vector; using Iterator = Vector::iterator; - Vector a(3), b(4); - - // clang-format off - a[0] = 0; a[1] = 2; a[2] = 4; - b[0] = 0; b[1] = 3; b[2] = 3; b[3] = 4; - // clang-format on - - Vector ref(2); - ref[0] = 0; - ref[1] = 4; + Vector a{0, 2, 4}, b{0, 3, 3, 4}; + Vector ref{0, 4}; Vector result(2); cudaStream_t s; diff --git a/thrust/testing/cuda/set_intersection_by_key.cu b/thrust/testing/cuda/set_intersection_by_key.cu index 3314bad0314..0f1ea9f32b4 100644 --- a/thrust/testing/cuda/set_intersection_by_key.cu +++ b/thrust/testing/cuda/set_intersection_by_key.cu @@ -32,20 +32,10 @@ void TestSetIntersectionByKeyDevice(ExecutionPolicy exec) using Vector = thrust::device_vector; using Iterator = typename Vector::iterator; - // clang-format off - Vector a_key(3), b_key(4); - Vector a_val(3); - - a_key[0] = 0; a_key[1] = 2; a_key[2] = 4; - a_val[0] = 0; a_val[1] = 0; a_val[2] = 0; - - b_key[0] = 0; b_key[1] = 3; b_key[2] = 3; b_key[3] = 4; - - Vector ref_key(2), ref_val(2); - ref_key[0] = 0; ref_key[1] = 4; - ref_val[0] = 0; ref_val[1] = 0; - // clang-format on + Vector a_key{0, 2, 4}, b_key{0, 3, 3, 4}; + Vector a_val(3, 0); + Vector ref_key{0, 4}, ref_val{0, 0}; Vector result_key(2), result_val(2); using iter_pair = thrust::pair; @@ -97,20 +87,10 @@ void TestSetIntersectionByKeyCudaStreams(ExecutionPolicy policy) using Vector = thrust::device_vector; using Iterator = Vector::iterator; - // clang-format off - Vector a_key(3), b_key(4); - Vector a_val(3); - - a_key[0] = 0; a_key[1] = 2; a_key[2] = 4; - a_val[0] = 0; a_val[1] = 0; a_val[2] = 0; - - b_key[0] = 0; b_key[1] = 3; b_key[2] = 3; b_key[3] = 4; - - Vector ref_key(2), ref_val(2); - ref_key[0] = 0; ref_key[1] = 4; - ref_val[0] = 0; ref_val[1] = 0; - // clang-format on + Vector a_key{0, 2, 4}, b_key{0, 3, 3, 4}; + Vector a_val(3, 0); + Vector ref_key{0, 4}, ref_val{0, 0}; Vector result_key(2), result_val(2); cudaStream_t s; diff --git a/thrust/testing/cuda/set_symmetric_difference.cu b/thrust/testing/cuda/set_symmetric_difference.cu index ea7c76f0203..0c12c3405f2 100644 --- a/thrust/testing/cuda/set_symmetric_difference.cu +++ b/thrust/testing/cuda/set_symmetric_difference.cu @@ -23,16 +23,9 @@ void TestSetSymmetricDifferenceDevice(ExecutionPolicy exec) using Vector = thrust::device_vector; using Iterator = typename Vector::iterator; - // clang-format off - Vector a(4), b(5); - - a[0] = 0; a[1] = 2; a[2] = 4; a[3] = 6; - b[0] = 0; b[1] = 3; b[2] = 3; b[3] = 4; b[4] = 7; - - Vector ref(5); - ref[0] = 2; ref[1] = 3; ref[2] = 3; ref[3] = 6; ref[4] = 7; - // clang-format on + Vector a{0, 2, 4, 6}, b{0, 3, 3, 4, 7}; + Vector ref{2, 3, 3, 6, 7}; Vector result(5); thrust::device_vector end_vec(1); @@ -65,16 +58,9 @@ void TestSetSymmetricDifferenceCudaStreams() using Vector = thrust::device_vector; using Iterator = Vector::iterator; - // clang-format off - Vector a(4), b(5); - - a[0] = 0; a[1] = 2; a[2] = 4; a[3] = 6; - b[0] = 0; b[1] = 3; b[2] = 3; b[3] = 4; b[4] = 7; - - Vector ref(5); - ref[0] = 2; ref[1] = 3; ref[2] = 3; ref[3] = 6; ref[4] = 7; - // clang-format on + Vector a{0, 2, 4, 6}, b{0, 3, 3, 4, 7}; + Vector ref{2, 3, 3, 6, 7}; Vector result(5); cudaStream_t s; diff --git a/thrust/testing/cuda/set_symmetric_difference_by_key.cu b/thrust/testing/cuda/set_symmetric_difference_by_key.cu index 20758cbc629..d1a2de97be2 100644 --- a/thrust/testing/cuda/set_symmetric_difference_by_key.cu +++ b/thrust/testing/cuda/set_symmetric_difference_by_key.cu @@ -34,21 +34,10 @@ void TestSetSymmetricDifferenceByKeyDevice(ExecutionPolicy exec) using Vector = thrust::device_vector; using Iterator = typename Vector::iterator; - // clang-format off - Vector a_key(4), b_key(5); - Vector a_val(4), b_val(5); - - a_key[0] = 0; a_key[1] = 2; a_key[2] = 4; a_key[3] = 6; - a_val[0] = 0; a_val[1] = 0; a_val[2] = 0; a_val[3] = 0; - - b_key[0] = 0; b_key[1] = 3; b_key[2] = 3; b_key[3] = 4; b_key[4] = 7; - b_val[0] = 1; b_val[1] = 1; b_val[2] = 1; b_val[3] = 1; b_val[4] = 1; - - Vector ref_key(5), ref_val(5); - ref_key[0] = 2; ref_key[1] = 3; ref_key[2] = 3; ref_key[3] = 6; ref_key[4] = 7; - ref_val[0] = 0; ref_val[1] = 1; ref_val[2] = 1; ref_val[3] = 0; ref_val[4] = 1; - // clang-format on + Vector a_key{0, 2, 4, 6}, b_key{0, 3, 3, 4, 7}; + Vector a_val(4, 0), b_val(5, 1); + Vector ref_key{2, 3, 3, 6, 7}, ref_val{0, 1, 1, 0, 1}; Vector result_key(5), result_val(5); using iter_pair = thrust::pair; @@ -94,21 +83,10 @@ void TestSetSymmetricDifferenceByKeyCudaStreams() using Vector = thrust::device_vector; using Iterator = Vector::iterator; - // clang-format off - Vector a_key(4), b_key(5); - Vector a_val(4), b_val(5); - - a_key[0] = 0; a_key[1] = 2; a_key[2] = 4; a_key[3] = 6; - a_val[0] = 0; a_val[1] = 0; a_val[2] = 0; a_val[3] = 0; - - b_key[0] = 0; b_key[1] = 3; b_key[2] = 3; b_key[3] = 4; b_key[4] = 7; - b_val[0] = 1; b_val[1] = 1; b_val[2] = 1; b_val[3] = 1; b_val[4] = 1; - - Vector ref_key(5), ref_val(5); - ref_key[0] = 2; ref_key[1] = 3; ref_key[2] = 3; ref_key[3] = 6; ref_key[4] = 7; - ref_val[0] = 0; ref_val[1] = 1; ref_val[2] = 1; ref_val[3] = 0; ref_val[4] = 1; - // clang-format on + Vector a_key{0, 2, 4, 6}, b_key{0, 3, 3, 4, 7}; + Vector a_val(4, 0), b_val(5, 1); + Vector ref_key{2, 3, 3, 6, 7}, ref_val{0, 1, 1, 0, 1}; Vector result_key(5), result_val(5); cudaStream_t s; diff --git a/thrust/testing/cuda/set_union.cu b/thrust/testing/cuda/set_union.cu index d03ceb1ebc6..307b35e26bf 100644 --- a/thrust/testing/cuda/set_union.cu +++ b/thrust/testing/cuda/set_union.cu @@ -23,16 +23,9 @@ void TestSetUnionDevice(ExecutionPolicy exec) using Vector = thrust::device_vector; using Iterator = typename Vector::iterator; - // clang-format off - Vector a(3), b(4); - - a[0] = 0; a[1] = 2; a[2] = 4; - b[0] = 0; b[1] = 3; b[2] = 3; b[3] = 4; - - Vector ref(5); - ref[0] = 0; ref[1] = 2; ref[2] = 3; ref[3] = 3; ref[4] = 4; - // clang-format on + Vector a{0, 2, 4}, b{0, 3, 3, 4}; + Vector ref{0, 2, 3, 3, 4}; Vector result(5); thrust::device_vector end_vec(1); @@ -64,16 +57,9 @@ void TestSetUnionCudaStreams() using Vector = thrust::device_vector; using Iterator = Vector::iterator; - // clang-format off - Vector a(3), b(4); - - a[0] = 0; a[1] = 2; a[2] = 4; - b[0] = 0; b[1] = 3; b[2] = 3; b[3] = 4; - - Vector ref(5); - ref[0] = 0; ref[1] = 2; ref[2] = 3; ref[3] = 3; ref[4] = 4; - // clang-format on + Vector a{0, 2, 4}, b{0, 3, 3, 4}; + Vector ref{0, 2, 3, 3, 4}; Vector result(5); cudaStream_t s; diff --git a/thrust/testing/cuda/set_union_by_key.cu b/thrust/testing/cuda/set_union_by_key.cu index ef74da239c1..a869217310b 100644 --- a/thrust/testing/cuda/set_union_by_key.cu +++ b/thrust/testing/cuda/set_union_by_key.cu @@ -34,21 +34,10 @@ void TestSetUnionByKeyDevice(ExecutionPolicy exec) using Vector = thrust::device_vector; using Iterator = typename Vector::iterator; - // clang-format off - Vector a_key(3), b_key(4); - Vector a_val(3), b_val(4); - - a_key[0] = 0; a_key[1] = 2; a_key[2] = 4; - a_val[0] = 0; a_val[1] = 0; a_val[2] = 0; - - b_key[0] = 0; b_key[1] = 3; b_key[2] = 3; b_key[3] = 4; - b_val[0] = 1; b_val[1] = 1; b_val[2] = 1; b_val[3] = 1; - - Vector ref_key(5), ref_val(5); - ref_key[0] = 0; ref_key[1] = 2; ref_key[2] = 3; ref_key[3] = 3; ref_key[4] = 4; - ref_val[0] = 0; ref_val[1] = 0; ref_val[2] = 1; ref_val[3] = 1; ref_val[4] = 0; - // clang-format on + Vector a_key{0, 2, 4}, b_key{0, 3, 3, 4}; + Vector a_val(3, 0), b_val(4, 1); + Vector ref_key{0, 2, 3, 3, 4}, ref_val{0, 0, 1, 1, 0}; Vector result_key(5), result_val(5); thrust::device_vector> end_vec(1); @@ -93,21 +82,10 @@ void TestSetUnionByKeyCudaStreams() using Vector = thrust::device_vector; using Iterator = Vector::iterator; - Vector a_key(3), b_key(4); - Vector a_val(3), b_val(4); - - // clang-format off - a_key[0] = 0; a_key[1] = 2; a_key[2] = 4; - a_val[0] = 0; a_val[1] = 0; a_val[2] = 0; - - b_key[0] = 0; b_key[1] = 3; b_key[2] = 3; b_key[3] = 4; - b_val[0] = 1; b_val[1] = 1; b_val[2] = 1; b_val[3] = 1; - - Vector ref_key(5), ref_val(5); - ref_key[0] = 0; ref_key[1] = 2; ref_key[2] = 3; ref_key[3] = 3; ref_key[4] = 4; - ref_val[0] = 0; ref_val[1] = 0; ref_val[2] = 1; ref_val[3] = 1; ref_val[4] = 0; - // clang-format on + Vector a_key{0, 2, 4}, b_key{0, 3, 3, 4}; + Vector a_val(3, 0), b_val(4, 1); + Vector ref_key{0, 2, 3, 3, 4}, ref_val{0, 0, 1, 1, 0}; Vector result_key(5), result_val(5); cudaStream_t s; diff --git a/thrust/testing/cuda/sort.cu b/thrust/testing/cuda/sort.cu index 6962a396404..2495718da75 100644 --- a/thrust/testing/cuda/sort.cu +++ b/thrust/testing/cuda/sort.cu @@ -98,18 +98,7 @@ VariableUnitTest keys(10); - - keys[0] = 9; - keys[1] = 3; - keys[2] = 2; - keys[3] = 0; - keys[4] = 4; - keys[5] = 7; - keys[6] = 8; - keys[7] = 1; - keys[8] = 5; - keys[9] = 6; + thrust::device_vector keys{9, 3, 2, 0, 4, 7, 8, 1, 5, 6}; cudaStream_t s; cudaStreamCreate(&s); @@ -125,18 +114,7 @@ DECLARE_UNITTEST(TestSortCudaStreams); void TestComparisonSortCudaStreams() { - thrust::device_vector keys(10); - - keys[0] = 9; - keys[1] = 3; - keys[2] = 2; - keys[3] = 0; - keys[4] = 4; - keys[5] = 7; - keys[6] = 8; - keys[7] = 1; - keys[8] = 5; - keys[9] = 6; + thrust::device_vector keys{9, 3, 2, 0, 4, 7, 8, 1, 5, 6}; cudaStream_t s; cudaStreamCreate(&s); diff --git a/thrust/testing/cuda/sort_by_key.cu b/thrust/testing/cuda/sort_by_key.cu index a2c81d73bc9..5a547a38c72 100644 --- a/thrust/testing/cuda/sort_by_key.cu +++ b/thrust/testing/cuda/sort_by_key.cu @@ -93,8 +93,8 @@ VariableUnitTest keys = {9, 3, 2, 0, 4, 7, 8, 1, 5, 6}; - thrust::device_vector vals = {9, 3, 2, 0, 4, 7, 8, 1, 5, 6}; + thrust::device_vector keys{9, 3, 2, 0, 4, 7, 8, 1, 5, 6}; + thrust::device_vector vals{9, 3, 2, 0, 4, 7, 8, 1, 5, 6}; cudaStream_t s; cudaStreamCreate(&s); @@ -111,8 +111,8 @@ DECLARE_UNITTEST(TestComparisonSortByKeyCudaStreams); void TestSortByKeyCudaStreams() { - thrust::device_vector keys = {9, 3, 2, 0, 4, 7, 8, 1, 5, 6}; - thrust::device_vector vals = {9, 3, 2, 0, 4, 7, 8, 1, 5, 6}; + thrust::device_vector keys{9, 3, 2, 0, 4, 7, 8, 1, 5, 6}; + thrust::device_vector vals{9, 3, 2, 0, 4, 7, 8, 1, 5, 6}; cudaStream_t s; cudaStreamCreate(&s); diff --git a/thrust/testing/cuda/swap_ranges.cu b/thrust/testing/cuda/swap_ranges.cu index 3616b3fb4e7..e88d53844bf 100644 --- a/thrust/testing/cuda/swap_ranges.cu +++ b/thrust/testing/cuda/swap_ranges.cu @@ -15,35 +15,17 @@ void TestSwapRangesDevice(ExecutionPolicy exec) { using Vector = thrust::device_vector; - Vector v1(5); - v1[0] = 0; - v1[1] = 1; - v1[2] = 2; - v1[3] = 3; - v1[4] = 4; - - Vector v2(5); - v2[0] = 5; - v2[1] = 6; - v2[2] = 7; - v2[3] = 8; - v2[4] = 9; + Vector v1{0, 1, 2, 3, 4}; + Vector v2{5, 6, 7, 8, 9}; swap_ranges_kernel<<<1, 1>>>(exec, v1.begin(), v1.end(), v2.begin()); cudaError_t const err = cudaDeviceSynchronize(); ASSERT_EQUAL(cudaSuccess, err); - ASSERT_EQUAL(v1[0], 5); - ASSERT_EQUAL(v1[1], 6); - ASSERT_EQUAL(v1[2], 7); - ASSERT_EQUAL(v1[3], 8); - ASSERT_EQUAL(v1[4], 9); - - ASSERT_EQUAL(v2[0], 0); - ASSERT_EQUAL(v2[1], 1); - ASSERT_EQUAL(v2[2], 2); - ASSERT_EQUAL(v2[3], 3); - ASSERT_EQUAL(v2[4], 4); + Vector v1_ref(v2); + Vector v2_ref(v1); + ASSERT_EQUAL(v1, v1_ref); + ASSERT_EQUAL(v2, v1_ref); } void TestSwapRangesDeviceSeq() @@ -63,19 +45,8 @@ void TestSwapRangesCudaStreams() { using Vector = thrust::device_vector; - Vector v1(5); - v1[0] = 0; - v1[1] = 1; - v1[2] = 2; - v1[3] = 3; - v1[4] = 4; - - Vector v2(5); - v2[0] = 5; - v2[1] = 6; - v2[2] = 7; - v2[3] = 8; - v2[4] = 9; + Vector v1{0, 1, 2, 3, 4}; + Vector v2{5, 6, 7, 8, 9}; cudaStream_t s; cudaStreamCreate(&s); @@ -83,17 +54,10 @@ void TestSwapRangesCudaStreams() thrust::swap_ranges(thrust::cuda::par.on(s), v1.begin(), v1.end(), v2.begin()); cudaStreamSynchronize(s); - ASSERT_EQUAL(v1[0], 5); - ASSERT_EQUAL(v1[1], 6); - ASSERT_EQUAL(v1[2], 7); - ASSERT_EQUAL(v1[3], 8); - ASSERT_EQUAL(v1[4], 9); - - ASSERT_EQUAL(v2[0], 0); - ASSERT_EQUAL(v2[1], 1); - ASSERT_EQUAL(v2[2], 2); - ASSERT_EQUAL(v2[3], 3); - ASSERT_EQUAL(v2[4], 4); + Vector v1_ref(v2); + Vector v2_ref(v1); + ASSERT_EQUAL(v1, v1_ref); + ASSERT_EQUAL(v2, v1_ref); cudaStreamDestroy(s); } diff --git a/thrust/testing/cuda/tabulate.cu b/thrust/testing/cuda/tabulate.cu index bad8b6e2c80..94d07cdbc7a 100644 --- a/thrust/testing/cuda/tabulate.cu +++ b/thrust/testing/cuda/tabulate.cu @@ -26,11 +26,8 @@ void TestTabulateDevice(ExecutionPolicy exec) ASSERT_EQUAL(cudaSuccess, err); } - ASSERT_EQUAL(v[0], 0); - ASSERT_EQUAL(v[1], 1); - ASSERT_EQUAL(v[2], 2); - ASSERT_EQUAL(v[3], 3); - ASSERT_EQUAL(v[4], 4); + Vector ref{0, 1, 2, 3, 4}; + ASSERT_EQUAL(v, ref); tabulate_kernel<<<1, 1>>>(exec, v.begin(), v.end(), -_1); { @@ -38,11 +35,8 @@ void TestTabulateDevice(ExecutionPolicy exec) ASSERT_EQUAL(cudaSuccess, err); } - ASSERT_EQUAL(v[0], 0); - ASSERT_EQUAL(v[1], -1); - ASSERT_EQUAL(v[2], -2); - ASSERT_EQUAL(v[3], -3); - ASSERT_EQUAL(v[4], -4); + ref = {0, -1, -2, -3, -4}; + ASSERT_EQUAL(v, ref); tabulate_kernel<<<1, 1>>>(exec, v.begin(), v.end(), _1 * _1 * _1); { @@ -50,11 +44,8 @@ void TestTabulateDevice(ExecutionPolicy exec) ASSERT_EQUAL(cudaSuccess, err); } - ASSERT_EQUAL(v[0], 0); - ASSERT_EQUAL(v[1], 1); - ASSERT_EQUAL(v[2], 8); - ASSERT_EQUAL(v[3], 27); - ASSERT_EQUAL(v[4], 64); + ref = {0, 1, 8, 27, 64}; + ASSERT_EQUAL(v, ref); } void TestTabulateDeviceSeq() @@ -84,29 +75,20 @@ void TestTabulateCudaStreams() thrust::tabulate(thrust::cuda::par.on(s), v.begin(), v.end(), thrust::identity()); cudaStreamSynchronize(s); - ASSERT_EQUAL(v[0], 0); - ASSERT_EQUAL(v[1], 1); - ASSERT_EQUAL(v[2], 2); - ASSERT_EQUAL(v[3], 3); - ASSERT_EQUAL(v[4], 4); + Vector ref{0, 1, 2, 3, 4}; + ASSERT_EQUAL(v, ref); thrust::tabulate(thrust::cuda::par.on(s), v.begin(), v.end(), -_1); cudaStreamSynchronize(s); - ASSERT_EQUAL(v[0], 0); - ASSERT_EQUAL(v[1], -1); - ASSERT_EQUAL(v[2], -2); - ASSERT_EQUAL(v[3], -3); - ASSERT_EQUAL(v[4], -4); + ref = {0, -1, -2, -3, -4}; + ASSERT_EQUAL(v, ref); thrust::tabulate(thrust::cuda::par.on(s), v.begin(), v.end(), _1 * _1 * _1); cudaStreamSynchronize(s); - ASSERT_EQUAL(v[0], 0); - ASSERT_EQUAL(v[1], 1); - ASSERT_EQUAL(v[2], 8); - ASSERT_EQUAL(v[3], 27); - ASSERT_EQUAL(v[4], 64); + ref = {0, 1, 8, 27, 64}; + ASSERT_EQUAL(v, ref); cudaStreamSynchronize(s); } diff --git a/thrust/testing/cuda/transform.cu b/thrust/testing/cuda/transform.cu index 3fd3ed22470..bd9f8006db1 100644 --- a/thrust/testing/cuda/transform.cu +++ b/thrust/testing/cuda/transform.cu @@ -19,15 +19,9 @@ void TestTransformUnaryDevice(ExecutionPolicy exec) typename Vector::iterator iter; - Vector input(3); + Vector input{1, -2, 3}; Vector output(3); - Vector result(3); - input[0] = 1; - input[1] = -2; - input[2] = 3; - result[0] = -1; - result[1] = 2; - result[2] = -3; + Vector result{-1, 2, -3}; thrust::device_vector iter_vec(1); @@ -79,19 +73,9 @@ void TestTransformIfUnaryNoStencilDevice(ExecutionPolicy exec) typename Vector::iterator iter; - Vector input(3); - Vector output(3); - Vector result(3); - - input[0] = 0; - input[1] = -2; - input[2] = 0; - output[0] = -1; - output[1] = -2; - output[2] = -3; - result[0] = -1; - result[1] = 2; - result[2] = -3; + Vector input{0, -2, 0}; + Vector output{-1, -2, -3}; + Vector result{-1, 2, -3}; thrust::device_vector iter_vec(1); @@ -146,23 +130,10 @@ void TestTransformIfUnaryDevice(ExecutionPolicy exec) typename Vector::iterator iter; - Vector input(3); - Vector stencil(3); - Vector output(3); - Vector result(3); - - input[0] = 1; - input[1] = -2; - input[2] = 3; - output[0] = 1; - output[1] = 2; - output[2] = 3; - stencil[0] = 1; - stencil[1] = 0; - stencil[2] = 1; - result[0] = -1; - result[1] = 2; - result[2] = -3; + Vector input{1, -2, 3}; + Vector stencil{1, 0, 1}; + Vector output{1, 2, 3}; + Vector result{-1, 2, -3}; thrust::device_vector iter_vec(1); @@ -222,19 +193,10 @@ void TestTransformBinaryDevice(ExecutionPolicy exec) typename Vector::iterator iter; - Vector input1(3); - Vector input2(3); + Vector input1{1, -2, 3}; + Vector input2{-4, 5, 6}; Vector output(3); - Vector result(3); - input1[0] = 1; - input1[1] = -2; - input1[2] = 3; - input2[0] = -4; - input2[1] = 5; - input2[2] = 6; - result[0] = 5; - result[1] = -7; - result[2] = -3; + Vector result{5, -7, -3}; thrust::device_vector iter_vec(1); @@ -291,27 +253,11 @@ void TestTransformIfBinaryDevice(ExecutionPolicy exec) typename Vector::iterator iter; - Vector input1(3); - Vector input2(3); - Vector stencil(3); - Vector output(3); - Vector result(3); - - input1[0] = 1; - input1[1] = -2; - input1[2] = 3; - input2[0] = -4; - input2[1] = 5; - input2[2] = 6; - stencil[0] = 0; - stencil[1] = 1; - stencil[2] = 0; - output[0] = 1; - output[1] = 2; - output[2] = 3; - result[0] = 5; - result[1] = 2; - result[2] = -3; + Vector input1{1, -2, 3}; + Vector input2{-4, 5, 6}; + Vector stencil{0, 1, 0}; + Vector output{1, 2, 3}; + Vector result{5, 2, -3}; thrust::identity identity; @@ -356,15 +302,9 @@ void TestTransformUnaryCudaStreams() Vector::iterator iter; - Vector input(3); + Vector input{1, -2, 3}; Vector output(3); - Vector result(3); - input[0] = 1; - input[1] = -2; - input[2] = 3; - result[0] = -1; - result[1] = 2; - result[2] = -3; + Vector result{-1, 2, -3}; cudaStream_t s; cudaStreamCreate(&s); @@ -386,19 +326,10 @@ void TestTransformBinaryCudaStreams() Vector::iterator iter; - Vector input1(3); - Vector input2(3); + Vector input1{1, -2, 3}; + Vector input2{-4, 5, 6}; Vector output(3); - Vector result(3); - input1[0] = 1; - input1[1] = -2; - input1[2] = 3; - input2[0] = -4; - input2[1] = 5; - input2[2] = 6; - result[0] = 5; - result[1] = -7; - result[2] = -3; + Vector result{5, -7, -3}; cudaStream_t s; cudaStreamCreate(&s); diff --git a/thrust/testing/cuda/transform_reduce.cu b/thrust/testing/cuda/transform_reduce.cu index 2e2ea128cd2..8b35461d579 100644 --- a/thrust/testing/cuda/transform_reduce.cu +++ b/thrust/testing/cuda/transform_reduce.cu @@ -17,11 +17,7 @@ void TestTransformReduceDevice(ExecutionPolicy exec) using Vector = thrust::device_vector; using T = typename Vector::value_type; - Vector data(3); - data[0] = 1; - data[1] = -2; - data[2] = 3; - + Vector data{1, -2, 3}; T init = 10; thrust::device_vector result(1); @@ -52,11 +48,7 @@ void TestTransformReduceCudaStreams() using Vector = thrust::device_vector; using T = Vector::value_type; - Vector data(3); - data[0] = 1; - data[1] = -2; - data[2] = 3; - + Vector data{1, -2, 3}; T init = 10; cudaStream_t s; diff --git a/thrust/testing/cuda/uninitialized_copy.cu b/thrust/testing/cuda/uninitialized_copy.cu index 21d02e68177..bf50530c921 100644 --- a/thrust/testing/cuda/uninitialized_copy.cu +++ b/thrust/testing/cuda/uninitialized_copy.cu @@ -15,12 +15,7 @@ void TestUninitializedCopyDevice(ExecutionPolicy exec) { using Vector = thrust::device_vector; - Vector v1(5); - v1[0] = 0; - v1[1] = 1; - v1[2] = 2; - v1[3] = 3; - v1[4] = 4; + Vector v1{0, 1, 2, 3, 4}; // copy to Vector Vector v2(5); @@ -28,11 +23,8 @@ void TestUninitializedCopyDevice(ExecutionPolicy exec) cudaError_t const err = cudaDeviceSynchronize(); ASSERT_EQUAL(cudaSuccess, err); - ASSERT_EQUAL(v2[0], 0); - ASSERT_EQUAL(v2[1], 1); - ASSERT_EQUAL(v2[2], 2); - ASSERT_EQUAL(v2[3], 3); - ASSERT_EQUAL(v2[4], 4); + Vector ref{0, 1, 2, 3, 4}; + ASSERT_EQUAL(v2, ref); } void TestUninitializedCopyDeviceSeq() @@ -52,12 +44,7 @@ void TestUninitializedCopyCudaStreams() { using Vector = thrust::device_vector; - Vector v1(5); - v1[0] = 0; - v1[1] = 1; - v1[2] = 2; - v1[3] = 3; - v1[4] = 4; + Vector v1{0, 1, 2, 3, 4}; // copy to Vector Vector v2(5); @@ -68,12 +55,7 @@ void TestUninitializedCopyCudaStreams() thrust::uninitialized_copy(thrust::cuda::par.on(s), v1.begin(), v1.end(), v2.begin()); cudaStreamSynchronize(s); - ASSERT_EQUAL(v2[0], 0); - ASSERT_EQUAL(v2[1], 1); - ASSERT_EQUAL(v2[2], 2); - ASSERT_EQUAL(v2[3], 3); - ASSERT_EQUAL(v2[4], 4); - + ASSERT_EQUAL(v2, v1); cudaStreamDestroy(s); } DECLARE_UNITTEST(TestUninitializedCopyCudaStreams); @@ -90,12 +72,7 @@ void TestUninitializedCopyNDevice(ExecutionPolicy exec) { using Vector = thrust::device_vector; - Vector v1(5); - v1[0] = 0; - v1[1] = 1; - v1[2] = 2; - v1[3] = 3; - v1[4] = 4; + Vector v1{0, 1, 2, 3, 4}; // copy to Vector Vector v2(5); @@ -103,11 +80,7 @@ void TestUninitializedCopyNDevice(ExecutionPolicy exec) cudaError_t const err = cudaDeviceSynchronize(); ASSERT_EQUAL(cudaSuccess, err); - ASSERT_EQUAL(v2[0], 0); - ASSERT_EQUAL(v2[1], 1); - ASSERT_EQUAL(v2[2], 2); - ASSERT_EQUAL(v2[3], 3); - ASSERT_EQUAL(v2[4], 4); + ASSERT_EQUAL(v2, v1); } void TestUninitializedCopyNDeviceSeq() @@ -127,12 +100,7 @@ void TestUninitializedCopyNCudaStreams() { using Vector = thrust::device_vector; - Vector v1(5); - v1[0] = 0; - v1[1] = 1; - v1[2] = 2; - v1[3] = 3; - v1[4] = 4; + Vector v1{0, 1, 2, 3, 4}; // copy to Vector Vector v2(5); @@ -142,12 +110,7 @@ void TestUninitializedCopyNCudaStreams() thrust::uninitialized_copy_n(thrust::cuda::par.on(s), v1.begin(), v1.size(), v2.begin()); cudaStreamSynchronize(s); - - ASSERT_EQUAL(v2[0], 0); - ASSERT_EQUAL(v2[1], 1); - ASSERT_EQUAL(v2[2], 2); - ASSERT_EQUAL(v2[3], 3); - ASSERT_EQUAL(v2[4], 4); + ASSERT_EQUAL(v2, v1); cudaStreamDestroy(s); } diff --git a/thrust/testing/cuda/uninitialized_fill.cu b/thrust/testing/cuda/uninitialized_fill.cu index 90ad5abc573..a550f4375bb 100644 --- a/thrust/testing/cuda/uninitialized_fill.cu +++ b/thrust/testing/cuda/uninitialized_fill.cu @@ -16,68 +16,50 @@ void TestUninitializedFillDevice(ExecutionPolicy exec) using Vector = thrust::device_vector; using T = Vector::value_type; - Vector v(5); - v[0] = 0; - v[1] = 1; - v[2] = 2; - v[3] = 3; - v[4] = 4; + Vector v{0, 1, 2, 3, 4}; + T sub(7); - T exemplar(7); - - uninitialized_fill_kernel<<<1, 1>>>(exec, v.begin() + 1, v.begin() + 4, exemplar); + uninitialized_fill_kernel<<<1, 1>>>(exec, v.begin() + 1, v.begin() + 4, sub); { cudaError_t const err = cudaDeviceSynchronize(); ASSERT_EQUAL(cudaSuccess, err); } - ASSERT_EQUAL(v[0], 0); - ASSERT_EQUAL(v[1], exemplar); - ASSERT_EQUAL(v[2], exemplar); - ASSERT_EQUAL(v[3], exemplar); - ASSERT_EQUAL(v[4], 4); + Vector ref{0, sub, sub, sub, 4}; + ASSERT_EQUAL(v, ref); - exemplar = 8; + sub = 8; - uninitialized_fill_kernel<<<1, 1>>>(exec, v.begin() + 0, v.begin() + 3, exemplar); + uninitialized_fill_kernel<<<1, 1>>>(exec, v.begin() + 0, v.begin() + 3, sub); { cudaError_t const err = cudaDeviceSynchronize(); ASSERT_EQUAL(cudaSuccess, err); } - ASSERT_EQUAL(v[0], exemplar); - ASSERT_EQUAL(v[1], exemplar); - ASSERT_EQUAL(v[2], exemplar); - ASSERT_EQUAL(v[3], 7); - ASSERT_EQUAL(v[4], 4); + ref = {sub, sub, sub, 7, 4}; + ASSERT_EQUAL(v, ref); - exemplar = 9; + sub = 9; - uninitialized_fill_kernel<<<1, 1>>>(exec, v.begin() + 2, v.end(), exemplar); + uninitialized_fill_kernel<<<1, 1>>>(exec, v.begin() + 2, v.end(), sub); { cudaError_t const err = cudaDeviceSynchronize(); ASSERT_EQUAL(cudaSuccess, err); } - ASSERT_EQUAL(v[0], 8); - ASSERT_EQUAL(v[1], 8); - ASSERT_EQUAL(v[2], exemplar); - ASSERT_EQUAL(v[3], exemplar); - ASSERT_EQUAL(v[4], 9); + ref = {8, 8, sub, sub, 9}; + ASSERT_EQUAL(v, ref); - exemplar = 1; + sub = 1; - uninitialized_fill_kernel<<<1, 1>>>(exec, v.begin(), v.end(), exemplar); + uninitialized_fill_kernel<<<1, 1>>>(exec, v.begin(), v.end(), sub); { cudaError_t const err = cudaDeviceSynchronize(); ASSERT_EQUAL(cudaSuccess, err); } - ASSERT_EQUAL(v[0], exemplar); - ASSERT_EQUAL(v[1], exemplar); - ASSERT_EQUAL(v[2], exemplar); - ASSERT_EQUAL(v[3], exemplar); - ASSERT_EQUAL(v[4], exemplar); + ref = Vector(5, sub); + ASSERT_EQUAL(v, ref); } void TestUninitializedFillDeviceSeq() @@ -98,26 +80,17 @@ void TestUninitializedFillCudaStreams() using Vector = thrust::device_vector; using T = Vector::value_type; - Vector v(5); - v[0] = 0; - v[1] = 1; - v[2] = 2; - v[3] = 3; - v[4] = 4; - - T exemplar(7); + Vector v{0, 1, 2, 3, 4}; + T sub(7); cudaStream_t s; cudaStreamCreate(&s); - thrust::uninitialized_fill(thrust::cuda::par.on(s), v.begin(), v.end(), exemplar); + thrust::uninitialized_fill(thrust::cuda::par.on(s), v.begin(), v.end(), sub); cudaStreamSynchronize(s); - ASSERT_EQUAL(v[0], exemplar); - ASSERT_EQUAL(v[1], exemplar); - ASSERT_EQUAL(v[2], exemplar); - ASSERT_EQUAL(v[3], exemplar); - ASSERT_EQUAL(v[4], exemplar); + Vector ref(v.size(), sub); + ASSERT_EQUAL(v, ref); cudaStreamDestroy(s); } @@ -136,18 +109,12 @@ void TestUninitializedFillNDevice(ExecutionPolicy exec) using Vector = thrust::device_vector; using T = Vector::value_type; - Vector v(5); - v[0] = 0; - v[1] = 1; - v[2] = 2; - v[3] = 3; - v[4] = 4; - - T exemplar(7); + Vector v{0, 1, 2, 3, 4}; + T sub(7); thrust::device_vector iter_vec(1); - uninitialized_fill_n_kernel<<<1, 1>>>(exec, v.begin() + 1, 3, exemplar, iter_vec.begin()); + uninitialized_fill_n_kernel<<<1, 1>>>(exec, v.begin() + 1, 3, sub, iter_vec.begin()); { cudaError_t const err = cudaDeviceSynchronize(); ASSERT_EQUAL(cudaSuccess, err); @@ -155,16 +122,13 @@ void TestUninitializedFillNDevice(ExecutionPolicy exec) Vector::iterator iter = iter_vec[0]; - ASSERT_EQUAL(v[0], 0); - ASSERT_EQUAL(v[1], exemplar); - ASSERT_EQUAL(v[2], exemplar); - ASSERT_EQUAL(v[3], exemplar); - ASSERT_EQUAL(v[4], 4); + Vector ref{0, sub, sub, sub, 4}; + ASSERT_EQUAL(v, ref); ASSERT_EQUAL_QUIET(v.begin() + 4, iter); - exemplar = 8; + sub = 8; - uninitialized_fill_n_kernel<<<1, 1>>>(exec, v.begin() + 0, 3, exemplar, iter_vec.begin()); + uninitialized_fill_n_kernel<<<1, 1>>>(exec, v.begin() + 0, 3, sub, iter_vec.begin()); { cudaError_t const err = cudaDeviceSynchronize(); ASSERT_EQUAL(cudaSuccess, err); @@ -172,16 +136,13 @@ void TestUninitializedFillNDevice(ExecutionPolicy exec) iter = iter_vec[0]; - ASSERT_EQUAL(v[0], exemplar); - ASSERT_EQUAL(v[1], exemplar); - ASSERT_EQUAL(v[2], exemplar); - ASSERT_EQUAL(v[3], 7); - ASSERT_EQUAL(v[4], 4); + ref = {sub, sub, sub, 7, 4}; + ASSERT_EQUAL(v, ref); ASSERT_EQUAL_QUIET(v.begin() + 3, iter); - exemplar = 9; + sub = 9; - uninitialized_fill_n_kernel<<<1, 1>>>(exec, v.begin() + 2, 3, exemplar, iter_vec.begin()); + uninitialized_fill_n_kernel<<<1, 1>>>(exec, v.begin() + 2, 3, sub, iter_vec.begin()); { cudaError_t const err = cudaDeviceSynchronize(); ASSERT_EQUAL(cudaSuccess, err); @@ -189,16 +150,13 @@ void TestUninitializedFillNDevice(ExecutionPolicy exec) iter = iter_vec[0]; - ASSERT_EQUAL(v[0], 8); - ASSERT_EQUAL(v[1], 8); - ASSERT_EQUAL(v[2], exemplar); - ASSERT_EQUAL(v[3], exemplar); - ASSERT_EQUAL(v[4], 9); + ref = {8, 8, sub, sub, 9}; + ASSERT_EQUAL(v, ref); ASSERT_EQUAL_QUIET(v.end(), iter); - exemplar = 1; + sub = 1; - uninitialized_fill_n_kernel<<<1, 1>>>(exec, v.begin(), v.size(), exemplar, iter_vec.begin()); + uninitialized_fill_n_kernel<<<1, 1>>>(exec, v.begin(), v.size(), sub, iter_vec.begin()); { cudaError_t const err = cudaDeviceSynchronize(); ASSERT_EQUAL(cudaSuccess, err); @@ -206,11 +164,9 @@ void TestUninitializedFillNDevice(ExecutionPolicy exec) iter = iter_vec[0]; - ASSERT_EQUAL(v[0], exemplar); - ASSERT_EQUAL(v[1], exemplar); - ASSERT_EQUAL(v[2], exemplar); - ASSERT_EQUAL(v[3], exemplar); - ASSERT_EQUAL(v[4], exemplar); + ref = Vector(5, sub); + + ASSERT_EQUAL(v, ref); ASSERT_EQUAL_QUIET(v.end(), iter); } @@ -232,26 +188,17 @@ void TestUninitializedFillNCudaStreams() using Vector = thrust::device_vector; using T = Vector::value_type; - Vector v(5); - v[0] = 0; - v[1] = 1; - v[2] = 2; - v[3] = 3; - v[4] = 4; - - T exemplar(7); + Vector v{0, 1, 2, 3, 4}; + T sub(7); cudaStream_t s; cudaStreamCreate(&s); - thrust::uninitialized_fill_n(thrust::cuda::par.on(s), v.begin(), v.size(), exemplar); + thrust::uninitialized_fill_n(thrust::cuda::par.on(s), v.begin(), v.size(), sub); cudaStreamSynchronize(s); - ASSERT_EQUAL(v[0], exemplar); - ASSERT_EQUAL(v[1], exemplar); - ASSERT_EQUAL(v[2], exemplar); - ASSERT_EQUAL(v[3], exemplar); - ASSERT_EQUAL(v[4], exemplar); + Vector ref(5, sub); + ASSERT_EQUAL(v, ref); cudaStreamDestroy(s); } diff --git a/thrust/testing/cuda/unique.cu b/thrust/testing/cuda/unique.cu index 90581ebe0e5..4225fe9a3ba 100644 --- a/thrust/testing/cuda/unique.cu +++ b/thrust/testing/cuda/unique.cu @@ -32,17 +32,7 @@ void TestUniqueDevice(ExecutionPolicy exec) using Vector = thrust::device_vector; using T = Vector::value_type; - Vector data(10); - data[0] = 11; - data[1] = 11; - data[2] = 12; - data[3] = 20; - data[4] = 29; - data[5] = 21; - data[6] = 21; - data[7] = 31; - data[8] = 31; - data[9] = 37; + Vector data{11, 11, 12, 20, 29, 21, 21, 31, 31, 37}; thrust::device_vector new_last_vec(1); Vector::iterator new_last; @@ -56,13 +46,9 @@ void TestUniqueDevice(ExecutionPolicy exec) new_last = new_last_vec[0]; ASSERT_EQUAL(new_last - data.begin(), 7); - ASSERT_EQUAL(data[0], 11); - ASSERT_EQUAL(data[1], 12); - ASSERT_EQUAL(data[2], 20); - ASSERT_EQUAL(data[3], 29); - ASSERT_EQUAL(data[4], 21); - ASSERT_EQUAL(data[5], 31); - ASSERT_EQUAL(data[6], 37); + data.erase(new_last, data.end()); + Vector ref{11, 12, 20, 29, 21, 31, 37}; // should we consider calculating ref from std::algorithm if exists? + ASSERT_EQUAL(data, ref); unique_kernel<<<1, 1>>>(exec, data.begin(), new_last, is_equal_div_10_unique(), new_last_vec.begin()); { @@ -73,9 +59,9 @@ void TestUniqueDevice(ExecutionPolicy exec) new_last = new_last_vec[0]; ASSERT_EQUAL(new_last - data.begin(), 3); - ASSERT_EQUAL(data[0], 11); - ASSERT_EQUAL(data[1], 20); - ASSERT_EQUAL(data[2], 31); + data.erase(new_last, data.end()); + ref = {11, 20, 31}; + ASSERT_EQUAL(data, ref); } void TestUniqueDeviceSeq() @@ -103,17 +89,7 @@ void TestUniqueCudaStreams(ExecutionPolicy policy) using Vector = thrust::device_vector; using T = Vector::value_type; - Vector data(10); - data[0] = 11; - data[1] = 11; - data[2] = 12; - data[3] = 20; - data[4] = 29; - data[5] = 21; - data[6] = 21; - data[7] = 31; - data[8] = 31; - data[9] = 37; + Vector data{11, 11, 12, 20, 29, 21, 21, 31, 31, 37}; thrust::device_vector new_last_vec(1); Vector::iterator new_last; @@ -127,21 +103,17 @@ void TestUniqueCudaStreams(ExecutionPolicy policy) cudaStreamSynchronize(s); ASSERT_EQUAL(new_last - data.begin(), 7); - ASSERT_EQUAL(data[0], 11); - ASSERT_EQUAL(data[1], 12); - ASSERT_EQUAL(data[2], 20); - ASSERT_EQUAL(data[3], 29); - ASSERT_EQUAL(data[4], 21); - ASSERT_EQUAL(data[5], 31); - ASSERT_EQUAL(data[6], 37); + data.erase(new_last, data.end()); + Vector ref{11, 12, 20, 29, 21, 31, 37}; + ASSERT_EQUAL(data, ref); new_last = thrust::unique(streampolicy, data.begin(), new_last, is_equal_div_10_unique()); cudaStreamSynchronize(s); ASSERT_EQUAL(new_last - data.begin(), 3); - ASSERT_EQUAL(data[0], 11); - ASSERT_EQUAL(data[1], 20); - ASSERT_EQUAL(data[2], 31); + data.erase(new_last, data.end()); + ref = {11, 20, 31}; + ASSERT_EQUAL(data, ref); cudaStreamDestroy(s); } @@ -179,17 +151,7 @@ void TestUniqueCopyDevice(ExecutionPolicy exec) using Vector = thrust::device_vector; using T = Vector::value_type; - Vector data(10); - data[0] = 11; - data[1] = 11; - data[2] = 12; - data[3] = 20; - data[4] = 29; - data[5] = 21; - data[6] = 21; - data[7] = 31; - data[8] = 31; - data[9] = 37; + Vector data{11, 11, 12, 20, 29, 21, 21, 31, 31, 37}; Vector output(10, -1); @@ -205,13 +167,9 @@ void TestUniqueCopyDevice(ExecutionPolicy exec) new_last = new_last_vec[0]; ASSERT_EQUAL(new_last - output.begin(), 7); - ASSERT_EQUAL(output[0], 11); - ASSERT_EQUAL(output[1], 12); - ASSERT_EQUAL(output[2], 20); - ASSERT_EQUAL(output[3], 29); - ASSERT_EQUAL(output[4], 21); - ASSERT_EQUAL(output[5], 31); - ASSERT_EQUAL(output[6], 37); + output.erase(new_last, output.end()); + Vector ref{11, 12, 20, 29, 21, 31, 37}; + ASSERT_EQUAL(output, ref); unique_copy_kernel<<<1, 1>>>( exec, output.begin(), new_last, data.begin(), is_equal_div_10_unique(), new_last_vec.begin()); @@ -223,9 +181,9 @@ void TestUniqueCopyDevice(ExecutionPolicy exec) new_last = new_last_vec[0]; ASSERT_EQUAL(new_last - data.begin(), 3); - ASSERT_EQUAL(data[0], 11); - ASSERT_EQUAL(data[1], 20); - ASSERT_EQUAL(data[2], 31); + data.erase(new_last, data.end()); + ref = {11, 20, 31}; + ASSERT_EQUAL(data, ref); } void TestUniqueCopyDeviceSeq() @@ -253,17 +211,7 @@ void TestUniqueCopyCudaStreams(ExecutionPolicy policy) using Vector = thrust::device_vector; using T = Vector::value_type; - Vector data(10); - data[0] = 11; - data[1] = 11; - data[2] = 12; - data[3] = 20; - data[4] = 29; - data[5] = 21; - data[6] = 21; - data[7] = 31; - data[8] = 31; - data[9] = 37; + Vector data{11, 11, 12, 20, 29, 21, 21, 31, 31, 37}; Vector output(10, -1); @@ -279,21 +227,17 @@ void TestUniqueCopyCudaStreams(ExecutionPolicy policy) cudaStreamSynchronize(s); ASSERT_EQUAL(new_last - output.begin(), 7); - ASSERT_EQUAL(output[0], 11); - ASSERT_EQUAL(output[1], 12); - ASSERT_EQUAL(output[2], 20); - ASSERT_EQUAL(output[3], 29); - ASSERT_EQUAL(output[4], 21); - ASSERT_EQUAL(output[5], 31); - ASSERT_EQUAL(output[6], 37); + output.erase(new_last, output.end()); + Vector ref{11, 12, 20, 29, 21, 31, 37}; + ASSERT_EQUAL(output, ref); new_last = thrust::unique_copy(streampolicy, output.begin(), new_last, data.begin(), is_equal_div_10_unique()); cudaStreamSynchronize(s); ASSERT_EQUAL(new_last - data.begin(), 3); - ASSERT_EQUAL(data[0], 11); - ASSERT_EQUAL(data[1], 20); - ASSERT_EQUAL(data[2], 31); + data.erase(new_last, data.end()); + ref = {11, 20, 31}; + ASSERT_EQUAL(data, ref); cudaStreamDestroy(s); } @@ -330,17 +274,7 @@ void TestUniqueCountDevice(ExecutionPolicy exec) using Vector = thrust::device_vector; using T = Vector::value_type; - Vector data(10); - data[0] = 11; - data[1] = 11; - data[2] = 12; - data[3] = 20; - data[4] = 29; - data[5] = 21; - data[6] = 21; - data[7] = 31; - data[8] = 31; - data[9] = 37; + Vector data{11, 11, 12, 20, 29, 21, 21, 31, 31, 37}; Vector output(1, -1); @@ -386,17 +320,7 @@ void TestUniqueCountCudaStreams(ExecutionPolicy policy) using Vector = thrust::device_vector; using T = Vector::value_type; - Vector data(10); - data[0] = 11; - data[1] = 11; - data[2] = 12; - data[3] = 20; - data[4] = 29; - data[5] = 21; - data[6] = 21; - data[7] = 31; - data[8] = 31; - data[9] = 37; + Vector data{11, 11, 12, 20, 29, 21, 21, 31, 31, 37}; cudaStream_t s; cudaStreamCreate(&s); diff --git a/thrust/testing/cuda/unique_by_key.cu b/thrust/testing/cuda/unique_by_key.cu index 012a3745804..f6bb8067927 100644 --- a/thrust/testing/cuda/unique_by_key.cu +++ b/thrust/testing/cuda/unique_by_key.cu @@ -17,30 +17,14 @@ template void initialize_keys(Vector& keys) { keys.resize(9); - keys[0] = 11; - keys[1] = 11; - keys[2] = 21; - keys[3] = 20; - keys[4] = 21; - keys[5] = 21; - keys[6] = 21; - keys[7] = 37; - keys[8] = 37; + keys = {11, 11, 21, 20, 21, 21, 21, 37, 37}; } template void initialize_values(Vector& values) { values.resize(9); - values[0] = 0; - values[1] = 1; - values[2] = 2; - values[3] = 3; - values[4] = 4; - values[5] = 5; - values[6] = 6; - values[7] = 7; - values[8] = 8; + values = {0, 1, 2, 3, 4, 5, 6, 7, 8}; } #ifdef THRUST_TEST_DEVICE_SIDE @@ -89,18 +73,14 @@ void TestUniqueByKeyDevice(ExecutionPolicy exec) new_last = new_last_vec[0]; ASSERT_EQUAL(new_last.first - keys.begin(), 5); + keys.resize(new_last.first - keys.begin()); + Vector keys_ref{11, 21, 20, 21, 37}; + ASSERT_EQUAL(keys, keys_ref); + ASSERT_EQUAL(new_last.second - values.begin(), 5); - ASSERT_EQUAL(keys[0], 11); - ASSERT_EQUAL(keys[1], 21); - ASSERT_EQUAL(keys[2], 20); - ASSERT_EQUAL(keys[3], 21); - ASSERT_EQUAL(keys[4], 37); - - ASSERT_EQUAL(values[0], 0); - ASSERT_EQUAL(values[1], 2); - ASSERT_EQUAL(values[2], 3); - ASSERT_EQUAL(values[3], 4); - ASSERT_EQUAL(values[4], 7); + values.resize(new_last.second - values.begin()); + Vector values_ref{0, 2, 3, 4, 7}; + ASSERT_EQUAL(values, values_ref); // test BinaryPredicate initialize_keys(keys); @@ -116,14 +96,14 @@ void TestUniqueByKeyDevice(ExecutionPolicy exec) new_last = new_last_vec[0]; ASSERT_EQUAL(new_last.first - keys.begin(), 3); - ASSERT_EQUAL(new_last.second - values.begin(), 3); - ASSERT_EQUAL(keys[0], 11); - ASSERT_EQUAL(keys[1], 21); - ASSERT_EQUAL(keys[2], 37); + keys.resize(new_last.first - keys.begin()); + keys_ref = {11, 21, 37}; + ASSERT_EQUAL(keys, keys_ref); - ASSERT_EQUAL(values[0], 0); - ASSERT_EQUAL(values[1], 2); - ASSERT_EQUAL(values[2], 7); + ASSERT_EQUAL(new_last.second - values.begin(), 3); + values.resize(new_last.second - values.begin()); + values_ref = {0, 2, 7}; + ASSERT_EQUAL(values, values_ref); } void TestUniqueByKeyDeviceSeq() @@ -170,18 +150,14 @@ void TestUniqueByKeyCudaStreams(ExecutionPolicy policy) cudaStreamSynchronize(s); ASSERT_EQUAL(new_last.first - keys.begin(), 5); + keys.resize(new_last.first - keys.begin()); + Vector keys_ref{11, 21, 20, 21, 37}; + ASSERT_EQUAL(keys, keys_ref); + ASSERT_EQUAL(new_last.second - values.begin(), 5); - ASSERT_EQUAL(keys[0], 11); - ASSERT_EQUAL(keys[1], 21); - ASSERT_EQUAL(keys[2], 20); - ASSERT_EQUAL(keys[3], 21); - ASSERT_EQUAL(keys[4], 37); - - ASSERT_EQUAL(values[0], 0); - ASSERT_EQUAL(values[1], 2); - ASSERT_EQUAL(values[2], 3); - ASSERT_EQUAL(values[3], 4); - ASSERT_EQUAL(values[4], 7); + values.resize(new_last.second - values.begin()); + Vector values_ref{0, 2, 3, 4, 7}; + ASSERT_EQUAL(values, values_ref); // test BinaryPredicate initialize_keys(keys); @@ -190,14 +166,14 @@ void TestUniqueByKeyCudaStreams(ExecutionPolicy policy) new_last = thrust::unique_by_key(streampolicy, keys.begin(), keys.end(), values.begin(), is_equal_div_10_unique()); ASSERT_EQUAL(new_last.first - keys.begin(), 3); - ASSERT_EQUAL(new_last.second - values.begin(), 3); - ASSERT_EQUAL(keys[0], 11); - ASSERT_EQUAL(keys[1], 21); - ASSERT_EQUAL(keys[2], 37); + keys.resize(new_last.first - keys.begin()); + keys_ref = {11, 21, 37}; + ASSERT_EQUAL(keys, keys_ref); - ASSERT_EQUAL(values[0], 0); - ASSERT_EQUAL(values[1], 2); - ASSERT_EQUAL(values[2], 7); + ASSERT_EQUAL(new_last.second - values.begin(), 3); + values.resize(new_last.second - values.begin()); + values_ref = {0, 2, 7}; + ASSERT_EQUAL(values, values_ref); cudaStreamDestroy(s); } @@ -283,18 +259,14 @@ void TestUniqueCopyByKeyDevice(ExecutionPolicy exec) new_last = new_last_vec[0]; ASSERT_EQUAL(new_last.first - output_keys.begin(), 5); + keys.resize(new_last.first - keys.begin()); + Vector keys_ref{11, 21, 20, 21, 37}; + ASSERT_EQUAL(keys, keys_ref); + ASSERT_EQUAL(new_last.second - output_values.begin(), 5); - ASSERT_EQUAL(output_keys[0], 11); - ASSERT_EQUAL(output_keys[1], 21); - ASSERT_EQUAL(output_keys[2], 20); - ASSERT_EQUAL(output_keys[3], 21); - ASSERT_EQUAL(output_keys[4], 37); - - ASSERT_EQUAL(output_values[0], 0); - ASSERT_EQUAL(output_values[1], 2); - ASSERT_EQUAL(output_values[2], 3); - ASSERT_EQUAL(output_values[3], 4); - ASSERT_EQUAL(output_values[4], 7); + values.resize(new_last.second - output_values.begin()); + Vector values_ref{0, 2, 3, 4, 7}; + ASSERT_EQUAL(values, values_ref); // test BinaryPredicate initialize_keys(keys); @@ -317,14 +289,15 @@ void TestUniqueCopyByKeyDevice(ExecutionPolicy exec) new_last = new_last_vec[0]; ASSERT_EQUAL(new_last.first - output_keys.begin(), 3); - ASSERT_EQUAL(new_last.second - output_values.begin(), 3); - ASSERT_EQUAL(output_keys[0], 11); - ASSERT_EQUAL(output_keys[1], 21); - ASSERT_EQUAL(output_keys[2], 37); - ASSERT_EQUAL(output_values[0], 0); - ASSERT_EQUAL(output_values[1], 2); - ASSERT_EQUAL(output_values[2], 7); + keys.resize(new_last.first - keys.begin()); + keys_ref = {11, 21, 37}; + ASSERT_EQUAL(keys, keys_ref); + + ASSERT_EQUAL(new_last.second - output_values.begin(), 3); + values.resize(new_last.second - output_values.begin()); + values_ref = {0, 2, 7}; + ASSERT_EQUAL(values, values_ref); } void TestUniqueCopyByKeyDeviceSeq() @@ -375,18 +348,14 @@ void TestUniqueCopyByKeyCudaStreams(ExecutionPolicy policy) cudaStreamSynchronize(s); ASSERT_EQUAL(new_last.first - output_keys.begin(), 5); + keys.resize(new_last.first - keys.begin()); + Vector keys_ref{11, 21, 20, 21, 37}; + ASSERT_EQUAL(keys, keys_ref); + ASSERT_EQUAL(new_last.second - output_values.begin(), 5); - ASSERT_EQUAL(output_keys[0], 11); - ASSERT_EQUAL(output_keys[1], 21); - ASSERT_EQUAL(output_keys[2], 20); - ASSERT_EQUAL(output_keys[3], 21); - ASSERT_EQUAL(output_keys[4], 37); - - ASSERT_EQUAL(output_values[0], 0); - ASSERT_EQUAL(output_values[1], 2); - ASSERT_EQUAL(output_values[2], 3); - ASSERT_EQUAL(output_values[3], 4); - ASSERT_EQUAL(output_values[4], 7); + values.resize(new_last.second - output_values.begin()); + Vector values_ref{0, 2, 3, 4, 7}; + ASSERT_EQUAL(values, values_ref); // test BinaryPredicate initialize_keys(keys); @@ -403,14 +372,14 @@ void TestUniqueCopyByKeyCudaStreams(ExecutionPolicy policy) cudaStreamSynchronize(s); ASSERT_EQUAL(new_last.first - output_keys.begin(), 3); - ASSERT_EQUAL(new_last.second - output_values.begin(), 3); - ASSERT_EQUAL(output_keys[0], 11); - ASSERT_EQUAL(output_keys[1], 21); - ASSERT_EQUAL(output_keys[2], 37); + keys.resize(new_last.first - keys.begin()); + keys_ref = {11, 21, 37}; + ASSERT_EQUAL(keys, keys_ref); - ASSERT_EQUAL(output_values[0], 0); - ASSERT_EQUAL(output_values[1], 2); - ASSERT_EQUAL(output_values[2], 7); + ASSERT_EQUAL(new_last.second - output_values.begin(), 3); + values.resize(new_last.second - output_values.begin()); + values_ref = {0, 2, 7}; + ASSERT_EQUAL(values, values_ref); cudaStreamDestroy(s); } diff --git a/thrust/testing/set_union_by_key.cu b/thrust/testing/set_union_by_key.cu index ee7effd6a9b..85ac2dcbff5 100644 --- a/thrust/testing/set_union_by_key.cu +++ b/thrust/testing/set_union_by_key.cu @@ -82,21 +82,10 @@ void TestSetUnionByKeySimple() { using Iterator = typename Vector::iterator; - // clang-format off - Vector a_key(3), b_key(4); - Vector a_val(3), b_val(4); - - a_key[0] = 0; a_key[1] = 2; a_key[2] = 4; - a_val[0] = 0; a_val[1] = 0; a_val[2] = 0; - - b_key[0] = 0; b_key[1] = 3; b_key[2] = 3; b_key[3] = 4; - b_val[0] = 1; b_val[1] = 1; b_val[2] = 1; b_val[3] = 1; - - Vector ref_key(5), ref_val(5); - ref_key[0] = 0; ref_key[1] = 2; ref_key[2] = 3; ref_key[3] = 3; ref_key[4] = 4; - ref_val[0] = 0; ref_val[1] = 0; ref_val[2] = 1; ref_val[3] = 1; ref_val[4] = 0; - // clang-format on + Vector a_key{0, 2, 4}, b_key{0, 3, 3, 4}; + Vector a_val(3, 0), b_val(4, 1); + Vector ref_key{0, 2, 3, 3, 4}, ref_val{0, 0, 1, 1, 0}; Vector result_key(5), result_val(5); thrust::pair end = thrust::set_union_by_key(