[AMD] MiniMax-M3: opt-in custom/quick all-reduce on ROCm (#32230)
This commit is contained in:
@@ -508,7 +508,12 @@ def _minimax_m3_overrides(server_args: Any, hf_config: Any) -> dict:
|
|||||||
)
|
)
|
||||||
overrides["enable_aiter_allreduce_fusion"] = False
|
overrides["enable_aiter_allreduce_fusion"] = False
|
||||||
aiter_fusion_resolved = False
|
aiter_fusion_resolved = False
|
||||||
if not aiter_fusion_resolved:
|
# By default MiniMax-M3 on ROCm keeps NCCL all-reduce (custom AR off)
|
||||||
|
# whenever aiter all-reduce fusion is not used. Opting in via
|
||||||
|
# SGLANG_M3_ALLOW_CUSTOM_AR keeps custom all-reduce enabled so the
|
||||||
|
# quick-reduce path (ROCM_QUICK_REDUCE_QUANTIZATION=INT4/INT6/INT8) can
|
||||||
|
# accelerate the large prefill all-reduce.
|
||||||
|
if not aiter_fusion_resolved and not envs.SGLANG_M3_ALLOW_CUSTOM_AR.get():
|
||||||
overrides["disable_custom_all_reduce"] = True
|
overrides["disable_custom_all_reduce"] = True
|
||||||
elif is_sm100_supported():
|
elif is_sm100_supported():
|
||||||
if server_args.is_attention_backend_not_set():
|
if server_args.is_attention_backend_not_set():
|
||||||
|
|||||||
@@ -815,6 +815,11 @@ class Envs:
|
|||||||
# Set to 0: force disable (use default Aiter AR even with --enable-deterministic-inference)
|
# Set to 0: force disable (use default Aiter AR even with --enable-deterministic-inference)
|
||||||
SGLANG_USE_1STAGE_ALLREDUCE = EnvBool(False)
|
SGLANG_USE_1STAGE_ALLREDUCE = EnvBool(False)
|
||||||
SGLANG_OPT_USE_CUSTOM_ALL_REDUCE_V2 = EnvBool(True)
|
SGLANG_OPT_USE_CUSTOM_ALL_REDUCE_V2 = EnvBool(True)
|
||||||
|
# MiniMax-M3 on ROCm force-disables custom all-reduce in its model override
|
||||||
|
# (arg_groups/overrides.py) when aiter all-reduce fusion is off. Set this to
|
||||||
|
# opt back in and keep custom/quick all-reduce enabled -- e.g. to run the
|
||||||
|
# INT4 quick-reduce path via ROCM_QUICK_REDUCE_QUANTIZATION={INT4,INT6,INT8}.
|
||||||
|
SGLANG_M3_ALLOW_CUSTOM_AR = EnvBool(False)
|
||||||
# Default per-direction workspace cap for CustomAllReduceV2; explicit
|
# Default per-direction workspace cap for CustomAllReduceV2; explicit
|
||||||
# constructor sizes take precedence over this.
|
# constructor sizes take precedence over this.
|
||||||
SGLANG_CUSTOM_ALL_REDUCE_V2_MAX_SIZE_KB = EnvInt(16 * 1024)
|
SGLANG_CUSTOM_ALL_REDUCE_V2_MAX_SIZE_KB = EnvInt(16 * 1024)
|
||||||
|
|||||||
Reference in New Issue
Block a user