-
Notifications
You must be signed in to change notification settings - Fork 725
fix: WAR DeepGemm JIT compilation errors #2937
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: GuanLuo <gluo@nvidia.com>
|
/ok to test bf497ee |
WalkthroughThe Dockerfile for the vLLM runtime image adds cuda-command-line-tools-12-8 and introduces the CPATH environment variable pointing to /usr/local/cuda/include. CPATH is declared twice within the runtime stage. Comments clarify the need for cuobjdump/NVTools and nvcc header resolution. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Possibly related PRs
Pre-merge checks (2 passed, 1 warning)❌ Failed Checks (1 warning)
✅ Passed Checks (2 passed)
Poem
Tip 👮 Agentic pre-merge checks are now available in preview!Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs. 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (2)
container/Dockerfile.vllm (2)
202-204: Install only cuobjdump to keep the runtime slimDeepGEMM needs cuobjdump, but pulling the full cuda-command-line-tools bundle is heavier than necessary. Prefer the specific package(s) to reduce image size and attack surface.
Apply:
- ca-certificates \ - # DeepGemm uses 'cuobjdump' which does not come with CUDA image - cuda-command-line-tools-12-8 && \ + ca-certificates \ + # DeepGemm needs cuobjdump at runtime; install only the required tool + cuda-cuobjdump-12-8 && \If your CUDA repo doesn’t expose cuda-cuobjdump-12-8 for Ubuntu 24.04 yet, keep the current meta package. To confirm availability before switching, run inside an NVIDIA CUDA 12.8 runtime base:
apt-cache policy cuda-cuobjdump-12-8.
254-257: Set CPATH explicitly and fix the typoAppending to a potentially undefined CPATH can be brittle. We’ve had issues before with Docker ENV validation when appending to absent vars; setting it explicitly is safer. Also fix “complilation” → “compilation”. (Pulled from prior learning on ENV appends in Dockerfiles.)
Apply:
-# is not properly set for complilation. Set CPATH to help nvcc find the headers. -ENV CPATH=/usr/local/cuda/include:$CPATH +# is not properly set for compilation. Set CPATH so nvcc finds headers. +ENV CPATH=/usr/local/cuda/includeOptionally ensure CUDA binaries are on PATH (some runtime images already do this):
# Add near the PATH line where nvvm is added ENV PATH=/usr/local/cuda/bin:${PATH}After building the runtime image, validate:
which nvcc && nvcc --versionwhich cuobjdumpecho '#include <cuda.h>' > /tmp/t.cu && nvcc -E /tmp/t.cu -o /dev/null
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
container/Dockerfile.vllm(2 hunks)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: grahamking
PR: ai-dynamo/dynamo#1177
File: container/Dockerfile.vllm:102-105
Timestamp: 2025-05-28T22:54:46.875Z
Learning: In Dockerfiles, when appending to environment variables that may not exist in the base image, Docker validation will fail if you reference undefined variables with ${VARIABLE} syntax. In such cases, setting the environment variable directly (e.g., ENV CPATH=/usr/include) rather than appending is the appropriate approach.
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Build and Test - dynamo
|
/ok to test bf497ee |
Signed-off-by: GuanLuo <gluo@nvidia.com> Co-authored-by: Harrison Saturley-Hall <hsaturleyhal@nvidia.com> Signed-off-by: Harrison King Saturley-Hall <hsaturleyhal@nvidia.com>
Signed-off-by: GuanLuo <gluo@nvidia.com> Co-authored-by: Harrison Saturley-Hall <hsaturleyhal@nvidia.com>
Signed-off-by: GuanLuo <gluo@nvidia.com> Co-authored-by: Harrison Saturley-Hall <hsaturleyhal@nvidia.com> Signed-off-by: Indrajit Bhosale <iamindrajitb@gmail.com>
Signed-off-by: GuanLuo <gluo@nvidia.com> Co-authored-by: Harrison Saturley-Hall <hsaturleyhal@nvidia.com>
Signed-off-by: GuanLuo <gluo@nvidia.com> Co-authored-by: Harrison Saturley-Hall <hsaturleyhal@nvidia.com> Signed-off-by: hongkuanz <hongkuanz@nvidia.com>
Overview:
Details:
Where should the reviewer start?
Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)
Summary by CodeRabbit