neurokernel.core.Manager

class neurokernel.core.Manager(required_args=['sel', 'sel_in', 'sel_out', 'sel_gpot', 'sel_spike'], ctrl_tag=1)[source]

Module manager.

Instantiates, connects, starts, and stops modules comprised by an emulation. All modules and connections must be added to a module manager instance before they can be run.

ctrl_tag

int – MPI tag to identify control messages.

modules

dict – Module instances. Keyed by module object ID.

routing_table

routing_table.RoutingTable – Table of data transmission connections between modules.

rank_to_id

bidict.bidict – Mapping between MPI ranks and module object IDs.

__init__(required_args=['sel', 'sel_in', 'sel_out', 'sel_gpot', 'sel_spike'], ctrl_tag=1)[source]

x.__init__(…) initializes x; see help(type(x)) for signature

Methods

__init__([required_args, ctrl_tag]) x.__init__(…) initializes x; see help(type(x)) for signature
add(target, id, *args, **kwargs) Add a module class to the emulation.
connect(id_0, id_1, pat[, int_0, int_1]) Specify connection between two module instances with a Pattern instance.
process_worker_msg(msg) Process the specified deserialized message from a worker.
quit() Tell the workers to quit.
recv([tag]) Receive data from child process.
send(data, dest[, tag]) Send data to child process.
spawn() Spawn MPI processes for and execute each of the managed targets.
start([steps]) Tell the workers to start processing data.
stop() Tell the workers to stop processing data.
validate_args(target) Check whether a class’ constructor has specific arguments.
wait() Wait for execution to complete.

Attributes

average_step_sync_time Average step synchronization time.
average_throughput Average received data throughput per step.
intercomm Intercommunicator to spawned processes.
log_on Logger switch.
total_throughput Total received data throughput.