Feat/kv cache fp8 support #17
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Performance Benchmark Bot | |
| on: | |
| issue_comment: | |
| types: | |
| - created | |
| permissions: | |
| contents: read | |
| issues: write | |
| pull-requests: write | |
| concurrency: | |
| group: "${{ github.workflow }}-${{ github.ref }}" | |
| cancel-in-progress: true # always cancel in-progress | |
| env: | |
| PYTHONDEVMODE: "1" | |
| PYTHONUNBUFFERED: "1" | |
| PYTHONPATH: "" # explicit cleanup | |
| PIP_USER: "" # explicit cleanup | |
| COLUMNS: "100" | |
| FORCE_COLOR: "1" | |
| CLICOLOR_FORCE: "1" | |
| XDG_CACHE_HOME: "${{ github.workspace }}/.cache" # to be updated | |
| PIP_CACHE_DIR: "${{ github.workspace }}/.cache/pip" # to be updated | |
| jobs: | |
| perfbench: | |
| name: Benchmark between PR and main | |
| if: | | |
| github.repository_owner == 'zhijie-group' && | |
| github.event.issue.pull_request && | |
| (contains(github.event.comment.body, '/performance-report') || contains(github.event.comment.body, '/perf')) | |
| runs-on: [self-hosted, nvidia] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| with: | |
| ref: refs/pull/${{ github.event.issue.number }}/merge | |
| fetch-depth: 0 | |
| submodules: recursive | |
| - name: Setup Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.12" | |
| update-environment: true | |
| cache: pip | |
| cache-dependency-path: | | |
| pyproject.toml | |
| requirements*.txt | |
| - name: Install merged version | |
| run: | | |
| python -m venv tll | |
| source tll/bin/activate | |
| pip install -r requirements-test.txt | |
| pip install . | |
| - name: Install original version | |
| run: | | |
| echo "Check files to be deleted!" | |
| git clean -dxf -e tll/ | |
| echo "Delete files completed!" | |
| git checkout main | |
| python -m venv tl | |
| source tl/bin/activate | |
| pip install -r requirements-test.txt | |
| pip install . | |
| - name: Run performance test | |
| id: perfbench | |
| run: | | |
| source tl/bin/activate | |
| python maint/scripts/ci_performance.py | |
| - name: Post test results as PR comment | |
| uses: actions/github-script@v8 | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| script: | | |
| github.rest.issues.createComment({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| issue_number: context.issue.number, | |
| body: '📊 **Performance Test Results** (triggered by @' + context.payload.comment.user.login + '):\n\n' + | |
| 'Run listed here: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}\n\n' + | |
| "${{ steps.perfbench.outputs.stdout }}" | |
| }) |