unisim.backend.motrix.tensor.MotrixHostBridgeTransferPlan¶
- class unisim.backend.motrix.tensor.MotrixHostBridgeTransferPlan[source]¶
Bases:
HostBridgeTransferPlanOne stable MotrixSim layout for explicit accelerator/CPU boundaries.
MotrixSim remains CPU-authoritative. Control, reset, and packed reads each cross the device boundary at most once. CUDA transfers follow and synchronize the caller’s current Torch stream.
- Parameters:
backend (
MotrixBackend)spec (
TensorIOSpec)
Methods
__init__(backend, spec)apply_reset(env_indices, qpos, qvel[, ...])Pack selected reset rows once, D2H them, and commit CPU physics.
close()Release transfer staging ownership without closing CPU physics.
Return full views after one packed selected-row post-reset H2D.
Return persistent tensor views after one packed H2D read.
step([nsteps])Run CPU physics with the tensor control staged by
write_control.write_control(ctrl)Stage one complete control tensor on the host.
Attributes
Return the immutable layout request used to compile this plan.
Return cumulative semantic transfer and synchronization counters.
- __init__(backend, spec)[source]¶
- Parameters:
backend (
MotrixBackend)spec (
TensorIOSpec)
- property spec: TensorIOSpec¶
Return the immutable layout request used to compile this plan.
- property transfer_stats: dict[str, int]¶
Return cumulative semantic transfer and synchronization counters.
- apply_reset(env_indices, qpos, qvel, randomization=None)[source]¶
Pack selected reset rows once, D2H them, and commit CPU physics.