Skip to content

Commit

Permalink
move call out of inner loop
Browse files Browse the repository at this point in the history
  • Loading branch information
AdhocMan committed Apr 9, 2024
1 parent 1596219 commit d178b07
Showing 1 changed file with 3 additions and 7 deletions.
10 changes: 3 additions & 7 deletions arbor/communication/communicator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@ void communicator::update_connections(const recipe& rec,
auto target_resolver = resolver(&target_resolution_map);
for (const auto index: util::make_span(num_local_cells_)) {
const auto tgt_gid = gids[index];
const auto iod = dom_dec.index_on_domain(tgt_gid);
auto source_resolver = resolver(&source_resolution_map);
for (const auto cidx: util::make_span(part_connections[index], part_connections[index+1])) {
const auto& conn = gid_connections[cidx];
Expand All @@ -152,20 +153,15 @@ void communicator::update_connections(const recipe& rec,
auto tgt_lid = target_resolver.resolve(tgt_gid, conn.target);
auto offset = offsets[*src_domain]++;
++src_domain;
connections[offset] = {{src_gid, src_lid},
tgt_lid,
conn.weight,
conn.delay,
dom_dec.index_on_domain(tgt_gid)};
connections[offset] = {{src_gid, src_lid}, tgt_lid, conn.weight, conn.delay, iod};
}
for (const auto cidx: util::make_span(part_ext_connections[index], part_ext_connections[index+1])) {
const auto& conn = gid_ext_connections[cidx];
auto src = global_cell_of(conn.source);
auto src_gid = conn.source.rid;
if(is_external(src_gid)) throw arb::source_gid_exceeds_limit(tgt_gid, src_gid);
auto tgt_lid = target_resolver.resolve(tgt_gid, conn.target);
ext_connections[ext] = {
src, tgt_lid, conn.weight, conn.delay, dom_dec.index_on_domain(tgt_gid)};
ext_connections[ext] = {src, tgt_lid, conn.weight, conn.delay, iod};
++ext;
}
}
Expand Down

0 comments on commit d178b07

Please sign in to comment.