DSV4-Pro / Pro6000D / 2-Node / SGLang Timeline Profiling
Phase 3 captures short distributed timelines for the completed TP16 baseline. It does not rerun Phase 2 hardware sampling or communication microbenchmarks.
One entry point
Run only on Head 174.1.51.5:
cd /data/hzy/sskj/experiments/pro6000/dsv4pro_pro6000d_2node_sglang_timeline_profiling
bash run_timeline_profiling.sh audit
DRY_RUN=1 RUN_ID=dsv4pro-phase3-dryrun-$(date +%Y%m%d-%H%M%S) \
bash run_timeline_profiling.sh all
RUN_ID=dsv4pro-phase3-torch-smoke-$(date +%Y%m%d-%H%M%S) \
bash run_timeline_profiling.sh torch-smoke
RUN_ID=dsv4pro-phase3-nsys-smoke-$(date +%Y%m%d-%H%M%S) \
bash run_timeline_profiling.sh nsys-smoke
After both smoke tests pass, run the three formal capture ranges in one model service lifetime:
RUN_ID=dsv4pro-phase3-$(date +%Y%m%d-%H%M%S)
tmux new-session -d -s dsv4pro-phase3 \
"RUN_ID=${RUN_ID} bash run_timeline_profiling.sh all \
2>&1 | tee /data/hzy/${RUN_ID}.log"
tmux attach -t dsv4pro-phase3
The script starts and stops both nodes, triggers /start_profile, retrieves
Worker artifacts, exports basic nsys stats, and cleans containers and Worker
staging paths. No source, Conda activation, or command on Worker is required.
Formal ranges
decode_control:1K -> 256,C=32.mixed_decode_with_128k_prefill: active1K -> 512,C=32decode plus one128K -> 1injection.long_prefill: isolated128K -> 1,C=1.
The primary run keeps CUDA Graph enabled. A later layer-wise NVTX run with disabled graphs is allowed only if these production-faithful traces cannot map the dominant kernels to model components.
Outputs
results/<RUN_ID>/
manifest.json
service/
cases/
profiles/head/
nsys/
torch/
profiles/worker/
nsys/
torch/
Profiler runs are diagnostic and must not replace the Phase 2 no-profiler TPS baseline.