@@ -119,6 +119,7 @@ track_candidate_container_types::buffer find_tracks(
119
119
measurements.ptr () + n_measurements,
120
120
uniques.begin (), uniques.begin () + n_modules,
121
121
upper_bounds.begin (), measurement_sort_comp ());
122
+ queue.wait_and_throw ();
122
123
123
124
/* ****************************************************************
124
125
* Kernel1: Create barcode sequence
@@ -242,7 +243,7 @@ track_candidate_container_types::buffer find_tracks(
242
243
shared_num_candidates (nFindTracksThreads, h);
243
244
vecmem::sycl::local_accessor<
244
245
std::pair<unsigned int , unsigned int >>
245
- shared_candidates (nFindTracksThreads, h);
246
+ shared_candidates (2 * nFindTracksThreads, h);
246
247
vecmem::sycl::local_accessor<unsigned int >
247
248
shared_candidates_size (1 , h);
248
249
@@ -331,13 +332,10 @@ track_candidate_container_types::buffer find_tracks(
331
332
keys_buffer);
332
333
vecmem::device_vector<unsigned int > param_ids_device (
333
334
param_ids_buffer);
334
- auto zipped_first = oneapi::dpl::make_zip_iterator (
335
- keys_device.begin (), param_ids_device.begin ());
336
- oneapi::dpl::sort (
337
- policy, zipped_first, zipped_first + keys_device.size (),
338
- [](auto lhs, auto rhs) {
339
- return std::get<0 >(lhs) < std::get<0 >(rhs);
340
- });
335
+ oneapi::dpl::sort_by_key (policy, keys_device.begin (),
336
+ keys_device.end (),
337
+ param_ids_device.begin ());
338
+ queue.wait_and_throw ();
341
339
}
342
340
343
341
/* ****************************************************************
@@ -415,6 +413,7 @@ track_candidate_container_types::buffer find_tracks(
415
413
oneapi::dpl::copy (policy, in.begin (),
416
414
in.begin () + n_candidates_per_step[it], out.begin ());
417
415
}
416
+ queue.wait_and_throw ();
418
417
419
418
/* ****************************************************************
420
419
* Kernel6: Build tracks
0 commit comments