Introduction

If you want to run WhisperX (a multilingual automatic speech recognition model) on older NVIDIA Pascal GPUs such as the GTX 1000 series or Tesla P4/P40/P100 cards, you might run into challenges with the installation and execution of WhisperX.

This is because WhisperX relies on faster-whisper as its backend, which in turn requires specific versions of CUDA, cuDNN, cuBLAS, and PyTorch to function properly.

This article will show you how to setup WhisperX on your NVIDIA Pascal-equipped Ubuntu 24.04 machine.

Step 1: Installing NVIDIA drivers and Miniconda

Before proceeding, we need to make sure, that a few prerequisites are met.

Step 1.1.: NVIDIA drivers

If your drivers already support CUDA 12, you can skip this step and proceed directly to Step 1.2..

If you already have drivers installed, but are unsure about which CUDA version you are running, you may consult nvidia-smi to find out:

root@ubuntu:~# nvidia-smi
Wed Aug 27 09:00:34 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 570.86.15              Driver Version: 570.86.15      CUDA Version: 12.8     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  Tesla P40                      Off |   00000000:01:00.0 Off |                  Off |
| N/A   79C    P0            179W /  250W |   10769MiB /  24576MiB |    100%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A           39524      C   ...nda3/envs/comfyenv/bin/python        212MiB |
|    0   N/A  N/A          125624      C   .../envs/whisperx/bin/python3.12      10554MiB |
+-----------------------------------------------------------------------------------------+

Here we are running the driver version 570.86.15 with CUDA 12.8; so everything is set here.

Should you start off without any drivers, proceed to download the correct NVIDIA driver for your GPU model. In this example, we are using an NVIDIA Tesla P40 and installing driver version 570.86.15:

wget https://us.download.nvidia.com/tesla/570.86.15/NVIDIA-Linux-x86_64-570.86.15.run
chmod +x NVIDIA-Linux-x86_64-570.86.15.run
apt-get install build-essential dkms
./NVIDIA-Linux-x86_64-570.86.15.run --dkms

Be sure to run the installer with the --dkms flag so that the NVIDIA kernel modules are automatically rebuilt whenever the kernel is updated.

Step 1.2.: Install Miniconda

If Conda or Miniconda is not yet installed on your system, you can install it now. It provides a convenient way to manage separate Python environments, each with its own runtime and dependencies, keeping them isolated and well organized.

The installation process is also detailed in the Conda documentation. Since we are running Ubuntu 24.04, we will install Miniconda for Linux systems here.

Download the latest version of Miniconda and proceed to install it:

cd ~
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh

Follow the installation steps until you are prompted to choose how to initialize Miniconda. Select “yes” to let your shell configuration automatically enable Conda.

Finally close and reopen your shell. You may also delete the installer script:

rm -rf ./Miniconda3-latest-Linux-x86_64.sh

Alright. You are now ready to use Conda.

Step 2: Install WhisperX

Now that the prerequisites are in place, you can create your environment. Begin by setting up a new conda environment with Python 3.12:

conda create -n whisperx python=3.12

We will install WhisperX using pip and then manually resolve any conflicting dependencies one by one. Our first reinstall will be the transformers package on which faster-whisper relies on:

pip install whisperx
pip install --force-reinstall transformers==4.49

Next, we’ll install PyTorch, pinning it to version 2.3.1 with CUDA 12.1 wheels. This version is old enough to support NVIDIA Pascal GPUs while still being compatible with WhisperX:

pip install --force-reinstall torch==2.3.1 torchaudio==2.3.1 --index-url https://download.pytorch.org/whl/cu121

Finally, we’ll ensure that the compatible cuBLAS and cuDNN libraries are installed as well:

pip install --force-reinstall nvidia-cublas-cu12 nvidia-cudnn-cu12==8.9.6.50

Don’t mind pip‘s dependency resolver and error messages like these:

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
torch 2.3.1+cu121 requires nvidia-cublas-cu12==12.1.3.1; platform_system == "Linux" and platform_machine == "x86_64", but you have nvidia-cublas-cu12 12.9.1.4 which is incompatible.
torch 2.3.1+cu121 requires nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == "Linux" and platform_machine == "x86_64", but you have nvidia-cuda-nvrtc-cu12 12.9.86 which is incompatible.
torch 2.3.1+cu121 requires nvidia-cudnn-cu12==8.9.2.26; platform_system == "Linux" and platform_machine == "x86_64", but you have nvidia-cudnn-cu12 8.9.6.50 which is incompatible.

Would we install the versions which torch 2.3.1 requires, WhisperX would not be able to run.

Step 3: Run WhisperX

And that’s it, WhisperX is now ready for usage with your GPU. However, make sure to include the --compute_type float32 flag in your command, as Pascal generation cards have abysmal FP16 performance, which WhisperX normally defaults to:

whisperx test.mp3 --compute_type float32 --model large-v2 --task translate --language ja --diarize --highlight_words True --min_speakers 2 --max_speakers 2 --output_format srt --hf_token <TOKEN>
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like