Inference engine startup included in GPU metric capture / 推理引擎启动阶段被纳入 GPU 指标采集

Abierto
#1,507 2 comentarios 2 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@arygupt ya está trabajando en esto.

Desde el 22/5/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

Describe the bug
Current scripts in the benchmarks/single_node directory (e.g., https://github.com/SemiAnalysisAI/InferenceX/blob/adbaae52ddf2569ddf2e793f5ad0a56f2f2a4d13/benchmarks/single_node/qwen3.5_fp8_mi325x.sh) follow this pattern to establish GPU monitoring for every InferenceX benchmark run:

  1. start_gpu_monitor
  2. Start LLM inference engine as a background process (e.g. SGLang, vLLM)
  3. wait_for_server_ready
  4. Run benchmark for the model (key result to report for InferenceX benchmark)
  5. stop_gpu_monitor

As-is, the GPU energy consumption and other metrics can be skewed by irregularities in LLM inference engine startup (compilation, kernel autotuning, etc) and the 5-second sleeps used while waiting for the server to start (waiting on the /health route). While cross-referencing other logs can identify some timestamps that fall outside of the actual benchmark window, there is no direct correspondence within the CSV itself.

Expected behavior
Monitoring data should only correspond to the benchmark execution window. Alternatively, providing a way to identify which portion of the data corresponds to benchmark execution would also be acceptable.

Potential solutions
Adding a marker in the gpu_metrics.csv or delaying the start_gpu_monitor calls until the benchmark is ready to run (moving step 1 above to just before step 4) can assist in disambiguating the results.

Additional context
The startup costs of pinned versions of vLLM (likely similar for other engines) should be relatively consistent for a GitHub action runner, but the inference engine's startup performance can change over successive versions. The ability to separate startup costs from the benchmark data is important.

中文说明

当前基准测试脚本在推理引擎启动之前就开始 GPU 监控(start_gpu_monitor),导致 gpu_metrics.csv 中包含引擎启动阶段(编译、内核自动调优、等待 /health 路由的休眠等)的能耗和指标数据,这会影响基准测试指标的准确性。建议将 GPU 监控延迟到基准测试实际运行前启动,或在 CSV 中添加标记以区分启动阶段和基准测试执行窗口的数据。

Lenguaje dominante
Python
Estrellas
1.9k
Forks
343
Merge medio
2 d 40 min
PR fusionados (30 d)
431

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de SemiAnalysisAI/InferenceX

Todos los issues de SemiAnalysisAI/InferenceX

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.