Skip to content

Commit ebd43eb

Browse files
[pre-commit.ci] auto code formatting
1 parent e01978b commit ebd43eb

File tree

4 files changed

+59
-57
lines changed

4 files changed

+59
-57
lines changed

include/cuco/detail/dynamic_map.inl

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -190,39 +190,40 @@ void dynamic_map<Key, Value, Scope, Allocator>::erase(InputIt first,
190190
CUCO_CUDA_TRY(cudaMemset(num_successes_, 0, sizeof(atomic_ctr_type)));
191191

192192
// zero out submap success counters
193-
if(submaps_.size() > 1) {
193+
if (submaps_.size() > 1) {
194194
static_assert(sizeof(std::size_t) == sizeof(atomic_ctr_type));
195-
for(int i = 0; i < submaps_.size(); ++i) {
195+
for (int i = 0; i < submaps_.size(); ++i) {
196196
CUCO_CUDA_TRY(cudaMemset(submap_num_successes_[i], 0, sizeof(atomic_ctr_type)));
197197
}
198198
}
199-
199+
200200
auto const temp_storage_size = submaps_.size() * sizeof(unsigned long long);
201201

202202
detail::erase<block_size, tile_size, cuco::pair_type<key_type, mapped_type>>
203-
<<<grid_size, block_size, temp_storage_size>>>(
204-
first,
205-
first + num_keys,
206-
submap_mutable_views_.data().get(),
207-
num_successes_,
208-
d_submap_num_successes_.data().get(),
209-
submaps_.size(),
210-
hash,
211-
key_equal);
203+
<<<grid_size, block_size, temp_storage_size>>>(first,
204+
first + num_keys,
205+
submap_mutable_views_.data().get(),
206+
num_successes_,
207+
d_submap_num_successes_.data().get(),
208+
submaps_.size(),
209+
hash,
210+
key_equal);
212211

213212
// update total dynamic map size
214213
std::size_t h_num_successes;
215214
CUCO_CUDA_TRY(
216215
cudaMemcpy(&h_num_successes, num_successes_, sizeof(atomic_ctr_type), cudaMemcpyDeviceToHost));
217216
size_ -= h_num_successes;
218-
219-
if(submaps_.size() == 1) {
217+
218+
if (submaps_.size() == 1) {
220219
submaps_[0]->size_ -= h_num_successes;
221220
} else {
222-
for(int i = 0; i < submaps_.size(); ++i) {
221+
for (int i = 0; i < submaps_.size(); ++i) {
223222
std::size_t h_submap_num_successes;
224-
CUCO_CUDA_TRY(cudaMemcpy(
225-
&h_submap_num_successes, submap_num_successes_[i], sizeof(atomic_ctr_type), cudaMemcpyDeviceToHost));
223+
CUCO_CUDA_TRY(cudaMemcpy(&h_submap_num_successes,
224+
submap_num_successes_[i],
225+
sizeof(atomic_ctr_type),
226+
cudaMemcpyDeviceToHost));
226227
submaps_[i]->size_ -= h_submap_num_successes;
227228
}
228229
}

include/cuco/detail/dynamic_map_kernels.cuh

Lines changed: 28 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -226,14 +226,14 @@ __global__ void erase(InputIt first,
226226

227227
std::size_t thread_num_successes = 0;
228228

229-
auto tid = block_size * blockIdx.x + threadIdx.x;
230-
auto it = first + tid;
229+
auto tid = block_size * blockIdx.x + threadIdx.x;
230+
auto it = first + tid;
231231

232-
if(num_submaps > 1) {
233-
for(int i = threadIdx.x; i < num_submaps; i += block_size)
232+
if (num_submaps > 1) {
233+
for (int i = threadIdx.x; i < num_submaps; i += block_size)
234234
submap_block_num_successes[i] = 0;
235235
__syncthreads();
236-
236+
237237
while (it < last) {
238238
int i;
239239
for (i = 0; i < num_submaps; ++i) {
@@ -247,8 +247,7 @@ __global__ void erase(InputIt first,
247247
}
248248
} else {
249249
while (it < last) {
250-
if(submap_mutable_views[0].erase(*it, hash, key_equal))
251-
thread_num_successes++;
250+
if (submap_mutable_views[0].erase(*it, hash, key_equal)) thread_num_successes++;
252251
it += gridDim.x * blockDim.x;
253252
}
254253
}
@@ -258,11 +257,11 @@ __global__ void erase(InputIt first,
258257
num_successes->fetch_add(block_num_successes, cuda::std::memory_order_relaxed);
259258
}
260259

261-
if(num_submaps > 1) {
262-
for(int i = 0; i < num_submaps; ++i) {
263-
if(threadIdx.x == 0) {
264-
submap_num_successes[i]->fetch_add(
265-
static_cast<std::size_t>(submap_block_num_successes[i]), cuda::std::memory_order_relaxed);
260+
if (num_submaps > 1) {
261+
for (int i = 0; i < num_submaps; ++i) {
262+
if (threadIdx.x == 0) {
263+
submap_num_successes[i]->fetch_add(static_cast<std::size_t>(submap_block_num_successes[i]),
264+
cuda::std::memory_order_relaxed);
266265
}
267266
}
268267
}
@@ -303,13 +302,13 @@ template <uint32_t block_size,
303302
typename Hash,
304303
typename KeyEqual>
305304
__global__ void erase(InputIt first,
306-
InputIt last,
307-
mutableViewT* submap_mutable_views,
308-
atomicT* num_successes,
309-
atomicT** submap_num_successes,
310-
const uint32_t num_submaps,
311-
Hash hash,
312-
KeyEqual key_equal)
305+
InputIt last,
306+
mutableViewT* submap_mutable_views,
307+
atomicT* num_successes,
308+
atomicT** submap_num_successes,
309+
const uint32_t num_submaps,
310+
Hash hash,
311+
KeyEqual key_equal)
313312
{
314313
typedef cub::BlockReduce<std::size_t, block_size> BlockReduce;
315314
__shared__ typename BlockReduce::TempStorage temp_storage;
@@ -321,13 +320,13 @@ __global__ void erase(InputIt first,
321320
auto tid = block_size * blockIdx.x + threadIdx.x;
322321
auto it = first + tid / tile_size;
323322

324-
if(num_submaps > 1) {
325-
for(int i = threadIdx.x; i < num_submaps; i += block_size)
323+
if (num_submaps > 1) {
324+
for (int i = threadIdx.x; i < num_submaps; i += block_size)
326325
submap_block_num_successes[i] = 0;
327326
__syncthreads();
328-
327+
329328
while (it < last) {
330-
auto erased = false;
329+
auto erased = false;
331330
int i;
332331
for (i = 0; i < num_submaps; ++i) {
333332
erased = submap_mutable_views[i].erase(tile, *it, hash, key_equal);
@@ -342,8 +341,7 @@ __global__ void erase(InputIt first,
342341
} else {
343342
while (it < last) {
344343
auto erased = submap_mutable_views[0].erase(tile, *it, hash, key_equal);
345-
if (erased && tile.thread_rank() == 0)
346-
thread_num_successes++;
344+
if (erased && tile.thread_rank() == 0) thread_num_successes++;
347345

348346
it += (gridDim.x * blockDim.x) / tile_size;
349347
}
@@ -354,11 +352,11 @@ __global__ void erase(InputIt first,
354352
num_successes->fetch_add(block_num_successes, cuda::std::memory_order_relaxed);
355353
}
356354

357-
if(num_submaps > 1) {
358-
for(int i = 0; i < num_submaps; ++i) {
359-
if(threadIdx.x == 0) {
360-
submap_num_successes[i]->fetch_add(
361-
static_cast<std::size_t>(submap_block_num_successes[i]), cuda::std::memory_order_relaxed);
355+
if (num_submaps > 1) {
356+
for (int i = 0; i < num_submaps; ++i) {
357+
if (threadIdx.x == 0) {
358+
submap_num_successes[i]->fetch_add(static_cast<std::size_t>(submap_block_num_successes[i]),
359+
cuda::std::memory_order_relaxed);
362360
}
363361
}
364362
}

include/cuco/dynamic_map.cuh

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@
1818

1919
#include <cooperative_groups.h>
2020
#include <cub/cub.cuh>
21+
#include <cuco/detail/dynamic_map_kernels.cuh>
2122
#include <cuco/detail/error.hpp>
2223
#include <cuco/static_map.cuh>
2324
#include <cuda/std/atomic>
24-
#include <cuco/detail/dynamic_map_kernels.cuh>
2525
#include <thrust/device_vector.h>
2626

2727
namespace cuco {
@@ -137,7 +137,7 @@ class dynamic_map {
137137
sentinel::empty_key<Key> empty_key_sentinel,
138138
sentinel::empty_value<Value> empty_value_sentinel,
139139
Allocator const& alloc = Allocator{});
140-
140+
141141
/**
142142
* @brief Construct a dynamically-sized map with erase capability.
143143
*
@@ -202,7 +202,7 @@ class dynamic_map {
202202
typename Hash = cuco::detail::MurmurHash3_32<key_type>,
203203
typename KeyEqual = thrust::equal_to<key_type>>
204204
void insert(InputIt first, InputIt last, Hash hash = Hash{}, KeyEqual key_equal = KeyEqual{});
205-
205+
206206
/**
207207
* @brief Erases keys in the range `[first, last)`.
208208
*
@@ -330,9 +330,11 @@ class dynamic_map {
330330
submap_mutable_views_; ///< vector of mutable device views for each submap
331331
std::size_t min_insert_size_{}; ///< min remaining capacity of submap for insert
332332
atomic_ctr_type* num_successes_; ///< number of successfully inserted keys on insert
333-
std::vector<atomic_ctr_type*> submap_num_successes_; ///< number of succesfully erased keys for each submap
334-
thrust::device_vector<atomic_ctr_type*> d_submap_num_successes_; ///< device-side number of successfully erased keys for each submap
335-
Allocator alloc_{}; ///< Allocator passed to submaps to allocate their device storage
333+
std::vector<atomic_ctr_type*>
334+
submap_num_successes_; ///< number of succesfully erased keys for each submap
335+
thrust::device_vector<atomic_ctr_type*>
336+
d_submap_num_successes_; ///< device-side number of successfully erased keys for each submap
337+
Allocator alloc_{}; ///< Allocator passed to submaps to allocate their device storage
336338
counter_allocator_type counter_allocator_{}; ///< Allocator used to allocate `num_successes_`
337339
};
338340
} // namespace cuco

tests/dynamic_map/erase_test.cu

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,9 +107,9 @@ TEMPLATE_TEST_CASE_SIG("erase key", "", ((typename T), T), (int32_t))
107107
map.insert(pairs_begin2, pairs_begin2 + 4 * num_keys);
108108

109109
// map should resize twice if the erased slots are successfully reused
110-
REQUIRE(map.get_capacity() == 8*num_keys);
110+
REQUIRE(map.get_capacity() == 8 * num_keys);
111111
// check that keys can be successfully deleted from only the first and second submaps
112-
map.erase(d_keys2.begin(), d_keys2.begin() + 2*num_keys);
112+
map.erase(d_keys2.begin(), d_keys2.begin() + 2 * num_keys);
113113
map.contains(d_keys2.begin(), d_keys2.end(), d_keys_exist2.begin());
114114

115115
REQUIRE(cuco::test::none_of(d_keys_exist2.begin(),
@@ -120,8 +120,9 @@ TEMPLATE_TEST_CASE_SIG("erase key", "", ((typename T), T), (int32_t))
120120
d_keys_exist2.end(),
121121
[] __device__(const bool key_found) { return key_found; }));
122122

123-
REQUIRE(map.get_size() == 2*num_keys);
124-
// check that keys can be successfully deleted from all submaps (some will be unsuccessful erases)
123+
REQUIRE(map.get_size() == 2 * num_keys);
124+
// check that keys can be successfully deleted from all submaps (some will be unsuccessful
125+
// erases)
125126
map.erase(d_keys2.begin(), d_keys2.end());
126127

127128
map.contains(d_keys2.begin(), d_keys2.end(), d_keys_exist2.begin());

0 commit comments

Comments
 (0)