This repository was archived by the owner on Mar 21, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +39
-34
lines changed
thrust/system/cuda/detail Expand file tree Collapse file tree 1 file changed +39
-34
lines changed Original file line number Diff line number Diff line change 49
49
#include < thrust/detail/alignment.h>
50
50
#include < thrust/type_traits/is_contiguous_iterator.h>
51
51
52
+
52
53
THRUST_NAMESPACE_BEGIN
53
54
namespace cuda_cub {
54
55
@@ -72,59 +73,63 @@ namespace __merge_sort {
72
73
{
73
74
(void )items;
74
75
76
+ cudaError_t status = cudaSuccess;
77
+
75
78
if (keys_count == 0 )
76
79
{
77
- return cudaSuccess ;
80
+ return status ;
78
81
}
79
82
80
- if (STABLE::value)
83
+ THRUST_IF_CONSTEXPR (STABLE::value)
81
84
{
82
- if (SORT_ITEMS::value)
85
+ THRUST_IF_CONSTEXPR (SORT_ITEMS::value)
83
86
{
84
- return cub::DeviceMergeSort::StableSortPairs (d_temp_storage,
85
- temp_storage_bytes,
86
- keys,
87
- items,
88
- keys_count,
89
- compare_op,
90
- stream,
91
- debug_sync);
87
+ status = cub::DeviceMergeSort::StableSortPairs (d_temp_storage,
88
+ temp_storage_bytes,
89
+ keys,
90
+ items,
91
+ keys_count,
92
+ compare_op,
93
+ stream,
94
+ debug_sync);
92
95
}
93
96
else
94
97
{
95
- return cub::DeviceMergeSort::StableSortKeys (d_temp_storage,
96
- temp_storage_bytes,
97
- keys,
98
- keys_count,
99
- compare_op,
100
- stream,
101
- debug_sync);
98
+ status = cub::DeviceMergeSort::StableSortKeys (d_temp_storage,
99
+ temp_storage_bytes,
100
+ keys,
101
+ keys_count,
102
+ compare_op,
103
+ stream,
104
+ debug_sync);
102
105
}
103
106
}
104
107
else
105
108
{
106
- if (SORT_ITEMS::value)
109
+ THRUST_IF_CONSTEXPR (SORT_ITEMS::value)
107
110
{
108
- return cub::DeviceMergeSort::SortPairs (d_temp_storage,
109
- temp_storage_bytes,
110
- keys,
111
- items,
112
- keys_count,
113
- compare_op,
114
- stream,
115
- debug_sync);
111
+ status = cub::DeviceMergeSort::SortPairs (d_temp_storage,
112
+ temp_storage_bytes,
113
+ keys,
114
+ items,
115
+ keys_count,
116
+ compare_op,
117
+ stream,
118
+ debug_sync);
116
119
}
117
120
else
118
121
{
119
- return cub::DeviceMergeSort::SortKeys (d_temp_storage,
120
- temp_storage_bytes,
121
- keys,
122
- keys_count,
123
- compare_op,
124
- stream,
125
- debug_sync);
122
+ status = cub::DeviceMergeSort::SortKeys (d_temp_storage,
123
+ temp_storage_bytes,
124
+ keys,
125
+ keys_count,
126
+ compare_op,
127
+ stream,
128
+ debug_sync);
126
129
}
127
130
}
131
+
132
+ return status;
128
133
}
129
134
130
135
template <typename SORT_ITEMS,
You can’t perform that action at this time.
0 commit comments