Skip to content
Open
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 27 additions & 18 deletions .github/workflows/third-party-benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,6 @@ on:
description: JSON list of benchmarks to run. Leave empty to run all benchmarks.
type: string
default: ""
use_pyenv_python:
description: Use Python built with pyenv
type: boolean
default: false
schedule:
# About midnight PST (UTC-8)
- cron: "5 10 * * *"
Expand Down Expand Up @@ -50,14 +46,7 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v5

- name: Install Python
if: ${{ !(inputs.use_pyenv_python || false) }}
uses: actions/setup-python@v6
with:
python-version: ${{ env.PYTHON_VERSION }}

- name: Install Python (from pyenv) ${{ inputs.python_version }}
if: ${{ inputs.use_pyenv_python }}
uses: ./.github/actions/setup-pyenv-python
with:
python-version: ${{ env.PYTHON_VERSION }}
Expand All @@ -77,22 +66,40 @@ jobs:
- name: Setup Triton
uses: ./.github/actions/setup-triton

- name: Install benchmark dependencies
id: install
run: |
pip install transformers pandas pytest

- name: Create reports dir
run: |
mkdir reports
echo "REPORTS=$PWD/reports" >> $GITHUB_ENV

- name: Install benchmark dependencies
id: install
run: |
pip install transformers pandas pytest

- name: Install benchmarks
id: install-benchmarks
run: |
cd benchmarks
pip install .

- name: Run sglang benchmark int8
if: ${{ steps.install-benchmarks.outcome == 'success' && !cancelled() && (inputs.benchmarks == '' || contains(fromJson(inputs.benchmarks || '[]'), 'sglang')) }}
run: |
source ./scripts/capture-hw-details.sh

cd benchmarks/third_party/sglang
python scaled_mm_benchmark.py --reports $REPORTS
python ../vllm/transform_results.py $REPORTS/scaled_mm_benchmark.csv $REPORTS/scaled-mm-int8-report.csv --tag $TAG --benchmark scaled-mm-int8 --param_cols="M,N,K"

- name: Run sglang benchmark with fp8
if: ${{ steps.install-benchmarks.outcome == 'success' && !cancelled() && (inputs.benchmarks == '' || contains(fromJson(inputs.benchmarks || '[]'), 'sglang')) }}
run: |
source ./scripts/capture-hw-details.sh

cd benchmarks/third_party/sglang
FP8="1" python scaled_mm_benchmark.py --reports $REPORTS
python ../vllm/transform_results.py $REPORTS/scaled_mm_benchmark.csv $REPORTS/scaled-mm-fp8-report.csv --tag $TAG --benchmark scaled-mm-fp8 --param_cols="M,N,K"

- name: Run vllm benchmarks bf16
if: ${{ steps.install-benchmarks.outcome == 'success' && !cancelled() && (inputs.benchmarks == '' || contains(fromJson(inputs.benchmarks || '[]'), 'vllm')) }}
run: |
Expand All @@ -103,7 +110,8 @@ jobs:

cd benchmarks/third_party/vllm
python batched_moe_benchmark.py --reports $REPORTS
python transform_results.py $REPORTS/moe-gemm-performance.csv $REPORTS/moe-gemm-report.csv --tag $TAG --benchmark moe-bf16-benchmark
python transform_results.py $REPORTS/moe-gemm-performance.csv $REPORTS/moe-gemm-report.csv --tag $TAG --benchmark moe-bf16-benchmark --param_cols="num_experts,max_tokens_per_expert,K,N"


- name: Run vllm benchmarks fp8
if: ${{ steps.install-benchmarks.outcome == 'success' && !cancelled() && (inputs.benchmarks == '' || contains(fromJson(inputs.benchmarks || '[]'), 'vllm')) }}
Expand All @@ -112,7 +120,8 @@ jobs:

cd benchmarks/third_party/vllm
FP8="1" python batched_moe_benchmark.py --reports $REPORTS
python transform_results.py $REPORTS/moe-gemm-performance.csv $REPORTS/moe-gemm-fp8-report.csv --tag $TAG --benchmark moe-fp8-benchmark
python transform_results.py $REPORTS/moe-gemm-performance.csv $REPORTS/moe-gemm-fp8-report.csv --tag $TAG --benchmark moe-fp8-benchmark --param_cols="num_experts,max_tokens_per_expert,K,N"


- name: Run Liger-Kernel benchmarks
if: ${{ steps.install.outcome == 'success' && !cancelled() && (inputs.benchmarks == '' || contains(fromJson(inputs.benchmarks || '[]'), 'liger-kernel')) }}
Expand Down
Loading
Loading