Skip to content

Add Dockerfile for ARM64/DGX Spark support#85

Open
LalithShiyam wants to merge 2 commits intocoendevente:mainfrom
LalithShiyam:add-arm64-dockerfile
Open

Add Dockerfile for ARM64/DGX Spark support#85
LalithShiyam wants to merge 2 commits intocoendevente:mainfrom
LalithShiyam:add-arm64-dockerfile

Conversation

@LalithShiyam
Copy link
Copy Markdown

Summary

This PR adds ARM64 support for running the nnInteractive server on NVIDIA DGX Spark systems (and other ARM64 platforms with NVIDIA GPUs).

Key changes:

  • Added Dockerfile.arm64 using NVIDIA NGC PyTorch 25.01 container as base
  • Uses NGC PyTorch which is properly compiled for ARM64 with CUDA support
  • Preserves NGC PyTorch during dependency installation (pip would otherwise install CPU-only version)
  • Pins numpy<2 for compatibility with NGC PyTorch (compiled against NumPy 1.x)

Tested on:

  • NVIDIA DGX Spark with GB10 GPU
  • CUDA 12.8 / Driver 580.95

Build & Run:

cd server
docker build -f Dockerfile.arm64 -t nninteractive-slicer-server:arm64 .
docker run --gpus all -p 1527:1527 --ipc=host nninteractive-slicer-server:arm64

Test plan

  • Built image on DGX Spark (ARM64)
  • Verified PyTorch CUDA availability
  • Server starts and accepts connections from 3D Slicer

🤖 Generated with Claude Code

- Uses NVIDIA NGC PyTorch 25.01 container for proper ARM64 CUDA support
- Preserves NGC PyTorch to avoid CPU-only pip version
- Pins numpy<2 for compatibility with NGC PyTorch
- Tested on DGX Spark with NVIDIA GB10 GPU

Co-Authored-By: Claude <noreply@anthropic.com>

Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>

Generated with Claude Code
@LalithShiyam
Copy link
Copy Markdown
Author

Hi @coendevente, thanks a lot for the great work on this project.

We are using DGX Spark as our primary platform for running SlicerNNInteractive. Since the hardware is very recent, we ran into a few expected compatibility issues (e.g., CUDA 13.0, sm_121). Recent PyTorch releases and updated NGC base images resolve most of these problems.

This PR adds a new Dockerfile that installs and runs SlicerNNInteractive cleanly on DGX systems. The goal is to provide a reproducible setup for DGX-class hardware without requiring manual workarounds.

Happy to adjust or iterate if you prefer a different approach.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant