@@ -82,10 +82,14 @@ seed_finding::output_type seed_finding::operator()(
82
82
vecmem::data::vector_view<device::prefix_sum_element_t>
83
83
sp_grid_prefix_sum_view = sp_grid_prefix_sum_buff;
84
84
85
+ const auto num_spacepoints = m_copy.get_size(sp_grid_prefix_sum_view);
86
+ if (num_spacepoints == 0) {
87
+ return {0, m_mr.main};
88
+ }
89
+
85
90
// Set up the doublet counter buffer.
86
91
device::doublet_counter_collection_types::buffer doublet_counter_buffer = {
87
- m_copy.get_size(sp_grid_prefix_sum_view), m_mr.main,
88
- vecmem::data::buffer_type::resizable};
92
+ num_spacepoints, m_mr.main, vecmem::data::buffer_type::resizable};
89
93
m_copy.setup(doublet_counter_buffer)->wait();
90
94
91
95
// Counter for the total number of doublets and triplets
@@ -102,7 +106,7 @@ seed_finding::output_type seed_finding::operator()(
102
106
// Calculate the range to run the doublet counting for.
103
107
static constexpr unsigned int doubletCountLocalSize = 32 * 2;
104
108
auto doubletCountRange = traccc::sycl::calculate1DimNdRange(
105
- m_copy.get_size(sp_grid_prefix_sum_view) , doubletCountLocalSize);
109
+ num_spacepoints , doubletCountLocalSize);
106
110
107
111
// Count the number of doublets that we need to produce.
108
112
device::doublet_counter_collection_types::view doublet_counter_view =
@@ -135,6 +139,11 @@ seed_finding::output_type seed_finding::operator()(
135
139
sizeof(device::seeding_global_counter))
136
140
.wait_and_throw();
137
141
142
+ if (globalCounter_host->m_nMidBot == 0 ||
143
+ globalCounter_host->m_nMidTop == 0) {
144
+ return {0, m_mr.main};
145
+ }
146
+
138
147
// Set up the doublet buffers.
139
148
device::device_doublet_collection_types::buffer doublet_buffer_mb = {
140
149
globalCounter_host->m_nMidBot, m_mr.main};
@@ -232,6 +241,10 @@ seed_finding::output_type seed_finding::operator()(
232
241
sizeof(device::seeding_global_counter))
233
242
.wait_and_throw();
234
243
244
+ if (globalCounter_host->m_nTriplets == 0) {
245
+ return {0, m_mr.main};
246
+ }
247
+
235
248
// Set up the triplet buffer and its view
236
249
device::device_triplet_collection_types::buffer triplet_buffer = {
237
250
globalCounter_host->m_nTriplets, m_mr.main};
0 commit comments