Sync from v0.13
This commit is contained in:
0
vllm/ray/__init__.py
Normal file
0
vllm/ray/__init__.py
Normal file
30
vllm/ray/lazy_utils.py
Normal file
30
vllm/ray/lazy_utils.py
Normal file
@@ -0,0 +1,30 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
|
||||
|
||||
|
||||
def is_ray_initialized():
|
||||
"""Check if Ray is initialized."""
|
||||
try:
|
||||
import ray
|
||||
|
||||
return ray.is_initialized()
|
||||
except ImportError:
|
||||
return False
|
||||
except AttributeError:
|
||||
return False
|
||||
|
||||
|
||||
def is_in_ray_actor():
|
||||
"""Check if we are in a Ray actor."""
|
||||
|
||||
try:
|
||||
import ray
|
||||
|
||||
return (
|
||||
ray.is_initialized()
|
||||
and ray.get_runtime_context().get_actor_id() is not None
|
||||
)
|
||||
except ImportError:
|
||||
return False
|
||||
except AttributeError:
|
||||
return False
|
||||
79
vllm/ray/ray_env.py
Normal file
79
vllm/ray/ray_env.py
Normal file
@@ -0,0 +1,79 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
|
||||
import json
|
||||
import os
|
||||
|
||||
import vllm.envs as envs
|
||||
from vllm.logger import init_logger
|
||||
|
||||
logger = init_logger(__name__)
|
||||
|
||||
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.
|
||||
RAY_NON_CARRY_OVER_ENV_VARS_FILE = os.path.join(
|
||||
CONFIG_HOME, "ray_non_carry_over_env_vars.json"
|
||||
)
|
||||
|
||||
try:
|
||||
if os.path.exists(RAY_NON_CARRY_OVER_ENV_VARS_FILE):
|
||||
with open(RAY_NON_CARRY_OVER_ENV_VARS_FILE) as f:
|
||||
RAY_NON_CARRY_OVER_ENV_VARS = set(json.load(f))
|
||||
else:
|
||||
RAY_NON_CARRY_OVER_ENV_VARS = set()
|
||||
except json.JSONDecodeError:
|
||||
logger.warning(
|
||||
"Failed to parse %s. Using an empty set for non-carry-over env vars.",
|
||||
RAY_NON_CARRY_OVER_ENV_VARS_FILE,
|
||||
)
|
||||
RAY_NON_CARRY_OVER_ENV_VARS = set()
|
||||
|
||||
|
||||
def get_env_vars_to_copy(
|
||||
exclude_vars: set[str] | None = None,
|
||||
additional_vars: set[str] | None = None,
|
||||
destination: str | None = None,
|
||||
) -> set[str]:
|
||||
"""
|
||||
Get the environment variables to copy to downstream Ray actors.
|
||||
|
||||
Example use cases:
|
||||
- Copy environment variables from RayDistributedExecutor to Ray workers.
|
||||
- Copy environment variables from RayDPClient to Ray DPEngineCoreActor.
|
||||
|
||||
Args:
|
||||
exclude_vars: A set of vllm defined environment variables to exclude
|
||||
from copying.
|
||||
additional_vars: A set of additional environment variables to copy.
|
||||
If a variable is in both exclude_vars and additional_vars, it will
|
||||
be excluded.
|
||||
destination: The destination of the environment variables.
|
||||
Returns:
|
||||
A set of environment variables to copy.
|
||||
"""
|
||||
exclude_vars = exclude_vars or set()
|
||||
additional_vars = additional_vars or set()
|
||||
|
||||
env_vars_to_copy = {
|
||||
v
|
||||
for v in set(envs.environment_variables).union(additional_vars)
|
||||
if v not in exclude_vars and v not in RAY_NON_CARRY_OVER_ENV_VARS
|
||||
}
|
||||
|
||||
to_destination = " to " + destination if destination is not None else ""
|
||||
|
||||
logger.info(
|
||||
"RAY_NON_CARRY_OVER_ENV_VARS from config: %s", RAY_NON_CARRY_OVER_ENV_VARS
|
||||
)
|
||||
logger.info(
|
||||
"Copying the following environment variables%s: %s",
|
||||
to_destination,
|
||||
[v for v in env_vars_to_copy if v in os.environ],
|
||||
)
|
||||
logger.info(
|
||||
"If certain env vars should NOT be copied, add them to %s file",
|
||||
RAY_NON_CARRY_OVER_ENV_VARS_FILE,
|
||||
)
|
||||
|
||||
return env_vars_to_copy
|
||||
Reference in New Issue
Block a user