Skip to content

Clean up configuration ownership and redundant defaults after PR #2127 / 清理 PR #2127 后的配置归属与冗余默认值 #2150

Description

@cquil11

Summary

Follow up after #2127 merges to clean up configuration ownership and redundant shell defaults across the multi-node DSV4 Agentic path.

Do not modify #2127 for this cleanup; preserve its validated sweep and /reuse-sweep-run merge path. Start the implementation from main after #2127 is merged.

Cleanup rules

Apply these rules consistently across every file introduced or modified by #2127:

  • Caller/workflow-owned inputs must be required and consumed directly. Do not add ${VAR:-default} after the caller has already supplied or validated the variable.
  • Recipe-owned policy must be assigned once as an explicit value in the recipe.
  • Retain an environment override only when it is an intentional, documented interface with a real caller or operational use.
  • Remove pass-through self-assignments such as export MODEL_PATH=$MODEL_PATH when they do not change scope or behavior.
  • Restore unrelated global behavior to main or move it to a separate infrastructure PR.
  • Keep the DSV4 recipe specific to dsv4-fp4-mi355x-sglang-disagg-agentic-hicache.

Initial findings

benchmarks/multi_node/agentic/dsv4_fp4_mi355x_sglang-disagg.sh

Audit every assignment. In particular:

  • DURATION and KV_OFFLOADING are already checked by check_env_vars; consume them directly without defaults.
  • MODEL_PREFIX, PRECISION, RESULT_FILENAME, MAX_MODEL_LEN, topology, concurrency, and framework values are supplied by the reusable workflow or launcher; do not silently replace them.
  • Decide explicitly which of TIME_LIMIT, HiCache settings, MoRI queue tuning, router policy, metrics, and MTP settings are recipe-owned constants versus real supported caller inputs.
  • Remove redundant self-exports and fallback chains.
  • Derive EP/DP flags from already-required topology inputs without adding fallback values.

Shared runtime files

Review these against the same ownership model:

  • benchmarks/multi_node/amd_utils/env.sh
  • benchmarks/multi_node/amd_utils/job.slurm
  • benchmarks/multi_node/amd_utils/models.yaml
  • benchmarks/multi_node/amd_utils/server_sglang.sh
  • benchmarks/multi_node/amd_utils/setup_deps.sh
  • benchmarks/multi_node/amd_utils/submit.sh
  • benchmarks/multi_node/amd_utils/trace_replay.sh
  • runners/launch_mi355x-amds.sh

For each added default or override, identify its owner and caller before retaining it.

Generic infrastructure scope

Reassess generic changes separately from recipe cleanup:

  • .github/workflows/run-sweep.yml array serialization for multi-node Agentic conc-list/conc.
  • utils/matrix_logic/generate_sweep_configs.py changing from up to four concurrencies per allocation to one allocation per concurrency.

The workflow serialization fix may be valid generic infrastructure, but should not be hidden inside a recipe cleanup. The global one-concurrency scheduling policy requires an explicit independent decision.

Validation

After cleanup:

中文说明

#2127 合并后,针对多节点 DSV4 Agentic 路径进行一次独立的配置归属和冗余默认值清理。不要为了本次清理继续修改 #2127,以免影响已经验证通过的扫描结果和 /reuse-sweep-run 合并流程;实现应从 #2127 合并后的 main 开始。

统一遵循以下规则:

  • 由 workflow 或调用方提供的输入必须直接使用;如果变量已经由调用方设置或通过校验,不要再次使用 ${VAR:-default}
  • 属于配方自身策略的参数应在配方中明确赋值一次。
  • 只有确实存在调用方或运维场景、并作为正式接口记录的参数,才保留环境变量覆盖能力。
  • 删除不改变作用域或行为的自赋值,例如 export MODEL_PATH=$MODEL_PATH
  • 与配方无关的全局行为应恢复到 main,或拆分为独立的基础设施 PR。
  • DSV4 配方应仅服务于 dsv4-fp4-mi355x-sglang-disagg-agentic-hicache

需要逐文件审查 #2127 涉及的 recipe、共享 runtime、launcher、workflow 和 matrix 逻辑,明确每个默认值和覆盖项的所有者及真实调用链。清理完成后,执行 Shell、YAML、Python、矩阵逻辑、Agentic 聚合以及相关 dry-run 验证,并确认没有修改无关的既有配置。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions