A high-throughput and memory-efficient inference and serving engine for LLMs
Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git
Synced Nov 10, 16:30 UTC
[Misc] Use `deprecated` for `seed_everything` (#31780)
Signed-off-by: DarkLight1337 <tlleungac@connect.ust.hk>
Cyrus Leung committed
Jan 6, 2026 at 19:29 UTC
db318326a5d23893386143ece6be40d48b081f80
12 files changed
+28
-27
benchmarks/kernels/benchmark_activation.py
+2
-3
@@ -8,10 +8,9 @@ import torch
8
9
import vllm.model_executor.layers.activation # noqa F401
10
from vllm.model_executor.custom_op import CustomOp
11
-from vllm.platforms import current_platform
11
from vllm.triton_utils import triton
12
from vllm.utils.argparse_utils import FlexibleArgumentParser
14
-from vllm.utils.torch_utils import STR_DTYPE_TO_TORCH_DTYPE
13
+from vllm.utils.torch_utils import STR_DTYPE_TO_TORCH_DTYPE, set_random_seed
14
15
batch_size_range = [1, 16, 128]
16
seq_len_range = [1, 16, 64, 1024, 4096]
@@ -30,7 +29,7 @@ def benchmark_activation(
29
device = "cuda"
30
num_tokens = batch_size * seq_len
31
dim = intermediate_size
33
- current_platform.seed_everything(42)
32
+ set_random_seed(42)
33
torch.set_default_device(device)
34
35
if func_name == "gelu_and_mul":
benchmarks/kernels/benchmark_layernorm.py
+2
-3
@@ -6,9 +6,8 @@ import time
6
import torch
7
8
from vllm.model_executor.layers.layernorm import RMSNorm
9
-from vllm.platforms import current_platform
9
from vllm.utils.argparse_utils import FlexibleArgumentParser
11
-from vllm.utils.torch_utils import STR_DTYPE_TO_TORCH_DTYPE
10
+from vllm.utils.torch_utils import STR_DTYPE_TO_TORCH_DTYPE, set_random_seed
11
12
13
@torch.inference_mode()
@@ -22,7 +21,7 @@ def main(
21
num_warmup_iters: int = 5,
22
num_iters: int = 100,
23
) -> None:
25
- current_platform.seed_everything(seed)
24
+ set_random_seed(seed)
25
torch.set_default_device("cuda")
26
27
layer = RMSNorm(hidden_size).to(dtype=dtype)
benchmarks/kernels/benchmark_moe.py
+3
-2
@@ -24,6 +24,7 @@ from vllm.platforms import current_platform
24
from vllm.transformers_utils.config import get_config
25
from vllm.triton_utils import triton
26
from vllm.utils.argparse_utils import FlexibleArgumentParser
27
+from vllm.utils.torch_utils import set_random_seed
28
29
FP8_DTYPE = current_platform.fp8_dtype()
30
@@ -431,7 +432,7 @@ def merge_unique_dicts(list1, list2):
432
class BenchmarkWorker:
433
def __init__(self, seed: int) -> None:
434
torch.set_default_device("cuda")
434
- current_platform.seed_everything(seed)
435
+ set_random_seed(seed)
436
self.seed = seed
437
# Get the device ID to allocate tensors and kernels
438
# on the respective GPU. This is required for Ray to work
@@ -451,7 +452,7 @@ class BenchmarkWorker:
452
block_quant_shape: list[int] = None,
453
use_deep_gemm: bool = False,
454
) -> tuple[dict[str, int], float]:
454
- current_platform.seed_everything(self.seed)
455
+ set_random_seed(self.seed)
456
dtype_str = _get_config_dtype_str(
457
dtype, use_int8_w8a16=use_int8_w8a16, use_fp8_w8a8=use_fp8_w8a8
458
)
benchmarks/kernels/benchmark_moe_permute_unpermute.py
+3
-2
@@ -18,6 +18,7 @@ from vllm.model_executor.layers.fused_moe.moe_permute_unpermute import (
18
from vllm.model_executor.layers.fused_moe.utils import _fp8_quantize
19
from vllm.platforms import current_platform
20
from vllm.utils.argparse_utils import FlexibleArgumentParser
21
+from vllm.utils.torch_utils import set_random_seed
22
23
FP8_DTYPE = current_platform.fp8_dtype()
24
@@ -261,7 +262,7 @@ def benchmark_unpermute(
262
class BenchmarkWorker:
263
def __init__(self, seed: int) -> None:
264
torch.set_default_device("cuda")
264
- current_platform.seed_everything(seed)
265
+ set_random_seed(seed)
266
self.seed = seed
267
# Get the device ID to allocate tensors and kernels
268
# on the respective GPU. This is required for Ray to work
@@ -279,7 +280,7 @@ class BenchmarkWorker:
280
use_int8_w8a16: bool,
281
use_customized_permute: bool = False,
282
) -> tuple[dict[str, int], float]:
282
- current_platform.seed_everything(self.seed)
283
+ set_random_seed(self.seed)
284
285
permute_time = benchmark_permute(
286
num_tokens,
benchmarks/kernels/benchmark_mrope.py
+2
-2
@@ -37,9 +37,9 @@ import numpy as np
37
import torch
38
39
from vllm.model_executor.layers.rotary_embedding import get_rope
40
-from vllm.platforms import current_platform
40
from vllm.transformers_utils.config import get_config
41
from vllm.utils.argparse_utils import FlexibleArgumentParser
42
+from vllm.utils.torch_utils import set_random_seed
43
44
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
45
@@ -94,7 +94,7 @@ def benchmark_mrope(
94
benchmark_iter: int = 100,
95
csv_writer=None,
96
):
97
- current_platform.seed_everything(seed)
97
+ set_random_seed(seed)
98
torch.set_default_device(device)
99
# the parameters to compute the q k v size based on tp_size
100
mrope_helper_class = get_rope(
benchmarks/kernels/benchmark_paged_attention.py
+2
-1
@@ -13,6 +13,7 @@ from vllm.utils.argparse_utils import FlexibleArgumentParser
13
from vllm.utils.torch_utils import (
14
STR_DTYPE_TO_TORCH_DTYPE,
15
create_kv_caches_with_random,
16
+ set_random_seed,
17
)
18
19
logger = init_logger(__name__)
@@ -38,7 +39,7 @@ def main(
39
device: str = "cuda",
40
kv_cache_dtype: str | None = None,
41
) -> None:
41
- current_platform.seed_everything(seed)
42
+ set_random_seed(seed)
43
44
scale = float(1.0 / (head_size**0.5))
45
query = torch.empty(
benchmarks/kernels/benchmark_quant.py
+2
-3
@@ -6,9 +6,8 @@ import time
6
import torch
7
8
from vllm import _custom_ops as ops
9
-from vllm.platforms import current_platform
9
from vllm.utils.argparse_utils import FlexibleArgumentParser
11
-from vllm.utils.torch_utils import STR_DTYPE_TO_TORCH_DTYPE
10
+from vllm.utils.torch_utils import STR_DTYPE_TO_TORCH_DTYPE, set_random_seed
11
12
13
@torch.inference_mode()
@@ -23,7 +22,7 @@ def main(
22
num_warmup_iters: int = 5,
23
num_iters: int = 100,
24
) -> None:
26
- current_platform.seed_everything(seed)
25
+ set_random_seed(seed)
26
torch.set_default_device("cuda")
27
28
x = torch.randn(num_tokens, hidden_size, dtype=dtype)
benchmarks/kernels/benchmark_reshape_and_cache.py
+2
-2
@@ -8,11 +8,11 @@ from tabulate import tabulate
8
9
from vllm import _custom_ops as ops
10
from vllm.logger import init_logger
11
-from vllm.platforms import current_platform
11
from vllm.utils.argparse_utils import FlexibleArgumentParser
12
from vllm.utils.torch_utils import (
13
STR_DTYPE_TO_TORCH_DTYPE,
14
create_kv_caches_with_random,
15
+ set_random_seed,
16
)
17
18
logger = init_logger(__name__)
@@ -36,7 +36,7 @@ def run_benchmark(
36
if kv_cache_dtype == "fp8" and head_size % 16:
37
raise ValueError("fp8 kv-cache requires head_size to be a multiple of 16.")
38
39
- current_platform.seed_everything(42)
39
+ set_random_seed(42)
40
torch.set_default_device(device)
41
42
# create random key / value tensors [T, H, D].
benchmarks/kernels/benchmark_reshape_and_cache_flash.py
+2
-2
@@ -11,11 +11,11 @@ from vllm.attention.ops.triton_reshape_and_cache_flash import (
11
triton_reshape_and_cache_flash,
12
)
13
from vllm.logger import init_logger
14
-from vllm.platforms import current_platform
14
from vllm.utils.argparse_utils import FlexibleArgumentParser
15
from vllm.utils.torch_utils import (
16
STR_DTYPE_TO_TORCH_DTYPE,
17
create_kv_caches_with_random_flash,
18
+ set_random_seed,
19
)
20
21
logger = init_logger(__name__)
@@ -49,7 +49,7 @@ def run_benchmark(
49
if implementation == "triton" and kv_cache_layout == "HND":
50
return float("nan") # Triton does not support HND layout yet.
51
52
- current_platform.seed_everything(42)
52
+ set_random_seed(42)
53
torch.set_default_device(device)
54
55
# create random key / value tensors [T, H, D].
benchmarks/kernels/benchmark_silu_mul_fp8_quant.py
+2
-2
@@ -23,9 +23,9 @@ import torch
23
from vllm.model_executor.layers.fused_moe.batched_deep_gemm_moe import (
24
persistent_masked_m_silu_mul_quant,
25
)
26
-from vllm.platforms import current_platform
26
from vllm.triton_utils import tl, triton
27
from vllm.utils.deep_gemm import is_deep_gemm_e8m0_used
28
+from vllm.utils.torch_utils import set_random_seed
29
30
31
@triton.jit
@@ -207,7 +207,7 @@ def benchmark(
207
):
208
def generate_data(seed_offset=0):
209
"""Generate input data with given seed offset"""
210
- current_platform.seed_everything(42 + seed_offset)
210
+ set_random_seed(42 + seed_offset)
211
y = torch.rand((E, T, 2 * H), dtype=torch.bfloat16, device="cuda").contiguous()
212
213
if gen_strategy == "random_imbalanced":
docs/design/plugin_system.md
+1
-1
@@ -154,4 +154,4 @@ The interface for the model/module may change during vLLM's development. If you
154
!!! warning "Deprecations"
155
- `use_v1` parameter in `Platform.get_attn_backend_cls` is deprecated. It has been removed in v0.13.0.
156
- `_Backend` in `vllm.attention` is deprecated. It has been removed in v0.13.0. Please use `vllm.attention.backends.registry.register_backend` to add new attention backend to `AttentionBackendEnum` instead.
157
- - `seed_everything` platform interface is deprecated. It will be removed in v0.14.0 or later. Please use `vllm.utils.torch_utils.set_random_seed` instead.
157
+ - `seed_everything` platform interface is deprecated. It will be removed in v0.15.0 or later. Please use `vllm.utils.torch_utils.set_random_seed` instead.
vllm/platforms/interface.py
+5
-4
@@ -11,6 +11,7 @@ from typing import TYPE_CHECKING, Any, NamedTuple, Optional
11
12
import numpy as np
13
import torch
14
+from typing_extensions import deprecated
15
16
from vllm.attention.backends.registry import AttentionBackendEnum
17
from vllm.logger import init_logger
@@ -365,6 +366,10 @@ class Platform:
366
return torch.inference_mode(mode=True)
367
368
@classmethod
369
+ @deprecated(
370
+ "`seed_everything` is deprecated. It will be removed in v0.15.0 or later. "
371
+ "Please use `vllm.utils.torch_utils.set_random_seed` instead."
372
+ )
373
def seed_everything(cls, seed: int | None = None) -> None:
374
"""
375
Set the seed of each random module.
@@ -372,10 +377,6 @@ class Platform:
377
378
Loosely based on: https://github.com/Lightning-AI/pytorch-lightning/blob/2.4.0/src/lightning/fabric/utilities/seed.py#L20
379
"""
375
- logger.info_once(
376
- "`seed_everything` is deprecated. It will be removed in v0.14.0 or later. "
377
- "Please use `vllm.utils.torch_utils.set_random_seed` instead."
378
- )
380
if seed is not None:
381
random.seed(seed)
382
np.random.seed(seed)