nemo_rl.models.generation.dynamo.worker_pool#

Fixed Ray-managed pool of Dynamo vLLM subprocess owners.

Module Contents#

Classes#

FixedDynamoWorkerPool

Reserve inference GPUs and launch one worker per model-parallel group.

Functions#

_vllm_port_for_node_slot

Return vLLM’s node-local scan base with 100 ports of headroom.

Data#

API#

nemo_rl.models.generation.dynamo.worker_pool._WORKER_FQN#

‘nemo_rl.models.generation.dynamo.dynamo_worker.DynamoVllmWorker’

nemo_rl.models.generation.dynamo.worker_pool._vllm_port_for_node_slot(node_slot: int) int#

Return vLLM’s node-local scan base with 100 ports of headroom.

class nemo_rl.models.generation.dynamo.worker_pool.FixedDynamoWorkerPool(
*,
cluster: nemo_rl.distributed.virtual_cluster.RayVirtualCluster,
config: dict[str, Any],
namespace: str,
engine_world_size: int,
manager_env: dict[str, str],
startup_timeout_s: float,
)#

Reserve inference GPUs and launch one worker per model-parallel group.

Initialization

property size: int#
is_alive() bool#

Return whether every managed vLLM subprocess is still alive.

start() None#
refit_workers() list[dict[str, Any]]#
validate(
expected: list[dict[str, Any]],
) list[dict[str, Any]]#
shutdown() None#