在 AMD Radeon RX 9070XT 上运行 WhisperX

本文记录25年10月份在9070XT显卡,WSL2上安装WhisperX的过程。请注意信息时效性。

参考资料

Install Radeon software for WSL with ROCm

Install PyTorch for ROCm

CTranslate2-rocm/README_ROCM.md

安装WSL、ROCm、Pytorch

参考上面两篇AMD的文档。注意根据文档WSL只能用Ubuntu2204或者2404这两个系统。我试了Debian无法成功安装ROCm&Torch。

这里安装完成后环境为:Ubuntu2404,torch-2.6.0,rocm6.4.2。我使用的是miniconda,用pip安装。需要按文档更新conda内的gcc。

安装CTranslate2-rocm

介绍

whisperX使用的是faster-whisper后端,而根据ROCM support for AMD GPUs #566,将faster-whisper迁移到ROCm平台的最大难点就是这个CTranslate2依赖,原项目作者明确说明工作量极大且无支持计划。

然而在#556这个issue里找到了CTranslate2-rocm这个项目,由民间成功将CTranslate2移植到ROCm平台并编写了详细文档CTranslate2-rocm/README_ROCM.md,提供了安装CTranslate2-rocm、faster-whisper、whisperx的方法,并给了健壮的单元测试方法。

安装

原文档环境为Docker内的torch。我这里用pip安装,因此需要额外编写一些参数。最终的CMAKE命令:

1
CC=clang CLANG_CMAKE_CXX_COMPILER=clang++ CXX=clang++ HIPCXX="$(hipconfig -l)/clang" HIP_PATH="$(hipconfig -R)"     cmake -S . -B build -DWITH_MKL=OFF -DWITH_HIP=ON -DCMAKE_HIP_ARCHITECTURES=$PYTORCH_ROCM_ARCH -DBUILD_TESTS=ON -DWITH_CUDNN=ON -DCMAKE_PREFIX_PATH="/opt/rocm;/opt/rocm/llvm" -DCMAKE_EXE_LINKER_FLAGS="-L/usr/lib/x86_64-linux-gnu"

以下环境变量的设置也可能有用:

1
2
3
4
export PATH=$PATH:/opt/rocm/bin:/opt/rocm/llvm/bin
export LD_LIBRARY_PATH=/opt/rocm/llvm/lib:$LD_LIBRARY_PATH
export CPATH=/opt/rocm/llvm/include:$CPATH
export LIBRARY_PATH=/opt/rocm/llvm/lib:$LIBRARY_PATH

然后跟着命令一路把CT2安装完成。来到测试环节。

测试

1
ld -lctranslate2 --verbose

这里会报错。然而是因为缺少链接参数导致,并不是因为没有安装好。使用

1
ld -L$CONDA_PREFIX/lib -L/opt/rocm/llvm/lib -lctranslate2 -lomp

就不会报错了。

安装faster-whisper

跟着文档即可。这里有个测试,我9070XT不包括load model(也就是跑第一次让模型下载完后再跑一次),是10.3s。

安装WhisperX

这个比较复杂,因为恶心python版本地狱的原因。可以装一下pipdeptree这个工具,能比较好的看python库版本依赖树关系。

我这个时候WhisperX的最新版本是v3.7.4,他的torch依赖已经写到了~2.8.0,高于我们上面安装的2.6。然而实测--no-deps装完whisperX,用torch2.6也能跑,因此我最后没有按照文档重装torch。

faster-whisper我直接装的当时的最新版1.2.0,最后也能跑。

pyannote.audio这个,文档里装的是3.1.1,然而这个版本用的是numpy v1,而我们库里的numpy是v2的(不知道为什么是v2),因此跑起来会报错。

pipdeptree可以看到

1
whisperx==3.7.4 [requires: pyannote.audio>=3.3.2,<4.0.0]

因此直接装个4.0.0以下的最高版本 pyannote-audio==3.4.0,这样就能把whisperX成功跑起来了。

作者

ZRHan

发布于

2025-10-18

更新于

2025-10-18

许可协议