diff --git a/.github/benchmark/models_atomesh.yaml b/.github/benchmark/models_atomesh.yaml index 182d95edad..89131b9df5 100644 --- a/.github/benchmark/models_atomesh.yaml +++ b/.github/benchmark/models_atomesh.yaml @@ -100,6 +100,8 @@ models: workers: 1 tp: 8 extra_args: "--enable-dp-attention --enable-tbo" + benchmark: + wait_server_timeout: 4500 run_eval: true accuracy: @@ -145,9 +147,7 @@ models: decode: HIP_VISIBLE_DEVICES: "4,5,6,7" benchmark: - wait_server_timeout: 1800 - runner: - time_limit: "04:00:00" + wait_server_timeout: 4500 run_eval: true eval_concurrency: [64, 256] @@ -165,9 +165,7 @@ models: workers: 1 tp: 4 benchmark: - wait_server_timeout: 1800 - runner: - time_limit: "06:00:00" + wait_server_timeout: 4500 run_eval: true eval_concurrency: [128, 768] @@ -224,8 +222,6 @@ models: HIP_VISIBLE_DEVICES: "4,5,6,7" benchmark: wait_server_timeout: 1800 - runner: - time_limit: "04:00:00" run_eval: true eval_concurrency: [64, 256] @@ -249,8 +245,6 @@ models: extra_args: "--enable-dp-attention" benchmark: wait_server_timeout: 1800 - runner: - time_limit: "04:00:00" run_eval: true eval_concurrency: [256, 512, 768, 1024] @@ -279,8 +273,6 @@ models: HIP_VISIBLE_DEVICES: "4,5,6,7" benchmark: wait_server_timeout: 1800 - runner: - time_limit: "04:00:00" run_eval: true eval_concurrency: [64, 256] @@ -307,8 +299,6 @@ models: extra_args: "--enable-dp-attention" benchmark: wait_server_timeout: 1800 - runner: - time_limit: "04:00:00" run_eval: true eval_concurrency: [256, 512, 768, 1024] @@ -370,8 +360,6 @@ models: HIP_VISIBLE_DEVICES: "4,5,6,7" benchmark: wait_server_timeout: 1800 - runner: - time_limit: "04:00:00" run_eval: true eval_concurrency: [64, 256] @@ -396,8 +384,6 @@ models: extra_args: "--enable-dp-attention" benchmark: wait_server_timeout: 1800 - runner: - time_limit: "04:00:00" run_eval: true eval_concurrency: [256, 512, 768, 1024] @@ -426,8 +412,6 @@ models: HIP_VISIBLE_DEVICES: "4,5,6,7" benchmark: wait_server_timeout: 1800 - runner: - time_limit: "04:00:00" run_eval: true eval_concurrency: [64, 256] @@ -455,8 +439,6 @@ models: extra_args: "--enable-dp-attention" benchmark: wait_server_timeout: 1800 - runner: - time_limit: "04:00:00" run_eval: true eval_concurrency: [256, 512, 768, 1024] diff --git a/.github/scripts/atomesh_mocker_benchmark.sh b/.github/scripts/atomesh/atomesh_mocker_benchmark.sh similarity index 99% rename from .github/scripts/atomesh_mocker_benchmark.sh rename to .github/scripts/atomesh/atomesh_mocker_benchmark.sh index c963dc9565..6bcacf2086 100755 --- a/.github/scripts/atomesh_mocker_benchmark.sh +++ b/.github/scripts/atomesh/atomesh_mocker_benchmark.sh @@ -12,7 +12,7 @@ DECODE_WORKERS="${DECODE_WORKERS:-1}" POLICY="${POLICY:-round_robin}" RESULT_DIR="${RESULT_DIR:-atomesh-mocker-results}" -REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)" MESH_DIR="${REPO_ROOT}/atom/mesh" MOCKER_DIR="${MESH_DIR}/mocker" MOCKER_TARGET_DIR="${MOCKER_DIR}/target/mocker" diff --git a/.github/scripts/atomesh_mocker_benchmark_summary.py b/.github/scripts/atomesh/atomesh_mocker_benchmark_summary.py similarity index 98% rename from .github/scripts/atomesh_mocker_benchmark_summary.py rename to .github/scripts/atomesh/atomesh_mocker_benchmark_summary.py index 03fb2d3e97..dcb753cb87 100644 --- a/.github/scripts/atomesh_mocker_benchmark_summary.py +++ b/.github/scripts/atomesh/atomesh_mocker_benchmark_summary.py @@ -27,7 +27,7 @@ def parse_args() -> argparse.Namespace: ) parser.add_argument( "--benchmark-script", - default=".github/scripts/atomesh_mocker_benchmark.sh", + default=".github/scripts/atomesh/atomesh_mocker_benchmark.sh", help="Single-cell benchmark script to invoke.", ) return parser.parse_args() diff --git a/.github/scripts/atomesh/pd_server_atom.sh b/.github/scripts/atomesh/pd_server_atom.sh index 501b0ba0cd..31410f55e2 100644 --- a/.github/scripts/atomesh/pd_server_atom.sh +++ b/.github/scripts/atomesh/pd_server_atom.sh @@ -84,7 +84,8 @@ EVAL_CONCURRENCY="${EVAL_CONCURRENCY:-16}" WAIT_SERVER_TIMEOUT="${WAIT_SERVER_TIMEOUT:-2500}" WAIT_ROUTER_TIMEOUT="${WAIT_ROUTER_TIMEOUT:-300}" -mkdir -p "${RUN_DIR}"/{logs,benchmark_results,eval_results} +export ATOM_TORCH_PROFILER_DIR="${ATOM_TORCH_PROFILER_DIR:-${RUN_DIR}/online_quant/rank-${NODE_RANK}}" +mkdir -p "${RUN_DIR}"/{logs,benchmark_results,eval_results} "${ATOM_TORCH_PROFILER_DIR}" role_tp="${PREFILL_TP_SIZE}" if [[ "${PREFILL_SINGLE_NODE_PD}" == "1" && "${NODE_RANK}" -gt 0 ]]; then diff --git a/.github/workflows/atom-sglang-test.yaml b/.github/workflows/atom-sglang-test.yaml index 662c733b83..1fb33dd5aa 100644 --- a/.github/workflows/atom-sglang-test.yaml +++ b/.github/workflows/atom-sglang-test.yaml @@ -9,9 +9,9 @@ on: - 'docs/**' - 'atom/plugin/vllm/**' - 'atom/mesh/**' + - '.github/benchmark/models_atomesh.yaml' + - '.github/scripts/atomesh/**' - '.github/workflows/atomesh-*.yaml' - - '.github/scripts/atomesh_*.sh' - - '.github/dashboard/atomesh_*.html' - '.github/workflows/atom-vllm-*.yaml' - '.github/benchmark/oot_models_accuracy.json' - 'LICENSE' diff --git a/.github/workflows/atom-test.yaml b/.github/workflows/atom-test.yaml index 01ad738663..0d095f07c0 100644 --- a/.github/workflows/atom-test.yaml +++ b/.github/workflows/atom-test.yaml @@ -11,9 +11,9 @@ on: - 'docs/**' - 'atom/plugin/**' - 'atom/mesh/**' + - '.github/benchmark/models_atomesh.yaml' + - '.github/scripts/atomesh/**' - '.github/workflows/atomesh-*.yaml' - - '.github/scripts/atomesh_*.sh' - - '.github/dashboard/atomesh_*.html' - '.github/workflows/atom-vllm-*.yaml' - '.github/workflows/atom-sglang-*.yaml' - '.github/benchmark/oot_models_accuracy.json' diff --git a/.github/workflows/atom-vllm-test.yaml b/.github/workflows/atom-vllm-test.yaml index e4b3fa9e05..69da002e78 100644 --- a/.github/workflows/atom-vllm-test.yaml +++ b/.github/workflows/atom-vllm-test.yaml @@ -9,9 +9,9 @@ on: - 'docs/**' - 'atom/plugin/sglang/**' - 'atom/mesh/**' + - '.github/benchmark/models_atomesh.yaml' + - '.github/scripts/atomesh/**' - '.github/workflows/atomesh-*.yaml' - - '.github/scripts/atomesh_*.sh' - - '.github/dashboard/atomesh_*.html' - '.github/workflows/atom-sglang-*.yaml' - '.github/benchmark/sglang_models_accuracy.json' - 'LICENSE' diff --git a/.github/workflows/atomesh-benchmark.yaml b/.github/workflows/atomesh-benchmark.yaml index fd344bb7c4..e8119f15d1 100644 --- a/.github/workflows/atomesh-benchmark.yaml +++ b/.github/workflows/atomesh-benchmark.yaml @@ -419,6 +419,8 @@ jobs: ) PY + cp .github/dashboard/index.html /tmp/atomesh_dashboard_index.html + - name: Deploy ATOMesh dashboard markdown to gh-pages run: | set -euo pipefail @@ -429,8 +431,9 @@ jobs: git checkout gh-pages mkdir -p benchmark-dashboard + cp /tmp/atomesh_dashboard_index.html benchmark-dashboard/index.html cp /tmp/atomesh_summary.js benchmark-dashboard/atomesh_summary.js - git add benchmark-dashboard/atomesh_summary.js + git add benchmark-dashboard/index.html benchmark-dashboard/atomesh_summary.js git diff --cached --quiet || git commit -m "Update ATOMesh benchmark dashboard" git push origin gh-pages diff --git a/.github/workflows/atomesh-mocker-benchmark.yaml b/.github/workflows/atomesh-mocker-benchmark.yaml index 46fbe6d03a..81db358a3e 100644 --- a/.github/workflows/atomesh-mocker-benchmark.yaml +++ b/.github/workflows/atomesh-mocker-benchmark.yaml @@ -5,7 +5,8 @@ on: branches: [main] paths: - 'atom/mesh/**' - - '.github/scripts/atomesh_mocker_benchmark.sh' + - '.github/scripts/atomesh/atomesh_mocker_benchmark.sh' + - '.github/scripts/atomesh/atomesh_mocker_benchmark_summary.py' - '.github/workflows/atomesh-mocker-benchmark.yaml' - '.github/dashboard/atomesh_mocker_index.html' - 'docs/assets/atomesh_logo.png' @@ -14,7 +15,8 @@ on: types: [opened, synchronize, reopened, ready_for_review] paths: - 'atom/mesh/**' - - '.github/scripts/atomesh_mocker_benchmark.sh' + - '.github/scripts/atomesh/atomesh_mocker_benchmark.sh' + - '.github/scripts/atomesh/atomesh_mocker_benchmark_summary.py' - '.github/workflows/atomesh-mocker-benchmark.yaml' - '.github/dashboard/atomesh_mocker_index.html' - 'docs/assets/atomesh_logo.png' @@ -170,8 +172,8 @@ jobs: RESULT_DIR: atomesh-mocker-results run: | set -euo pipefail - chmod +x .github/scripts/atomesh_mocker_benchmark.sh - python3 .github/scripts/atomesh_mocker_benchmark_summary.py + chmod +x .github/scripts/atomesh/atomesh_mocker_benchmark.sh + python3 .github/scripts/atomesh/atomesh_mocker_benchmark_summary.py - name: Dump mocker benchmark-request log if: always()