@@ -38,7 +38,8 @@ std::vector<size_t> get_from_device(sycl::global_ptr<size_t> p, size_t size,
38
38
}
39
39
40
40
namespace OmniSci {
41
- template <typename K, typename V, typename H, class ConstructorKernel > class HashTable {
41
+ template <typename K, typename V, typename H, class ConstructorKernel >
42
+ class HashTable {
42
43
public:
43
44
HashTable (const std::vector<K> &keys_vec, K empty_key, H hasher,
44
45
size_t ht_size, size_t distinct_size, sycl::queue &q)
@@ -61,22 +62,22 @@ template <typename K, typename V, typename H, class ConstructorKernel> class Has
61
62
auto pos = position_buffer.get_access (cgh);
62
63
auto id = id_buffer.get_access (cgh);
63
64
64
- cgh.parallel_for <ConstructorKernel>(std::max (ht_size, keys_vec.size ()), [=](auto i) {
65
- if (i < loc_f.ht_size ) {
66
- ht[i] = loc_f.empty_key ;
67
- cnt[i] = 0 ;
68
- pos[i] = 0 ;
69
- }
70
-
71
- if (i < loc_f.keys_size ) {
72
- id[i] = 0 ;
73
- }
74
- });
65
+ cgh.parallel_for <ConstructorKernel>(std::max (ht_size, keys_vec.size ()),
66
+ [=](auto i) {
67
+ if (i < loc_f.ht_size ) {
68
+ ht[i] = loc_f.empty_key ;
69
+ cnt[i] = 0 ;
70
+ pos[i] = 0 ;
71
+ }
72
+
73
+ if (i < loc_f.keys_size ) {
74
+ id[i] = 0 ;
75
+ }
76
+ });
75
77
}).wait ();
76
78
}
77
79
78
- template <class Kernel >
79
- void build_table () {
80
+ template <class Kernel > void build_table () {
80
81
q.submit ([&](sycl::handler &cgh) {
81
82
hash_table_pimpl loc_f = *f;
82
83
auto ht = hash_table.get_access (cgh);
@@ -219,8 +220,7 @@ template <typename K, typename V, typename H, class ConstructorKernel> class Has
219
220
size_t get_buffer_size () { return f->ht_size * 3 + f->keys_size ; }
220
221
221
222
private:
222
- template <class Kernel >
223
- void build_count_buffer () {
223
+ template <class Kernel > void build_count_buffer () {
224
224
q.submit ([&](sycl::handler &cgh) {
225
225
hash_table_pimpl loc_f = *f;
226
226
auto ht = hash_table.get_access (cgh);
@@ -247,8 +247,7 @@ template <typename K, typename V, typename H, class ConstructorKernel> class Has
247
247
}).wait ();
248
248
}
249
249
250
- template <class Kernel >
251
- void build_pos_buffer () {
250
+ template <class Kernel > void build_pos_buffer () {
252
251
auto policy = oneapi::dpl::execution::make_device_policy<Kernel>(q);
253
252
oneapi::dpl::exclusive_scan (policy, oneapi::dpl::begin (count_buffer),
254
253
oneapi::dpl::end (count_buffer),
0 commit comments