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
Environment
linux/arm64(aarch64)ghcr.io/speaches-ai/speaches:latest-cudanvidia-smi)WHISPER__INFERENCE_DEVICE=cuda,WHISPER__COMPUTE_TYPE=float16Problem Description
When running
ghcr.io/speaches-ai/speaches:latest-cudaon an ARM64 machine (NVIDIA DGX Spark with Grace CPU + Hopper GPU), any transcription request results in a500 Internal Server Error:The server starts successfully, CUDA 12.6.3 is available on the host, and
nvidia-smiworks correctly. However, thectranslate2package inside the container is a CPU-only build — not compiled with CUDA support forarm64/aarch64.Steps to Reproduce
Full Error Traceback
Root Cause
The
latest-cudaDocker image installs a CPU-onlyctranslate2wheel forarm64. No officialctranslate2[cuda]wheel exists forlinux/arm64on PyPI, so the build silently falls back to the CPU-only build.Expected Behavior
ghcr.io/speaches-ai/speaches:latest-cudashould utilize GPU acceleration on ARM64 + CUDA platforms (NVIDIA DGX Spark, Grace Hopper Superchip).Suggested Fix
For
linux/arm64builds, compilectranslate2from source with CUDA enabled using an NVIDIA NGC base image:Workaround
CPU mode (works but does not use the Hopper GPU):
Additional Context
arm64. Thelatest-cudaimage works correctly onamd64.linux/amd64,linux/arm64) but CUDA support per platform is not clarified.