Skip to content

[Bug] latest-cuda image: CTranslate2 not compiled with CUDA support on ARM64 (aarch64) — NVIDIA DGX Spark / Grace Hopper #620

Description

@Roknam

Environment

Item Details
Hardware NVIDIA DGX Spark (Grace CPU + Hopper GPU)
Architecture linux/arm64 (aarch64)
Docker image ghcr.io/speaches-ai/speaches:latest-cuda
CUDA Version 12.6.3 (confirmed via nvidia-smi)
Container config WHISPER__INFERENCE_DEVICE=cuda, WHISPER__COMPUTE_TYPE=float16

Problem Description

When running ghcr.io/speaches-ai/speaches:latest-cuda on an ARM64 machine (NVIDIA DGX Spark with Grace CPU + Hopper GPU), any transcription request results in a 500 Internal Server Error:

ValueError: This CTranslate2 package was not compiled with CUDA support

The server starts successfully, CUDA 12.6.3 is available on the host, and nvidia-smi works correctly. However, the ctranslate2 package inside the container is a CPU-only build — not compiled with CUDA support for arm64/aarch64.

Steps to Reproduce

docker run --rm -d \\
  -p 8000:8000 --gpus=all --name speaches \\
  -v hf-hub-cache:/home/ubuntu/.cache/huggingface/hub \\
  -e WHISPER__INFERENCE_DEVICE=cuda \\
  -e WHISPER__COMPUTE_TYPE=float16 \\
  ghcr.io/speaches-ai/speaches:latest-cuda

curl http://localhost:8000/v1/audio/transcriptions \\
  -F "file=@audio.wav" \\
  -F "model=Systran/faster-whisper-large-v3" \\
  -F "language=ko"

Full Error Traceback

ValueError: This CTranslate2 package was not compiled with CUDA support
  File speaches/routers/stt.py line 183 in transcribe_file
  File speaches/executors/whisper/model_manager.py line 30 in _load_fn
  File faster_whisper/transcribe.py line 647 in __init__
    self.model = ctranslate2.models.Whisper(...)

Root Cause

The latest-cuda Docker image installs a CPU-only ctranslate2 wheel for arm64. No official ctranslate2[cuda] wheel exists for linux/arm64 on PyPI, so the build silently falls back to the CPU-only build.

Expected Behavior

ghcr.io/speaches-ai/speaches:latest-cuda should utilize GPU acceleration on ARM64 + CUDA platforms (NVIDIA DGX Spark, Grace Hopper Superchip).

Suggested Fix

For linux/arm64 builds, compile ctranslate2 from source with CUDA enabled using an NVIDIA NGC base image:

FROM nvcr.io/nvidia/cuda:12.6.0-cudnn-devel-ubuntu22.04
RUN pip install ctranslate2 --extra-index-url https://pypi.nvidia.com

Workaround

CPU mode (works but does not use the Hopper GPU):

docker run --rm -d -p 8000:8000 --name speaches \\
  -v hf-hub-cache:/home/ubuntu/.cache/huggingface/hub \\
  -e WHISPER__INFERENCE_DEVICE=cpu \\
  ghcr.io/speaches-ai/speaches:latest-cuda

Additional Context

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions