lava.magma.runtime
lava.magma.runtime.mgmt_token_enums

- class lava.magma.runtime.mgmt_token_enums.MGMT_COMMAND
Bases:
object
Signifies the Mgmt Command being sent between two actors. These may be between runtime and runtime_service or the runtime_service and process model.
- GET_DATA = array([-3.])
Signifies Read a variable
- PAUSE = array([-2.])
Signifies a PAUSE command from one actor to another
- RUN = array([0.])
Signifies a RUN command for 0 timesteps from one actor to another. Any non negative integer signifies a run command
- SET_DATA = array([-4.])
Signifies Write a variable
- STOP = array([-1.])
Signifies a STOP command from one actor to another
- class lava.magma.runtime.mgmt_token_enums.MGMT_RESPONSE
Bases:
object
Signifies the response to a Mgmt command. This response can be sent by any actor upon receiving a Mgmt command
- DONE = array([0.])
Signfies Ack or Finished with the Command
- ERROR = array([-2.])
Signifies Error raised
- PAUSED = array([-3.])
Signifies Execution State to be Paused
- REQ_PAUSE = array([-4.])
Signifies Request of PAUSE
- REQ_STOP = array([-5.])
Signifies Request of STOP
- SET_COMPLETE = array([-6.])
Signifies Completion of Set Var
- TERMINATED = array([-1.])
Signifies Termination
- lava.magma.runtime.mgmt_token_enums.enum_equal(a, b)
Helper function to compare two np arrays created by enum_to_np.
- Parameters
a (
array
) – 1-D array created by enum_to_npb (
array
) – 1-D array created by enum_to_np
- Return type
bool
- Returns
True if the two arrays are equal
- lava.magma.runtime.mgmt_token_enums.enum_to_np(value, d_type=<class 'numpy.float64'>)
Helper function to convert an int (or EnumInt) or a float to a single value np array so as to pass it via the message passing framework. The dtype of the np array is specified by d_type with the default of np.int32.
- Parameters
value (
Union
[int
,float
]) – value to be converted to a 1-D arrayd_type (
type
) – type of the converted np array
- Return type
array
- Returns
np array with the value
lava.magma.runtime.runtime

- class lava.magma.runtime.runtime.Runtime(exe, message_infrastructure_type, loglevel=30)
Bases:
object
Lava runtime which consumes an executable and run run_condition. Exposes the APIs to start, pause, stop and wait on an execution. Execution could be blocking and non-blocking as specified by the run run_condition.
- __del__()
On destruction, terminate Runtime automatically to free compute resources.
- get_var(var_id, idx=None)
Gets value of a variable with id ‘var_id’.
- Return type
ndarray
- initialize(node_cfg_idx=0)
Initializes the runtime
- join()
Join all ports and processes
- property node_cfg: List[NodeConfig]
Returns the selected NodeCfg.
- Return type
List
[NodeConfig
]
- pause()
Pauses the execution
- set_var(var_id, value, idx=None)
Sets value of a variable with id ‘var_id’.
- start(run_condition)
Given a run condition, starts the runtime
- Parameters
run_condition (
AbstractRunCondition
) – AbstractRunCondition- Returns
None
- stop()
Stops an ongoing or paused run.
- wait()
Waits for existing run to end. This is helpful if the execution was started in non-blocking mode earlier.
- lava.magma.runtime.runtime.target_fn(*args, **kwargs)
Function to build and attach a system process to
- Parameters
args – List Parameters to be passed onto the process
kwargs – Dict Parameters to be passed onto the process
- Returns
None