-
Notifications
You must be signed in to change notification settings - Fork 219
Update Dockerfile to work with DGX Spark #1624
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
base: main
Are you sure you want to change the base?
Conversation
…e capability for DGX Spark
… working CUDA 13 example
…on flag conflicts
…paths and compute capability
- Add CMAKE_CUDA_FLAGS to include /usr/local/cuda/include/cccl - Add CMAKE_CXX_FLAGS to include CCCL headers - CUDA 13 relocated CCCL headers to new directory structure - Fixes: fatal error: cuda/std/utility: No such file or directory
- CUDA 13.0 base image is missing cuda/std/* headers needed by CUTLASS - Clone and install CCCL v2.6.1 headers to /usr/local/cuda/include/cuda/ - Remove ineffective CMAKE_CUDA_FLAGS/CMAKE_CXX_FLAGS attempts - Fixes: fatal error: cuda/std/utility: No such file or directory
- Use CCCL v3.0.0 which is compatible with CUDA 13 - Install to /usr/local/cuda-13.0/targets/sbsa-linux/include/cccl/ (correct path) - Previous installation was using wrong version (v2.6.1) and wrong path - Copy libcudacxx, cub, and thrust headers to proper location - Fixes: missing binary operator errors in CCCL macros
- Copy libcudacxx/include/* directly to sbsa-linux/include/ to get cuda/std headers - Keep cccl/cub and cccl/thrust in the cccl subdirectory as expected - Create symlink from /usr/local/cuda/targets to cuda-13.0/targets for compatibility - Fixes: cuda/std/utility: No such file or directory error in CUTLASS
- Replace Makefile command with direct pip commands - Add --break-system-packages flag to all pip install commands - Add --system flag for system-wide installation - Preserves all previous Docker layers (no rebuild needed)
- pip does not have a --system flag - Keep only --break-system-packages flag for PEP 668 compliance - This fixes the pip installation error
- Debian-installed pip lacks RECORD file, preventing normal uninstall - Force-reinstall bypasses this issue to upgrade pip - Keeps all other commands unchanged
- Debian-installed pip cannot be upgraded due to missing RECORD file - We dont need pip upgrade, just need wheel, twine, and requests - Simplified command to only install required packages - This should resolve the installation error
- uv package manager is not installed in the base image - Replace all instances of "uv pip install --system" with "python -m pip install" - Maintains all other flags including --break-system-packages - This should resolve the "uv: not found" error
- Builder stage (lines 1-121): Use fast uv pip install (uv IS installed there) - Runtime stage (lines 122+): Use python -m pip install (uv NOT available) - This preserves all cache layers while fixing the command availability - Lines 37,96,100,108,117 restored to uv pip install --system - Lines 180,183 remain as python -m pip install
- Only inference_core and inference_gpu wheels are built - Removed attempts to install inference_cli and inference_sdk wheels - These wheels would need their own bdist_wheel commands if needed - Simplified installation to only install what exists
- Build all four wheels: core, gpu, cli, sdk - Install all four wheels in runtime stage - Essential for full container functionality - CLI provides command line interface - SDK provides programmatic access
- Move Node.js 20.x installation from builder to runtime stage - Add JupyterLab asset build in runtime container - Ensures JupyterLab works when NOTEBOOK_ENABLED=True - Preserves ONNX runtime build cache in builder stage - Tested on DGX Spark prototype with Compute Capability 12.1
|
Roboflow Build seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
- Removed unnecessary entrypoint.sh COPY and chmod commands - Restored original ENTRYPOINT command - Restored modal_app.py file
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.
Remove unnecessary comments
Description
WIP
Type of change
Please delete options that are not relevant.
How has this change been tested, please provide a testcase or example of how you tested the change?
YOUR_ANSWER
Any specific deployment considerations
For example, documentation changes, usability, usage/costs, secrets, etc.
Docs