跳转至

config.py — 分析器配置

文件路径: verl/utils/profiler/config.py

文件概述

定义各种分析后端的配置 dataclass 和推理引擎分析器参数构建函数。

核心配置类

ProfilerConfig — 统一分析器配置

@dataclass
class ProfilerConfig(BaseConfig):
    tool: Optional[str] = MISSING        # "nsys" / "torch" / "npu" / "torch_memory"
    enable: bool = False                  # 是否启用
    all_ranks: bool = False               # 是否分析所有 rank
    ranks: list[int] = field(default_factory=list)  # 指定分析的 rank
    save_path: Optional[str] = MISSING    # 保存路径
    tool_config: Any = MISSING            # 工具特定配置

NsightToolConfig / TorchProfilerToolConfig / NPUToolConfig

@dataclass
class TorchProfilerToolConfig(BaseConfig):
    contents: list[str] = field(default_factory=list)  # ["cuda", "cpu", "memory", "shapes", "stack"]
    discrete: bool = False  # 每个任务独立的数据库

推理引擎分析器参数

def build_vllm_profiler_args(profiler_config, tool_config, rank):
    """为 vLLM 构建分析器参数"""

def build_sglang_profiler_args(profiler_config, tool_config, rank):
    """为 SGLang 构建分析器参数"""

与其他模块的关系

  • 被 profile.py 中的 DistProfiler 使用
  • 被各分析后端的 Profiler 类使用

小结

分析器的配置层,定义了所有分析后端的配置选项。