Configure and call dumper in main SGLang logic (#19093)
This commit is contained in:
@@ -20,9 +20,7 @@ def main(args):
|
||||
)
|
||||
if args.filter:
|
||||
df_target = df_target.filter(pl.col("filename").str.contains(args.filter))
|
||||
assert all(
|
||||
c in df_target.columns for c in ["rank", "step", "dump_index", "name"]
|
||||
)
|
||||
assert all(c in df_target.columns for c in ["rank", "step", "dump_index", "name"])
|
||||
|
||||
df_baseline = read_meta(args.baseline_path)
|
||||
print("df_target", df_target)
|
||||
@@ -41,9 +39,7 @@ def main(args):
|
||||
baseline_step = location_info.baseline_step
|
||||
baseline_token_slice = location_info.baseline_token_slice
|
||||
else:
|
||||
baseline_step = (
|
||||
row["step"] - args.start_id + args.baseline_start_id
|
||||
)
|
||||
baseline_step = row["step"] - args.start_id + args.baseline_start_id
|
||||
baseline_token_slice = None
|
||||
|
||||
tensor_dim_desc = None
|
||||
|
||||
@@ -168,6 +168,10 @@ class _Dumper:
|
||||
|
||||
# ------------------------------- public :: core ---------------------------------
|
||||
|
||||
@property
|
||||
def may_enable(self) -> bool:
|
||||
return self._config.enable or self._config.server_port_parsed is not None
|
||||
|
||||
def step(self):
|
||||
"""This should be called on all ranks at the end of each iteration."""
|
||||
|
||||
@@ -237,6 +241,7 @@ class _Dumper:
|
||||
self,
|
||||
model: "torch.nn.Module",
|
||||
) -> Optional["_NonIntrusiveDumper"]:
|
||||
self._ensure_http_server()
|
||||
mode = self._config.non_intrusive_mode
|
||||
if mode == "off":
|
||||
return None
|
||||
|
||||
@@ -50,6 +50,7 @@ from sglang.srt.configs.load_config import LoadConfig, LoadFormat
|
||||
from sglang.srt.configs.model_config import AttentionArch, ModelConfig, ModelImpl
|
||||
from sglang.srt.configs.update_config import adjust_config_with_unaligned_cpu_tp
|
||||
from sglang.srt.constants import GPU_MEMORY_TYPE_WEIGHTS
|
||||
from sglang.srt.debug_utils.dumper import dumper
|
||||
from sglang.srt.debug_utils.tensor_dump_forward_hook import (
|
||||
register_forward_hook_for_model,
|
||||
)
|
||||
@@ -1055,6 +1056,9 @@ class ModelRunner(ModelRunnerKVCacheMixin):
|
||||
self.pp_rank,
|
||||
)
|
||||
|
||||
if dumper.may_enable:
|
||||
dumper.register_non_intrusive_dumper(self.model)
|
||||
|
||||
# Pre-expand RoPE cache before CUDA Graph capture
|
||||
reserve_rope_cache_for_long_sequences(
|
||||
self.model,
|
||||
@@ -2438,6 +2442,9 @@ class ModelRunner(ModelRunnerKVCacheMixin):
|
||||
if self.eplb_manager is not None:
|
||||
self.eplb_manager.on_forward_pass_end()
|
||||
|
||||
if dumper.may_enable:
|
||||
dumper.step()
|
||||
|
||||
return output
|
||||
|
||||
def _forward_raw(
|
||||
|
||||
Reference in New Issue
Block a user