Asv benchmarks in ci#1699
Conversation
Greptile SummaryThis PR adds a new nightly GitHub Actions workflow (
Important Files Changed
Reviews (1): Last reviewed commit: "Merge branch 'main' into asv-benchmarks-..." | Re-trigger Greptile |
| # REMOVE this push trigger before merging. | ||
| push: | ||
| branches: | ||
| - asv-benchmarks-in-ci |
There was a problem hiding this comment.
Push trigger left in — explicitly marked for removal
The push block (lines 49–52) carries an inline comment saying "REMOVE this push trigger before merging." It fires on every push to asv-benchmarks-in-ci, burning a GPU H100 runner slot and artifact storage each time. If that branch persists after the merge, the trigger will keep firing on any future pushes to it.
| git config --global --add safe.directory "$GITHUB_WORKSPACE" | ||
| git config --global --add safe.directory '*' |
There was a problem hiding this comment.
Overly-broad
safe.directory bypass
git config --global --add safe.directory '*' disables git's ownership guard for every directory on the runner, not just $GITHUB_WORKSPACE. The first line already covers the specific workspace path; the wildcard is unnecessary. Narrowing to $GITHUB_WORKSPACE alone is sufficient for asv's needs.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
| - name: Publish ASV HTML report | ||
| if: ${{ !cancelled() }} | ||
| run: | | ||
| uv run --no-sync asv publish |
There was a problem hiding this comment.
Publish and upload steps run even on fatal benchmark infrastructure failures
if: ${{ !cancelled() }} is true even when the "Run ASV benchmarks" step exits with a fatal non-2 code. In that case asv publish runs against an empty .asv/results/ directory. Adding && steps.run-benchmarks.outcome != 'failure' (or giving the step an id and checking its outcome) would avoid publishing vacuous artifacts.
ktangsali
left a comment
There was a problem hiding this comment.
Looks good, just added a minor comment about cuda versions.
| name: ASV Benchmarks | ||
| runs-on: linux-amd64-gpu-h100-latest-1 | ||
| container: | ||
| image: nvidia/cuda:12.8.1-cudnn-devel-ubuntu24.04 |
There was a problem hiding this comment.
curious, any particular reason to keep it at cuda 12.8 instead of the latest one?
There was a problem hiding this comment.
Yup. I'm scared, thats' why 😅
There was a problem hiding this comment.
You are right though we should update our CI to cuda13. We should do it in one swoop, but it should probably go separately from this.
This PR will run our ASV benchmarks nightly in CI.
It doesn't track over time, yet, but it will generate the plots for perf reasons at least.
Description
Checklist
Dependencies
Review Process
All PRs are reviewed by the PhysicsNeMo team before merging.
Depending on which files are changed, GitHub may automatically assign a maintainer for review.
We are also testing AI-based code review tools (e.g., Greptile), which may add automated comments with a confidence score.
This score reflects the AI’s assessment of merge readiness and is not a qualitative judgment of your work, nor is
it an indication that the PR will be accepted / rejected.
AI-generated feedback should be reviewed critically for usefulness.
You are not required to respond to every AI comment, but they are intended to help both authors and reviewers.
Please react to Greptile comments with 👍 or 👎 to provide feedback on their accuracy.