nemo_rl.models.generation.dynamo.dynamo_worker#

Ray actors used by the fixed, managed Dynamo vLLM fleet.

Module Contents#

Classes#

DynamoGpuReservation

Hold one placement-group GPU while a sibling actor owns the engine.

DynamoVllmWorker

Own one dynamo.vllm subprocess for a model-parallel GPU group.

API#

class nemo_rl.models.generation.dynamo.dynamo_worker.DynamoGpuReservation#

Hold one placement-group GPU while a sibling actor owns the engine.

Initialization

metadata() dict[str, Any]#
select_free_port(
*,
port_range_low: int,
port_range_high: int,
excluded_ports: list[int],
) int#

Select an unused node-local port from a half-open range.

register_process_group(pid: int) bool#

Record the colocated worker process group for failure cleanup.

cleanup_process_group() bool#

Best-effort cleanup if the subprocess-owning actor died first.

class nemo_rl.models.generation.dynamo.dynamo_worker.DynamoVllmWorker(
config: dict[str, Any],
*,
namespace: str,
group_name: str,
cuda_devices: list[int],
system_port: int,
vllm_port: int,
manager_env: dict[str, str],
startup_timeout_s: float,
seed: int,
cleanup_reservation: ray.actor.ActorHandle,
)#

Own one dynamo.vllm subprocess for a model-parallel GPU group.

Initialization

property system_url: str#
static _validate_argv(
dynamo_python: str,
argv: list[str],
env: dict[str, str],
*,
timeout_s: float,
) None#
_wait_for_system_port(timeout_s: float) None#
metadata() dict[str, Any]#
is_alive() bool#
_stop_process() None#
shutdown() bool#