1

In the Arbor simulator one can specify whether to record no, local, or all spikes when working with distributed MPI simulations. Are there any reasons to record locally on each MPI and broadcasting results versus recording all spikes on just 1 rank with a rank check?

import arbor, mpi4py.MPI

sim = arbor.simulation(recipe, decomp, context)
if not mpi4py.MPI.COMM_WORLD.Get_rank():
  sim.record(arbor.spike_recording.all)
Robin De Schepper
  • 4,942
  • 4
  • 35
  • 56

1 Answers1

1

There's no advantage to recording only local spikes, if they are then going to be broadcast to all ranks for collation. Due to the design of the Arbor simulator's spike exchange, each node has access to all the spikes regardless.

Recording only local spikes can be useful if your program is set up to deal with node-local data on each node, or for writing the spike data to disk say in parallel to separate files.

halfflat
  • 1,584
  • 8
  • 11