Source code for unisim.backend.mjwarp.runtime

"""Process-global runtime setup owned by the ``mjwarp`` backend."""

from __future__ import annotations

from .dependencies import load_mjwarp_dependencies


[docs] def bind_mjwarp_process_device(device: str) -> str: """Make one CUDA device Warp's default/current device for this process.""" dependencies = load_mjwarp_dependencies() dependencies.warp.set_device(device) selected = dependencies.warp.get_device() if not bool(selected.is_cuda): raise RuntimeError( "mjwarp backend requires an active CUDA Warp device; " f"resolved {selected!s} from {device!r}" ) return str(selected)