@@ -171,17 +171,16 @@ std::vector<command_graph_generator::assigned_chunk> command_graph_generator::sp
171171 std::vector<assigned_chunk> assigned_chunks;
172172 for (size_t i = 0 ; i < chunks.size (); ++i) {
173173 const node_id nid = (i / chunks_per_node) % m_num_nodes;
174- assigned_chunks.push_back ({nid, chunk< 3 >( chunks[i]. get_min (), chunks[i]. get_range (), tsk. get_global_size ()) });
174+ assigned_chunks.push_back ({nid, chunks[i]});
175175 }
176176 return assigned_chunks;
177177}
178178
179- command_graph_generator::buffer_requirements_list command_graph_generator::get_buffer_requirements_for_mapped_access (
180- const task& tsk, const subrange<3 >& sr) const {
179+ command_graph_generator::buffer_requirements_list command_graph_generator::get_buffer_requirements_for_mapped_access (const task& tsk, const box<3 >& box) const {
181180 buffer_requirements_list result;
182181 const auto & access_map = tsk.get_buffer_access_map ();
183182 for (const buffer_id bid : access_map.get_accessed_buffers ()) {
184- result.push_back (buffer_requirements{bid, access_map.compute_consumed_region (bid, box< 3 >(sr)) , access_map.compute_produced_region (bid, box< 3 >(sr) )});
183+ result.push_back (buffer_requirements{bid, access_map.compute_consumed_region (bid, box) , access_map.compute_produced_region (bid, box)});
185184 }
186185 return result;
187186}
@@ -283,7 +282,7 @@ void command_graph_generator::resolve_pending_reductions(
283282 // as oversubscription is handled by the instruction graph).
284283 // NOTE: The participating_nodes.count() check below relies on this being true
285284 assert (chunks_with_requirements.local_chunks .size () <= 1 );
286- for (const auto & [a_chunk , requirements] : chunks_with_requirements.local_chunks ) {
285+ for (const auto & [_ , requirements] : chunks_with_requirements.local_chunks ) {
287286 if (std::none_of (requirements.begin (), requirements.end (), [&](const buffer_requirements& br) { return br.bid == bid && !br.consumed .empty (); })) {
288287 // This chunk doesn't read from the buffer
289288 continue ;
@@ -390,7 +389,7 @@ void command_graph_generator::generate_pushes(batch& current_batch, const task&
390389
391390// TODO: We currently generate an await push command for each local chunk, whereas we only generate a single push command for all remote chunks
392391void command_graph_generator::generate_await_pushes (batch& current_batch, const task& tsk, const assigned_chunks_with_requirements& chunks_with_requirements) {
393- for (auto & [a_chunk , requirements] : chunks_with_requirements.local_chunks ) {
392+ for (auto & [_ , requirements] : chunks_with_requirements.local_chunks ) {
394393 for (auto & [bid, consumed, _] : requirements) {
395394 if (consumed.empty ()) continue ;
396395 auto & buffer = m_buffers.at (bid);
@@ -462,7 +461,7 @@ void command_graph_generator::generate_distributed_commands(batch& current_batch
462461 if (m_policy.overlapping_write_error != error_policy::ignore) {
463462 box_vector<3 > local_chunks;
464463 for (const auto & [a_chunk, _] : chunks_with_requirements.local_chunks ) {
465- local_chunks.push_back (box< 3 >{ a_chunk.chnk } );
464+ local_chunks.push_back (a_chunk.chnk );
466465 }
467466 report_overlapping_writes (tsk, local_chunks);
468467 }
@@ -488,7 +487,7 @@ void command_graph_generator::generate_distributed_commands(batch& current_batch
488487 // we have to include it in exactly one of the per-node intermediate reductions.
489488 const bool is_reduction_initializer = std::any_of (tsk.get_reductions ().begin (), tsk.get_reductions ().end (),
490489 [&](const auto & reduction) { return m_local_nid == reduction_initializer_nid && reduction.init_from_buffer ; });
491- cmd = create_command<execution_command>(current_batch, &tsk, subrange{ a_chunk.chnk } , is_reduction_initializer,
490+ cmd = create_command<execution_command>(current_batch, &tsk, a_chunk.chnk . get_subrange () , is_reduction_initializer,
492491 [&](const auto & record_debug_info) { record_debug_info (tsk, [this ](const buffer_id bid) { return m_buffers.at (bid).debug_name ; }); });
493492 }
494493
@@ -539,8 +538,7 @@ void command_graph_generator::generate_distributed_commands(batch& current_batch
539538 if (const auto uninitialized_reads = region_difference (consumed, buffer.initialized_region ); !uninitialized_reads.empty ()) {
540539 utils::report_error (m_policy.uninitialized_read_error ,
541540 " Command C{} on N{}, which executes {} of {}, reads {} {}, which has not been written by any node." , cmd->get_id (), m_local_nid,
542- box (subrange (a_chunk.chnk .offset , a_chunk.chnk .range )), print_task_debug_label (tsk), print_buffer_debug_label (bid),
543- uninitialized_reads);
541+ a_chunk.chnk , print_task_debug_label (tsk), print_buffer_debug_label (bid), uninitialized_reads);
544542 }
545543 }
546544 }
0 commit comments