Local AI & Edge

AMD ports MONAILabel 0.8.5 to ROCm 10.0 for Instinct MI355X medical imaging

Key Takeaway

AMD enabled MONAILabel 0.8.5 to run on Instinct MI355X GPUs through ROCm 10.0 with only three changed files, achieving 131× faster inference than CPU while maintaining numerical parity.

Summary

AMD has released an Early Access port of MONAILabel 0.8.5 for AMD Instinct GPUs as part of its AMD Life Science 26.08 stack, which supports ROCm 10.0. MONAILabel is an open-source active-learning annotation server developed by Project MONAI that allows radiologists and researchers to interactively label 3D CT and MRI volumes using AI-assisted suggestions. The port required changes to only three files—two Python utilities for GPU memory monitoring and REST endpoint backend detection, plus Dockerfile documentation—because PyTorch-ROCm presents HIP as torch.cuda.*, making existing MONAI model configs and bundles run without modification.

Performance testing on an AMD Instinct MI355X showed model inference running 131× faster than the same fp32 workload on an AMD Ryzen Threadripper PRO 7955WX CPU baseline, with per-volume inference completing in 0.05–0.12 seconds using bf16 autocast. A single 96³ sliding-window patch through the BasicUNet-3D backbone runs in 5.5–7.8 ms. CPU-GPU numerical parity showed maximum absolute error of approximately 4.6×10⁻⁶, well within tolerance. Notably, with inference now sub-second, pre-processing and file I/O have become the dominant bottleneck, accounting for 94–99% of warm annotation request latency.

ROCm port architecture and performance characteristics

  • Minimal port surface: The entire functional ROCm enablement spans three files: monailabel/utils/others/generic.py adds rocm-smi --showmeminfo vram --csv fallback for VRAM monitoring when nvidia-smi is absent; monailabel/endpoints/logs.py makes the /gpu REST endpoint backend-agnostic; and the Dockerfile documents AMD ROCm base images and PyPI wheel index alongside existing CUDA instructions.
  • Framework-transparent compute: All GPU execution routes through PyTorch-ROCm, where HIP exposes itself as torch.cuda.* APIs, meaning no Python API changes, no new GPU kernels, and no modifications to existing model configs, sample apps, or MONAI bundles.
  • Inference performance: Volume-level fp32 inference on MI355X with ROCm 10.0 achieves 131× median speedup versus the same model on a 32-thread-pinned AMD Ryzen Threadripper PRO 7955WX CPU; bf16 autocast reduces per-volume inference to approximately 0.05–0.12 s, with fp32 at 0.13–0.28 s.
  • Numerical parity verification: Maximum absolute error between CPU and GPU outputs is approximately 4.6×10⁻⁶, within float32 accumulation rounding and far below the 5×10⁻² tolerance; the offline unit test suite passes 57/57 tests on the MONAILabel 0.8.5 wheel.

Why it matters

This port demonstrates that ROCm can achieve competitive performance in specialized medical imaging workflows without requiring ecosystem forks or kernel rewrites, lowering the barrier for clinical research institutions to adopt AMD Instinct hardware. Because upstream MONAI updates will automatically inherit AMD GPU support through the PyTorch abstraction layer, maintenance burden is minimized for both AMD and the open-source community. The explicit CPU baseline methodology and numerical parity validation also set a reproducibility standard that benefits independent verification of vendor performance claims in regulated medical AI contexts.

Original reference: rocm.blogs.amd.com →