mirror of
https://github.com/vllm-project/vllm.git
synced 2026-10-28 09:45:26 +08:00
[Docs] Point users at --disable-flashinfer-autotune (#61489)
Signed-off-by: mgoin <mgoin64@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
85752a43c3
commit
b6078025b4
24 files changed
+51
-45
No files matched your search
@@ -120,7 +120,7 @@ def run_worker(args):
|
||||
if args.disable_flashinfer_autotune:
|
||||
# FP4-MoE autotuner is unstable under CUDA-graph capture on Blackwell;
|
||||
# re-enable (--no-disable-flashinfer-autotune) only for non-FP4 models.
|
||||
llm_kwargs["kernel_config"] = {"enable_flashinfer_autotune": False}
|
||||
llm_kwargs["enable_flashinfer_autotune"] = False
|
||||
if mode == "replayssm":
|
||||
llm_kwargs.update(use_replayssm=True, replayssm_buffer_len=args.buffer_len)
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ Settings:
|
||||
- `-cc.cudagraph_mode=NONE`
|
||||
- `-cc.mode=NONE` (also resulting in `-cc.custom_ops=["none"]`)
|
||||
- `-cc.pass_config.fuse_...=False` (all fusions disabled)
|
||||
- `--kernel-config.enable_flashinfer_autotune=False`
|
||||
- `--disable-flashinfer-autotune`
|
||||
|
||||
### `-O1`: Fast Optimization
|
||||
|
||||
@@ -49,7 +49,7 @@ Settings:
|
||||
|
||||
- `-cc.cudagraph_mode=PIECEWISE`
|
||||
- `-cc.mode=VLLM_COMPILE`
|
||||
- `--kernel-config.enable_flashinfer_autotune=True`
|
||||
- `--enable-flashinfer-autotune`
|
||||
|
||||
Fusions:
|
||||
|
||||
@@ -84,6 +84,6 @@ in the future that are more time-consuming or experimental.
|
||||
|
||||
### Common Issues
|
||||
|
||||
1. **Startup Time Too Long**: Use `-O0` or `-O1` for faster startup
|
||||
1. **Startup Time Too Long**: Use `-O0` or `-O1` for faster startup, or pass `--disable-flashinfer-autotune` to skip only FlashInfer autotuning
|
||||
2. **Compilation Errors**: Use `debug_dump_path` for additional debugging information
|
||||
3. **Performance Issues**: Ensure using `-O2` for production
|
||||
@@ -247,7 +247,7 @@ variants:
|
||||
- "16384"
|
||||
- "--gpu-memory-utilization"
|
||||
- "0.9"
|
||||
- "--no-enable-flashinfer-autotune"
|
||||
- "--disable-flashinfer-autotune"
|
||||
- "--stream-interval"
|
||||
- "20"
|
||||
extra_env:
|
||||
@@ -829,7 +829,7 @@ guide: |
|
||||
--speculative-config '{"method":"eagle3","model":"Inferact/MiniMax-M3-EAGLE3-GQA","num_speculative_tokens":3,"attention_backend":"FLASHINFER","use_local_argmax_reduction":true}' \
|
||||
--max-model-len 1048576 --max-num-batched-tokens 16384 --max-num-seqs <S> \
|
||||
--compilation-config '{"cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[<sizes from the table>,256,512,1024,2048]}' \
|
||||
--gpu-memory-utilization 0.9 --no-enable-flashinfer-autotune --stream-interval 20 --language-model-only \
|
||||
--gpu-memory-utilization 0.9 --disable-flashinfer-autotune --stream-interval 20 --language-model-only \
|
||||
--kv-events-config '{"publisher":"zmq","topic":"kv-events","enable_kv_cache_events":true,"endpoint":"tcp://*:5200"}' \
|
||||
--reasoning-parser minimax_m3 --dyn-reasoning-parser minimax_m3 --dyn-tool-call-parser minimax_m3
|
||||
```
|
||||
|
||||
@@ -24,7 +24,7 @@ model:
|
||||
supports_dcp: true
|
||||
base_args:
|
||||
- "--trust-remote-code"
|
||||
- "--kernel-config.enable_flashinfer_autotune=False"
|
||||
- "--disable-flashinfer-autotune"
|
||||
base_env: {}
|
||||
|
||||
dependencies:
|
||||
@@ -122,7 +122,7 @@ guide: |
|
||||
vllm serve deepseek-ai/DeepSeek-V3.2 \
|
||||
--tensor-parallel-size 8 \
|
||||
--trust-remote-code \
|
||||
--kernel-config.enable_flashinfer_autotune=False \
|
||||
--disable-flashinfer-autotune \
|
||||
--tokenizer-mode deepseek_v32 \
|
||||
--tool-call-parser deepseek_v32 \
|
||||
--enable-auto-tool-choice \
|
||||
|
||||
@@ -271,7 +271,7 @@ guide: |
|
||||
- `VLLM_FLASHINFER_AUTOTUNE_SKIP_OPS` excludes the FP4 block-scale MoE op from
|
||||
FlashInfer's startup autotuning. Export it if autotuning that op fails or costs more
|
||||
startup time than it earns back on your FlashInfer build; it is a tuning knob, not a
|
||||
requirement. The Advanced row's `--no-enable-flashinfer-autotune` turns autotuning
|
||||
requirement. The Advanced row's `--disable-flashinfer-autotune` turns autotuning
|
||||
off wholesale instead.
|
||||
- `--max-model-len 32768` bounds KV cache for the benchmark. The checkpoint advertises
|
||||
1M tokens; that is **not** what was measured, and 1M-token KV needs far more memory
|
||||
|
||||
@@ -591,7 +591,7 @@ strategy_overrides:
|
||||
hardware_overrides:
|
||||
hopper:
|
||||
extra_args:
|
||||
- "--no-enable-flashinfer-autotune"
|
||||
- "--disable-flashinfer-autotune"
|
||||
blackwell:
|
||||
# Replaces recipe-level blackwell override: keeps the FP4 indexer cache
|
||||
# but drops --moe-backend deep_gemm_mega_moe (TP-only path uses the
|
||||
@@ -599,7 +599,7 @@ strategy_overrides:
|
||||
extra_args:
|
||||
- "--attention_config.indexer_kv_dtype"
|
||||
- "mxfp4"
|
||||
- "--no-enable-flashinfer-autotune"
|
||||
- "--disable-flashinfer-autotune"
|
||||
rtx_pro_6000_8x:
|
||||
extra_args:
|
||||
- "--attention_config.indexer_kv_dtype"
|
||||
|
||||
@@ -183,7 +183,7 @@ hardware_overrides:
|
||||
- "0.95"
|
||||
- "--max-num-seqs"
|
||||
- "512"
|
||||
- "--no-enable-flashinfer-autotune"
|
||||
- "--disable-flashinfer-autotune"
|
||||
- "--compilation-config"
|
||||
- '{"mode": 0, "cudagraph_mode": "FULL_DECODE_ONLY"}'
|
||||
blackwell:
|
||||
@@ -214,14 +214,14 @@ strategy_overrides:
|
||||
hardware_overrides:
|
||||
hopper:
|
||||
extra_args:
|
||||
- "--no-enable-flashinfer-autotune"
|
||||
- "--disable-flashinfer-autotune"
|
||||
blackwell:
|
||||
# Replaces recipe-level blackwell override: keeps the FP4 indexer cache
|
||||
# but drops any variant-level --moe-backend selection (TP-only uses
|
||||
# the default MoE backend).
|
||||
extra_args:
|
||||
- "--attention_config.indexer_kv_dtype=mxfp4"
|
||||
- "--no-enable-flashinfer-autotune"
|
||||
- "--disable-flashinfer-autotune"
|
||||
single_node_tep:
|
||||
extra_args:
|
||||
- "--compilation-config"
|
||||
@@ -485,7 +485,7 @@ guide: |
|
||||
```text
|
||||
--tokenizer-mode deepseek_v4 --trust-remote-code
|
||||
--kv-cache-dtype fp8 --block-size 256
|
||||
--no-disable-hybrid-kv-cache-manager --no-enable-flashinfer-autotune
|
||||
--no-disable-hybrid-kv-cache-manager --disable-flashinfer-autotune
|
||||
--attention-config '{"backend":"FLASHINFER_MLA_SPARSE_DSV4","use_prefill_query_quantization":true,"indexer_kv_dtype":"mxfp4"}'
|
||||
--speculative-config '{"method":"dspark","num_speculative_tokens":6,"draft_sample_method":"probabilistic","rejection_sample_method":"block"}'
|
||||
```
|
||||
@@ -675,7 +675,7 @@ guide: |
|
||||
--numa-bind --numa-bind-nodes 0 0 1 1
|
||||
--tokenizer-mode deepseek_v4 --trust-remote-code
|
||||
--max-model-len 1048576 --kv-cache-dtype fp8 --block-size 256
|
||||
--no-disable-hybrid-kv-cache-manager --no-enable-flashinfer-autotune
|
||||
--no-disable-hybrid-kv-cache-manager --disable-flashinfer-autotune
|
||||
--attention-config '{"backend":"FLASHINFER_MLA_SPARSE_DSV4","use_prefill_query_quantization":true,"indexer_kv_dtype":"mxfp4"}'
|
||||
--speculative-config '{"method":"dspark","num_speculative_tokens":5,"draft_sample_method":"probabilistic","rejection_sample_method":"block"}'
|
||||
)
|
||||
|
||||
@@ -289,7 +289,7 @@ hardware_overrides:
|
||||
- "--moe-backend"
|
||||
- "marlin"
|
||||
- "--disable-custom-all-reduce"
|
||||
- "--no-enable-flashinfer-autotune"
|
||||
- "--disable-flashinfer-autotune"
|
||||
- "--max-num-batched-tokens"
|
||||
- "4096"
|
||||
- "--attention-backend"
|
||||
@@ -303,7 +303,7 @@ hardware_overrides:
|
||||
extra_args:
|
||||
- "--load-format"
|
||||
- "fastsafetensors"
|
||||
- "--no-enable-flashinfer-autotune"
|
||||
- "--disable-flashinfer-autotune"
|
||||
- "--max-model-len"
|
||||
- "1048576"
|
||||
- "--kv-cache-dtype"
|
||||
@@ -638,7 +638,7 @@ strategy_overrides:
|
||||
- "--max-num-batched-tokens"
|
||||
- "16384"
|
||||
- "--no-disable-hybrid-kv-cache-manager"
|
||||
- "--no-enable-flashinfer-autotune"
|
||||
- "--disable-flashinfer-autotune"
|
||||
env:
|
||||
VLLM_KIMI_K3_SHARD_SP_SHARED_EXPERT: "1"
|
||||
decode:
|
||||
@@ -841,7 +841,7 @@ guide: |
|
||||
--compilation-config "{\"cudagraph_mode\":\"FULL_AND_PIECEWISE\",\"cudagraph_capture_sizes\":[$CAPTURES]}" \
|
||||
--speculative-config "{\"model\":\"Inferact/Kimi-K3-DSpark\",\"attention_backend\":\"TOKENSPEED_MLA\",\"method\":\"dspark\",\"num_speculative_tokens\":$K,\"draft_sample_method\":\"probabilistic\",\"rejection_sample_method\":\"block\"}" \
|
||||
--enable-prefix-caching --prefix-match-unit 128 \
|
||||
--no-enable-flashinfer-autotune \
|
||||
--disable-flashinfer-autotune \
|
||||
--moe-backend auto --load-format fastsafetensors \
|
||||
--stream-interval 10 --language-model-only --trust-remote-code \
|
||||
--enable-auto-tool-choice --tool-call-parser kimi_k3 --reasoning-parser kimi_k3 \
|
||||
|
||||
@@ -79,7 +79,7 @@ variants:
|
||||
h200: 2
|
||||
description: "NVFP4 checkpoint requiring at least 180 GB aggregated VRAM: W4A4 with TP1 on B300/GB300 or TP2 on B200/GB200, and W4A16 with TP4 on H100 or TP2 on H200."
|
||||
extra_args:
|
||||
- "--kernel-config.enable_flashinfer_autotune=False"
|
||||
- "--disable-flashinfer-autotune"
|
||||
extra_env:
|
||||
FLASH_ATTENTION_CUTE_DSL_CACHE_ENABLED: "1"
|
||||
mxfp4:
|
||||
@@ -163,7 +163,7 @@ variants:
|
||||
hardware_overrides:
|
||||
nvidia:
|
||||
extra_args:
|
||||
- "--kernel-config.enable_flashinfer_autotune=False"
|
||||
- "--disable-flashinfer-autotune"
|
||||
extra_env:
|
||||
FLASH_ATTENTION_CUTE_DSL_CACHE_ENABLED: "1"
|
||||
mi300x:
|
||||
@@ -309,7 +309,7 @@ guide: |
|
||||
--tool-call-parser inkling \
|
||||
--enable-auto-tool-choice \
|
||||
--tensor-parallel-size 1 \
|
||||
--kernel-config.enable_flashinfer_autotune=False \
|
||||
--disable-flashinfer-autotune \
|
||||
--trust-remote-code
|
||||
```
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ variants:
|
||||
vram_minimum_gb: 651
|
||||
description: "Weight-only NVFP4 (group size 16) on the routed MoE expert matmuls only; attention, norms, sconv, shared experts, routers, embeddings, and the layer 0-1 dense MLPs stay BF16. ~542 GB on disk. On Hopper, the MoE kernel dequantizes the NVFP4 expert weights to BF16 on the fly."
|
||||
extra_args:
|
||||
- "--kernel-config.enable_flashinfer_autotune=False"
|
||||
- "--disable-flashinfer-autotune"
|
||||
extra_env:
|
||||
FLASH_ATTENTION_CUTE_DSL_CACHE_ENABLED: "1"
|
||||
mxfp4:
|
||||
@@ -143,7 +143,7 @@ variants:
|
||||
vram_minimum_gb: 2400
|
||||
description: "Full BF16 checkpoint (~1.8 TB on disk). Runs on Hopper and Blackwell."
|
||||
extra_args:
|
||||
- "--kernel-config.enable_flashinfer_autotune=False"
|
||||
- "--disable-flashinfer-autotune"
|
||||
extra_env:
|
||||
FLASH_ATTENTION_CUTE_DSL_CACHE_ENABLED: "1"
|
||||
|
||||
@@ -292,7 +292,7 @@ guide: |
|
||||
--tool-call-parser inkling \
|
||||
--enable-auto-tool-choice \
|
||||
--tensor-parallel-size 4 \
|
||||
--kernel-config.enable_flashinfer_autotune=False \
|
||||
--disable-flashinfer-autotune \
|
||||
--trust-remote-code
|
||||
```
|
||||
|
||||
|
||||
@@ -135,7 +135,7 @@ strategy_hardware:
|
||||
hardware_overrides:
|
||||
hopper:
|
||||
extra_args:
|
||||
- "--no-enable-flashinfer-autotune"
|
||||
- "--disable-flashinfer-autotune"
|
||||
blackwell:
|
||||
# FP8 KV cache only works on Blackwell for this model; Hopper runs BF16 KV.
|
||||
extra_args:
|
||||
|
||||
@@ -150,7 +150,7 @@ variants:
|
||||
- "w2_weight"
|
||||
- "--load-format"
|
||||
- "fastsafetensors"
|
||||
- "--no-enable-flashinfer-autotune"
|
||||
- "--disable-flashinfer-autotune"
|
||||
- "--moe-backend"
|
||||
- "flashinfer_trtllm"
|
||||
w4a8:
|
||||
|
||||
@@ -103,7 +103,7 @@ def test_tp1_fp8_fusions(
|
||||
model_kwargs["hf_overrides"] = hf_overrides(n_layers)
|
||||
model_kwargs["load_format"] = "dummy"
|
||||
model_kwargs["max_model_len"] = 1024
|
||||
model_kwargs["kernel_config"] = {"enable_flashinfer_autotune": False}
|
||||
model_kwargs["enable_flashinfer_autotune"] = False
|
||||
|
||||
compilation_config = dict(
|
||||
use_inductor_graph_partition=inductor_graph_partition,
|
||||
@@ -180,7 +180,7 @@ def test_tp1_fp4_fusions(
|
||||
model_kwargs["hf_overrides"] = hf_overrides(n_layers)
|
||||
model_kwargs["load_format"] = "dummy"
|
||||
model_kwargs["max_model_len"] = 1024
|
||||
model_kwargs["kernel_config"] = {"enable_flashinfer_autotune": False}
|
||||
model_kwargs["enable_flashinfer_autotune"] = False
|
||||
|
||||
compilation_config = dict(
|
||||
use_inductor_graph_partition=inductor_graph_partition,
|
||||
@@ -226,7 +226,7 @@ def test_tp1_fp4_mixed_precision_act_fusion(
|
||||
model_kwargs["hf_overrides"] = hf_overrides(n_layers)
|
||||
model_kwargs["load_format"] = "dummy"
|
||||
model_kwargs["max_model_len"] = 1024
|
||||
model_kwargs["kernel_config"] = {"enable_flashinfer_autotune": False}
|
||||
model_kwargs["enable_flashinfer_autotune"] = False
|
||||
|
||||
compilation_config = dict(
|
||||
use_inductor_graph_partition=inductor_graph_partition,
|
||||
|
||||
@@ -109,7 +109,7 @@ def test_tp2_ar_rms_fp8_fusions(
|
||||
model_kwargs["hf_overrides"] = hf_overrides(n_layers)
|
||||
model_kwargs["load_format"] = "dummy"
|
||||
model_kwargs["max_model_len"] = 1024
|
||||
model_kwargs["kernel_config"] = {"enable_flashinfer_autotune": False}
|
||||
model_kwargs["enable_flashinfer_autotune"] = False
|
||||
model_kwargs["disable_custom_all_reduce"] = False
|
||||
if current_platform.is_rocm() and (
|
||||
"llama-3" in model_name_lower or "qwen" in model_name_lower
|
||||
@@ -202,7 +202,7 @@ def test_tp2_ar_rms_fp4_fusions(
|
||||
model_kwargs["hf_overrides"] = hf_overrides(n_layers)
|
||||
model_kwargs["load_format"] = "dummy"
|
||||
model_kwargs["max_model_len"] = 1024
|
||||
model_kwargs["kernel_config"] = {"enable_flashinfer_autotune": False}
|
||||
model_kwargs["enable_flashinfer_autotune"] = False
|
||||
model_kwargs["disable_custom_all_reduce"] = False
|
||||
|
||||
compilation_config = dict(
|
||||
@@ -280,7 +280,7 @@ def test_tp2_ar_rms_fusions(
|
||||
model_kwargs["load_format"] = "dummy"
|
||||
model_kwargs["model_impl"] = model_impl
|
||||
model_kwargs["max_model_len"] = 1024
|
||||
model_kwargs["kernel_config"] = {"enable_flashinfer_autotune": False}
|
||||
model_kwargs["enable_flashinfer_autotune"] = False
|
||||
model_kwargs["disable_custom_all_reduce"] = False
|
||||
|
||||
compilation_config = dict(
|
||||
|
||||
@@ -9,7 +9,7 @@ server_args: >-
|
||||
--gpu-memory-utilization 0.90
|
||||
--tensor-parallel-size 4
|
||||
--load-format fastsafetensors
|
||||
--no-enable-flashinfer-autotune
|
||||
--disable-flashinfer-autotune
|
||||
--max-model-len 1048576
|
||||
--max-num-batched-tokens 16384
|
||||
--max-num-seqs 128
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ server_args: >-
|
||||
--max-model-len 8192
|
||||
--tensor-parallel-size 1
|
||||
--quantization humming
|
||||
--kernel-config.enable_flashinfer_autotune=False
|
||||
--disable-flashinfer-autotune
|
||||
env:
|
||||
VLLM_HUMMING_ONLINE_QUANT_CONFIG: '{"dtype":"int6","hadamard_block_size":-1}'
|
||||
VLLM_HUMMING_INPUT_QUANT_CONFIG: '{"dtype":"int8"}'
|
||||
@@ -8,6 +8,6 @@ server_args: >-
|
||||
--max-model-len 8192
|
||||
--tensor-parallel-size 1
|
||||
--quantization humming
|
||||
--kernel-config.enable_flashinfer_autotune=False
|
||||
--disable-flashinfer-autotune
|
||||
env:
|
||||
VLLM_HUMMING_ONLINE_QUANT_CONFIG: '{"dtype":"int6","hadamard_block_size":-1}'
|
||||
@@ -7,7 +7,7 @@ server_args: >-
|
||||
--enforce-eager
|
||||
--max-model-len 8192
|
||||
--quantization humming
|
||||
--kernel-config.enable_flashinfer_autotune=False
|
||||
--disable-flashinfer-autotune
|
||||
env:
|
||||
VLLM_HUMMING_ONLINE_QUANT_CONFIG: '{"dtype":"int6","hadamard_block_size":-1}'
|
||||
VLLM_HUMMING_INPUT_QUANT_CONFIG: '{"dtype":"int8"}'
|
||||
@@ -7,6 +7,6 @@ server_args: >-
|
||||
--enforce-eager
|
||||
--max-model-len 8192
|
||||
--quantization humming
|
||||
--kernel-config.enable_flashinfer_autotune=False
|
||||
--disable-flashinfer-autotune
|
||||
env:
|
||||
VLLM_HUMMING_ONLINE_QUANT_CONFIG: '{"dtype":"int6","hadamard_block_size":-1}'
|
||||
@@ -44,7 +44,7 @@ BASE_ARGS = [
|
||||
"--language-model-only",
|
||||
"--load-format",
|
||||
"dummy",
|
||||
"--no-enable-flashinfer-autotune",
|
||||
"--disable-flashinfer-autotune",
|
||||
"--enable-prompt-tokens-details",
|
||||
# Default max_num_seqs OOMs one GPU during warmup.
|
||||
"--max-num-seqs",
|
||||
|
||||
@@ -113,7 +113,7 @@ def _generate(
|
||||
gpu_memory_utilization=0.7,
|
||||
# Timing-based kernel selection is the dominant source of cross-boot
|
||||
# numeric noise; disable it so the comparison bounds stay tight.
|
||||
kernel_config={"enable_flashinfer_autotune": False},
|
||||
enable_flashinfer_autotune=False,
|
||||
)
|
||||
try:
|
||||
# Guard against a vacuous comparison: verify every worker is in the
|
||||
|
||||
@@ -61,7 +61,7 @@ def test_mtp_sharded_sampling_equivalence(monkeypatch: pytest.MonkeyPatch):
|
||||
max_num_seqs=len(test_prompts),
|
||||
# Timing-based kernel selection is the dominant source of
|
||||
# cross-boot numeric noise; disable for a tight comparison.
|
||||
kernel_config={"enable_flashinfer_autotune": False},
|
||||
enable_flashinfer_autotune=False,
|
||||
)
|
||||
try:
|
||||
# Guard against a vacuous comparison: verify every worker is
|
||||
|
||||
@@ -278,7 +278,8 @@ class KernelConfig:
|
||||
"""
|
||||
|
||||
enable_flashinfer_autotune: bool = None # type: ignore[assignment]
|
||||
"""If True, run FlashInfer autotuning during kernel warmup."""
|
||||
"""Benchmark FlashInfer kernel implementations during warmup and use the
|
||||
fastest. Enabled by default except at `-O0`; disable for faster startup."""
|
||||
|
||||
enable_rocm_segmented_attn_autotune: bool = False
|
||||
"""If True, autotune ROCm segmented attention during kernel warmup on RDNA GPUs."""
|
||||
|
||||
@@ -461,7 +461,8 @@ def flashinfer_autotune(runner: "GPUModelRunner", *, skip_attn: bool = False) ->
|
||||
cache_root = resolve_flashinfer_autotune_v2_root()
|
||||
if is_leader:
|
||||
logger.info_once(
|
||||
"Using FlashInfer managed autotune cache (root=%s)",
|
||||
"Using FlashInfer managed autotune cache (root=%s). Pass "
|
||||
"--disable-flashinfer-autotune to skip autotuning.",
|
||||
cache_root if cache_root is not None else "flashinfer default",
|
||||
)
|
||||
autotune_context = autotune_v2(
|
||||
@@ -475,7 +476,11 @@ def flashinfer_autotune(runner: "GPUModelRunner", *, skip_attn: bool = False) ->
|
||||
f"{cache_path.stem}_dp{dp_rank}_rank{world.rank_in_group}{cache_path.suffix}"
|
||||
)
|
||||
if is_leader:
|
||||
logger.info_once("Using FlashInfer autotune cache file: %s", cache_path)
|
||||
logger.info_once(
|
||||
"Using FlashInfer autotune cache file: %s. Pass "
|
||||
"--disable-flashinfer-autotune to skip autotuning.",
|
||||
cache_path,
|
||||
)
|
||||
|
||||
if _all_ranks_have_matching_cache(cache_path, tune_group):
|
||||
loaded = tuner.load_configs(str(cache_path))
|
||||
|
||||
Reference in new issue
Block a user