[DP] Copy environment variables to Ray DPEngineCoreActors (#20344)
Signed-off-by: Rui Qiao <ruisearch42@gmail.com>
This commit is contained in:
@@ -2,7 +2,6 @@
|
||||
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
|
||||
|
||||
import asyncio
|
||||
import json
|
||||
import os
|
||||
from collections import defaultdict
|
||||
from dataclasses import dataclass
|
||||
@@ -20,6 +19,7 @@ from vllm.executor.ray_utils import (RayWorkerWrapper, initialize_ray_cluster,
|
||||
from vllm.logger import init_logger
|
||||
from vllm.model_executor.layers.sampler import SamplerOutput
|
||||
from vllm.platforms import current_platform
|
||||
from vllm.ray.ray_env import get_env_vars_to_copy
|
||||
from vllm.sequence import ExecuteModelRequest
|
||||
from vllm.utils import (_run_task_with_lock, get_distributed_init_method,
|
||||
get_ip, get_open_port, make_async)
|
||||
@@ -58,17 +58,6 @@ class RayDistributedExecutor(DistributedExecutorBase):
|
||||
"VLLM_HOST_IP", "VLLM_HOST_PORT", "LOCAL_RANK", "CUDA_VISIBLE_DEVICES"
|
||||
}
|
||||
|
||||
config_home = envs.VLLM_CONFIG_ROOT
|
||||
# This file contains a list of env vars that should not be copied
|
||||
# from the driver to the Ray workers.
|
||||
non_carry_over_env_vars_file = os.path.join(
|
||||
config_home, "ray_non_carry_over_env_vars.json")
|
||||
if os.path.exists(non_carry_over_env_vars_file):
|
||||
with open(non_carry_over_env_vars_file) as f:
|
||||
non_carry_over_env_vars = set(json.load(f))
|
||||
else:
|
||||
non_carry_over_env_vars = set()
|
||||
|
||||
uses_ray: bool = True
|
||||
|
||||
def _init_executor(self) -> None:
|
||||
@@ -335,13 +324,10 @@ class RayDistributedExecutor(DistributedExecutorBase):
|
||||
} for (node_id, _) in worker_node_and_gpu_ids]
|
||||
|
||||
# Environment variables to copy from driver to workers
|
||||
env_vars_to_copy = [
|
||||
v for v in envs.environment_variables
|
||||
if v not in self.WORKER_SPECIFIC_ENV_VARS
|
||||
and v not in self.non_carry_over_env_vars
|
||||
]
|
||||
|
||||
env_vars_to_copy.extend(current_platform.additional_env_vars)
|
||||
env_vars_to_copy = get_env_vars_to_copy(
|
||||
exclude_vars=self.WORKER_SPECIFIC_ENV_VARS,
|
||||
additional_vars=set(current_platform.additional_env_vars),
|
||||
destination="workers")
|
||||
|
||||
# Copy existing env vars to each worker's args
|
||||
for args in all_args_to_update_environment_variables:
|
||||
@@ -350,15 +336,6 @@ class RayDistributedExecutor(DistributedExecutorBase):
|
||||
if name in os.environ:
|
||||
args[name] = os.environ[name]
|
||||
|
||||
logger.info("non_carry_over_env_vars from config: %s",
|
||||
self.non_carry_over_env_vars)
|
||||
logger.info(
|
||||
"Copying the following environment variables to workers: %s",
|
||||
[v for v in env_vars_to_copy if v in os.environ])
|
||||
logger.info(
|
||||
"If certain env vars should NOT be copied to workers, add them to "
|
||||
"%s file", self.non_carry_over_env_vars_file)
|
||||
|
||||
self._env_vars_for_all_workers = (
|
||||
all_args_to_update_environment_variables)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user