SharedDramReadScenario
Robotics scenarios · Implementation: mlsysim/engine/scenario_definitions/robotics/placement.py.
Construct this scenario with keyword inputs. The fields below show the types and defaults declared by this class.
site’s permission tick placed on the machine’s application SoC, its snapshot read queued behind backlogs on the shared DRAM controller.
Bandwidth is the SoC memory’s peak; the row-conflict time is memory_tech’s t_RP + t_RCD. Addresses interleave across every channel unless one_channel confines the backlog and the read to one, which divides the bandwidth by the channel count (bus width over channel width).
Notes
Equation: result evaluates the configured solver; its contract owns the governing equations.
Assumptions: The selected channel bandwidth and row-switch penalty price fixed competing backlogs.
Excludes: A detailed memory-controller schedule, cache hits, and a measured WCET guarantee.
References
Derivation: The scenario binds declared inputs to SharedDramReadModel. Those implementations document their derivations and sources.
Examples
Execute the registered worked inputs; this is a modeled calculation.
Attributes
| Name | Description |
|---|---|
| bandwidth | Memory bandwidth available to the modeled read, optionally restricted to one channel. |
| bank_switch_time | Row-switch penalty in ns, precharge plus activation time. |
| bank_switches | |
| camera_bytes | |
| channels | Rounded channel count from memory bus width divided by channel width. |
| compute_after_sense | |
| memory | Application SoC memory specification used for the shared-read estimate. |
| memory_tech | |
| one_channel | |
| result | Evaluate the configured inputs with mlsysim.solvers.SharedDramReadModel.solve. |
| sense | |
| site | |
| snapshot_bytes | |
| telemetry_bytes | |
| tile_bytes | |
| transaction_bytes |
site
Type: Any.
Declared default: required.
memory_tech
Type: Any.
Declared default: required.
sense
Type: Quantity.
Declared default: required.
compute_after_sense
Type: Quantity.
Declared default: required.
tile_bytes
Type: int.
Declared default: required.
camera_bytes
Type: int.
Declared default: required.
telemetry_bytes
Type: int.
Declared default: required.
snapshot_bytes
Type: int.
Declared default: required.
transaction_bytes
Type: int.
Declared default: required.
bank_switches
Type: int.
Declared default: required.
one_channel
Type: bool.
Declared default: False.
memory
engine.scenario_types.SharedDramReadScenario.memory
Application SoC memory specification used for the shared-read estimate.
Equation: return self.site.machine.brain_soc.memory
channels
engine.scenario_types.SharedDramReadScenario.channels
Rounded channel count from memory bus width divided by channel width.
Equation: return int(round((self.memory.bus_width / self.memory_tech.channel_width).to(’’).magnitude))
bank_switch_time
engine.scenario_types.SharedDramReadScenario.bank_switch_time
Row-switch penalty in ns, precharge plus activation time.
Equation: return (self.memory_tech.t_rp + self.memory_tech.t_rcd).to(‘ns’)
bandwidth
engine.scenario_types.SharedDramReadScenario.bandwidth
Memory bandwidth available to the modeled read, optionally restricted to one channel.
Equation: bw = self.memory.bandwidth return bw / self.channels if self.one_channel else bw
result
engine.scenario_types.SharedDramReadScenario.result
Evaluate the configured inputs with mlsysim.solvers.SharedDramReadModel.solve.
The returned typed result retains the solver’s documented units, assumptions, and feasibility semantics; this property adds no measurement or safety claim. Equation: result = SharedDramReadModel().solve(...) using the fields shown below.