Faster-Whisper Fails to Install or Run
You attempt to install faster-whisper and hit one of these errors:
# During pip install
ERROR: Could not build wheels for ctranslate2
# During import
ImportError: libcublas.so.11: cannot open shared object file
# During model load
OSError: [Errno 2] No such file or directory: '~/.cache/huggingface/hub/...'
# During transcription
RuntimeError: CUDA failed with status CUBLAS_STATUS_NOT_INITIALIZED
Faster-whisper wraps CTranslate2, which depends on specific CUDA runtime libraries being present and compatible with your driver. These installation problems are solvable once you sort out the dependency chain on your GPU server.
Fix 1: CTranslate2 Build Failures
CTranslate2 distributes prebuilt wheels for specific CUDA versions. If pip cannot find a matching wheel, it tries to build from source and fails:
# Check your CUDA version first
nvcc --version
nvidia-smi # Shows driver-supported CUDA version
# Install the correct combination
# For CUDA 12.x (most common on modern servers):
pip install faster-whisper
# For CUDA 11.x (older servers):
pip install ctranslate2==3.24.0 # Last version supporting CUDA 11
pip install faster-whisper==0.10.1
# If builds still fail, use conda which handles CUDA dependencies:
conda install -c conda-forge faster-whisper
# Nuclear option: use the Docker image
docker run --gpus all -v /data:/data \
ghcr.io/systran/faster-whisper:latest \
--model large-v3 --device cuda /data/audio.wav
Fix 2: Missing CUDA Libraries (libcublas, libcudnn)
CTranslate2 needs cuBLAS and cuDNN shared libraries at runtime. Even with CUDA installed, these may be missing from the library path:
# Locate existing CUDA libraries
find /usr -name "libcublas*" 2>/dev/null
find /usr/local/cuda* -name "libcudnn*" 2>/dev/null
# Add CUDA libs to the library path
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
# Make it permanent
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
# If cuBLAS is genuinely missing, install it
sudo apt install libcublas-12-4 # Match your CUDA version
# If cuDNN is missing
sudo apt install libcudnn8 libcudnn8-dev
The specific package names vary with CUDA version. On Ubuntu, apt search cublas reveals available versions.
Fix 3: Model Download Failures
Faster-whisper downloads CTranslate2-converted models from Hugging Face on first use. This fails behind firewalls or on servers without internet access:
# Download the model manually on a machine with internet access
pip install huggingface_hub
python -c "
from huggingface_hub import snapshot_download
snapshot_download('Systran/faster-whisper-large-v3',
local_dir='./faster-whisper-large-v3')
"
# Transfer the directory to your GPU server
rsync -avz ./faster-whisper-large-v3 user@gpu-server:/models/
# Load from the local path instead of model name
from faster_whisper import WhisperModel
model = WhisperModel("/models/faster-whisper-large-v3",
device="cuda", compute_type="float16")
# Alternative: set HuggingFace cache directory
export HF_HOME=/data/hf_cache
# Then faster-whisper will cache models under /data/hf_cache
Fix 4: CUBLAS Initialisation Errors
The CUBLAS_STATUS_NOT_INITIALIZED error means cuBLAS loaded but failed to set up a GPU context:
# Check if another process has claimed all GPU memory
nvidia-smi
# Set CUDA device explicitly before loading the model
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
from faster_whisper import WhisperModel
model = WhisperModel("large-v3", device="cuda", compute_type="float16")
# If running inside Docker, ensure GPU access is granted
docker run --gpus all --shm-size=1g \
-v /models:/models \
your-whisper-image python transcribe.py
# Verify CUDA is functional before loading the model
python -c "import torch; print(torch.cuda.get_device_name(0))"
Verifying a Clean Installation
After fixing installation issues, run this diagnostic to confirm everything works:
python -c "
import faster_whisper
import ctranslate2
print(f'faster-whisper: {faster_whisper.__version__}')
print(f'ctranslate2: {ctranslate2.__version__}')
print(f'CUDA available: {ctranslate2.get_cuda_device_count() > 0}')
print(f'GPU devices: {ctranslate2.get_cuda_device_count()}')
model = faster_whisper.WhisperModel('tiny', device='cuda', compute_type='float16')
print('Model loaded successfully on GPU')
"
Once the tiny model loads cleanly, switch to large-v3 for production use. For deployment guidance on your GPU server, consult the tutorials section. Our PyTorch guide covers CUDA environment setup that applies equally to CTranslate2. See the Whisper hosting page for ready-to-run configurations, the benchmarks for GPU performance data, and the infrastructure section for server management.
Pre-Configured Whisper Servers
Skip dependency headaches. GigaGPU servers come with CUDA, cuBLAS, and cuDNN ready for faster-whisper out of the box.
Browse GPU Servers