ci: Add CUDA 13.1 CI container support#2465
ci: Add CUDA 13.1 CI container support#2465bkryu wants to merge 5 commits intoflashinfer-ai:mainfrom
Conversation
Summary of ChangesHello @bkryu, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly enhances the project's infrastructure by integrating support for CUDA 13.1. This update allows the project to leverage the latest advancements in NVIDIA's GPU computing platform, ensuring that both automated testing and developer workflows can utilize the most current CUDA capabilities. The changes primarily involve setting up new container images and development environments, expanding the project's compatibility and future-proofing its GPU-accelerated components. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Ignored Files
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
📝 WalkthroughWalkthroughAdds explicit CUDA 13.1.1 (cu131) support: new devcontainer and Dockerfiles, CI matrix and tag updates, and adjustments to the Python package install script for explicit Changes
Sequence Diagram(s)sequenceDiagram
participant Dev as Developer (local)
participant VSCode as VSCode Remote
participant CI as GitHub Actions
participant Registry as Docker Registry
Dev->>VSCode: Open repo & start devcontainer (cu131)
VSCode->>Registry: Build image from `docker/Dockerfile.cu131.dev`
CI->>CI: Run release-ci-docker matrix including cuda=cu131
CI->>Registry: Build & push `flashinfer-ci-cu131:DATE_SHA`
CI->>Repo: Open/Update PR for manifests/tags including cu131
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Code Review
This pull request adds support for CUDA 13.1 CI containers, which is a welcome addition. The changes primarily involve adding new Dockerfiles and configuration files that follow the existing pattern for other CUDA versions. I've identified a couple of opportunities to improve the new Dockerfiles by applying best practices for efficiency and image size reduction. My specific comments provide details and code suggestions for these improvements.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@docker/Dockerfile.cu131.dev`:
- Around line 44-45: The ENV PATH lines that reference $USERNAME (the two lines
setting PATH) will not expand the ARG at build time and will literally store
“$USERNAME”; change them so the build-time ARG is expanded via a RUN step (e.g.,
use ARG USERNAME then a RUN that updates /etc/profile.d or modifies
/home/$USERNAME/.bashrc or symlinks to conda/bin to a static location) or
replace with the actual username string (e.g., devuser) directly in the ENV PATH
values; update the two ENV PATH entries to either be hardcoded or removed and
instead set PATH from a RUN that appends the expanded path for the ARG USERNAME
so the correct paths are available at runtime.
🧹 Nitpick comments (2)
docker/Dockerfile.cu131 (1)
6-9: Consider adding apt cache cleanup for smaller image size.The dev Dockerfile (
Dockerfile.cu131.dev) includes&& rm -rf /var/lib/apt/lists/*after apt-get install, but this file doesn't. Adding cleanup would reduce the final image size and maintain consistency.♻️ Proposed fix
RUN apt-get update && apt-get install -y \ curl \ git \ - wget + wget \ + && rm -rf /var/lib/apt/lists/*.devcontainer/cu131/devcontainer.json (1)
2-2: Use CUDA version-specific container names for clarity.All devcontainer configurations currently use the generic name "CUDA Development Container" regardless of CUDA version. Consider updating to version-specific names (e.g., "CUDA 13.1 Development Container") to improve clarity when multiple containers are listed in development tools or Docker clients.
♻️ Proposed fix
{ - "name": "CUDA Development Container", + "name": "CUDA 13.1 Development Container", "build": {
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@docker/install/install_python_packages.sh`:
- Around line 32-35: The CUDA 13.1 branch uses an invalid `cuda-python==13.1`
spec and an incorrect cuDNN constraint; update the cu131 branch so when
`CUDA_VERSION` == "cu131" the pip installs use a valid cuda-python version
(e.g., `cuda-python==13.1.0`) and the cu13 cudnn package supporting CUDA 13.1
(use `nvidia-cudnn-cu13>=9.18.1.3`), keeping the installs tied to the
`CUDA_VERSION` conditional and using the existing `CUDA_VERSION` check and pip3
install commands to locate where to change.
|
Closing in favor of #2774 |
|
sorry I didn't notice this |
📌 Description
Description:
This PR adds support for CUDA 13.1 CI containers based on the newly released nvidia/cuda:13.1.1-devel-ubuntu24.04 base image.
Changes:
docker/Dockerfile.cu131anddocker/Dockerfile.cu131.devfollowing the existing cu130 pattern.devcontainer/cu131/devcontainer.jsonfor local developmentci/docker-tags.ymlwith thecu131image entry.github/workflows/release-ci-docker.ymlto build and publish cu131 imagesdocker/install/install_python_packages.shto installcuda-python==13.1for cu131 containers (previously all cu13* used 13.0)🔍 Related Issues
🚀 Pull Request Checklist
Thank you for contributing to FlashInfer! Before we review your pull request, please make sure the following items are complete.
✅ Pre-commit Checks
pre-commitby runningpip install pre-commit(or used your preferred method).pre-commit install.pre-commit run --all-filesand fixed any reported issues.🧪 Tests
unittest, etc.).Reviewer Notes
Summary by CodeRabbit