CUDA support from Windows
How can I install pywhispercpp with CUDA support from Windows? Adding the environment variable WHISPER_CUDA=1 does not cause any changes in the compilation
Can you try with GGML_CUDA=1 instead ?
In this case it does compile, and it does generate the DLL But when I run it I get the following error:
PS E:\Github\TG_WhisperCpp> & e:/Github/TG_WhisperCpp/.venv/Scripts/python.exe e:/Github/TG_WhisperCpp/main.py
Traceback (most recent call last):
File "e:\Github\TG_WhisperCpp\main.py", line 4, in <module>
import pywhisp
File "e:\Github\TG_WhisperCpp\pywhisp.py", line 1, in <module>
from pywhispercpp.model import Model
File "E:\Github\TG_WhisperCpp\.venv\lib\site-packages\pywhispercpp\__init__.py", line 14, in <module>
ctypes.CDLL(os.path.join(os.path.dirname(__file__), 'lib', file))
File "C:\Users\Roberto Acevedo\AppData\Local\Programs\Python\Python310\lib\ctypes\__init__.py", line 374, in __init__
self._handle = _dlopen(self._name, mode)
FileNotFoundError: Could not find module 'E:\Github\TG_WhisperCpp\.venv\lib\site-packages\pywhispercpp\lib\ggml.dll' (or one of its dependencies). Try using the full path with constructor syntax.
Could you please check what's inside the lib folder E:\Github\TG_WhisperCpp\.venv\lib\site-packages\pywhispercpp\lib\ ? and whether the ggml.dll file is there ?
Inside the folder E:\Github\TG_WhisperCpp\.venv\Lib\site-packages\pywhispercpp\lib there are three files
_pywhispercpp.cp310-win_amd64.pyd
ggml.dll
whisper.dll
It seems good to me! the ggml.dll file is there! Idk why it's complaining about not finding it!
Are you able to compile and run whisper.cpp with cuda support ?
I am having some trouble with this too. I installed Cuda, set both environment variables:
(.venv)
jts599@DESKTOP-36J2IL3 MINGW64 /d/pywhispercpp/pywhispercpp
$ echo $GGML_CUDA
1
(.venv)
jts599@DESKTOP-36J2IL3 MINGW64 /d/pywhispercpp/pywhispercpp
$ echo $WHISPER_CUDA
1
Then I installed using pip install .
my site-packages looks a little different than indicated here, but I see this ggml.dll:
.venv\Lib\site-packages\ggml-4e4f3ba44e902a18dc9e351102c76f82.dll
Whenever I run my transcription script, my CPU usage shoots up, but my GPU usage does not change, so I am pretty sure that I am not properly utilizing my GPU. Any advice on next things to try?
Happy to provide any compilation info, but I do not know how to get it.
@jts599, if you don't see any GPU usage, it's likely that whisper.cpp didn't find nvcc during compilation and was compiled with CPU-only.
Please check if nvcc is correctly installed and accessible in your PATH ?
Seems like it should be good?
$nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Wed_Oct_30_01:18:48_Pacific_Daylight_Time_2024
Cuda compilation tools, release 12.6, V12.6.85
Build cuda_12.6.r12.6/compiler.35059454_0
I certainly had built it once or twice without it installed, but have since reinstalled using:
pip uninstall pywhispercpp
git reset --hard
pip install .
I assume that rebuilds pywhispercpp in the process? I also once removed the entire directory and re-cloned.
Yeah, seems good.
In that case can you run the compilation with the verbose flag, to see what's going on:
GGML_CUDA=1 pip install . --verbose
Yeah, no cuda is there. If you are using mingw, I think it's tricky to get it right. A lot of things can go wrong. Why not just use WSL ?
I get an error with WSL about virtualizations not being enabled on my computer that I have spent a number of hours trying to fix already, I have a linux install on my computer too. I also tried there, but am less confident of my CUDA driver config. I may give it another go and see if I can get it to work.
Yes, if you have a Linux installation, give it a try. It's working on my end. Just make sure the NVIDIA drivers are installed correctly and that nvcc is available system-wide.
Tried again on my linux install. I see the install log pick up that the environment variable is set, but I am still not seeing it run on my GPU
echo $WHISPER_CUDA
1
echo $GGML_CUDA
1
nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Fri_Jan__6_16:45:21_PST_2023
Cuda compilation tools, release 12.0, V12.0.140
Build cuda_12.0.r12.0/compiler.32267302_0
(Sorry for the formatting. Could not get markdown to cooperate. Figured this is less annoying than a text file)
pip install . --verbose
(.venv) jts599@jts599-desktop-ubuntu:/media/jts599/Disk5/Transcriber/DigitalJournal2/pywhispercpp$ pip install . --verbose Using pip 24.3.1 from /media/jts599/Disk5/Transcriber/DigitalJournal2/.venv/lib/python3.12/site-packages/pip (python 3.12) Processing /media/jts599/Disk5/Transcriber/DigitalJournal2/pywhispercpp Running command pip subprocess to install build dependencies Using pip 24.3.1 from /media/jts599/Disk5/Transcriber/DigitalJournal2/.venv/lib/python3.12/site-packages/pip (python 3.12) Collecting setuptools>=42 Obtaining dependency information for setuptools>=42 from https://files.pythonhosted.org/packages/55/21/47d163f615df1d30c094f6c8bbb353619274edccf0327b185cc2493c2c33/setuptools-75.6.0-py3-none-any.whl.metadata Using cached setuptools-75.6.0-py3-none-any.whl.metadata (6.7 kB) Collecting wheel Obtaining dependency information for wheel from https://files.pythonhosted.org/packages/0b/2c/87f3254fd8ffd29e4c02732eee68a83a1d3c346ae39bc6822dcbcb697f2b/wheel-0.45.1-py3-none-any.whl.metadata Using cached wheel-0.45.1-py3-none-any.whl.metadata (2.3 kB) Collecting ninja Obtaining dependency information for ninja from https://files.pythonhosted.org/packages/62/54/787bb70e6af2f1b1853af9bab62a5e7cb35b957d72daf253b7f3c653c005/ninja-1.11.1.2-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.metadata Using cached ninja-1.11.1.2-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.metadata (5.3 kB) Collecting cmake>=3.12 Obtaining dependency information for cmake>=3.12 from https://files.pythonhosted.org/packages/b8/8d/a7cf7573df4c67de7cb4b2e36cfc790462b90813baa14604c3693a23d89b/cmake-3.31.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata Using cached cmake-3.31.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.5 kB) Collecting repairwheel Obtaining dependency information for repairwheel from https://files.pythonhosted.org/packages/9a/c4/a22f2a9807661d4f9375a46738695c6f2441821b78c09d3943c93875267a/repairwheel-0.3.1-py3-none-any.whl.metadata Using cached repairwheel-0.3.1-py3-none-any.whl.metadata (4.3 kB) Collecting setuptools-scm>=8 Obtaining dependency information for setuptools-scm>=8 from https://files.pythonhosted.org/packages/a0/b9/1906bfeb30f2fc13bb39bf7ddb8749784c05faadbd18a21cf141ba37bff2/setuptools_scm-8.1.0-py3-none-any.whl.metadata Using cached setuptools_scm-8.1.0-py3-none-any.whl.metadata (6.6 kB) Collecting delvewheel>=1.3.6 (from repairwheel) Obtaining dependency information for delvewheel>=1.3.6 from https://files.pythonhosted.org/packages/3a/e6/3e7da68dccc7f1ba94f97f6d7e1effe57afffd0ad5ea3dd9d5c451799664/delvewheel-1.9.0-py3-none-any.whl.metadata Using cached delvewheel-1.9.0-py3-none-any.whl.metadata (17 kB) Collecting macholib>=1.16 (from repairwheel) Obtaining dependency information for macholib>=1.16 from https://files.pythonhosted.org/packages/d1/5d/c059c180c84f7962db0aeae7c3b9303ed1d73d76f2bfbc32bc231c8be314/macholib-1.16.3-py2.py3-none-any.whl.metadata Using cached macholib-1.16.3-py2.py3-none-any.whl.metadata (11 kB) Collecting packaging>=20.9 (from repairwheel) Obtaining dependency information for packaging>=20.9 from https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl.metadata Using cached packaging-24.2-py3-none-any.whl.metadata (3.2 kB) Collecting pefile>=2023.2.7 (from repairwheel) Obtaining dependency information for pefile>=2023.2.7 from https://files.pythonhosted.org/packages/54/16/12b82f791c7f50ddec566873d5bdd245baa1491bac11d15ffb98aecc8f8b/pefile-2024.8.26-py3-none-any.whl.metadata Using cached pefile-2024.8.26-py3-none-any.whl.metadata (1.4 kB) Collecting pyelftools>=0.24 (from repairwheel) Obtaining dependency information for pyelftools>=0.24 from https://files.pythonhosted.org/packages/f8/64/711030d9fe9ccaf6ee3ab1bcf4801c6bb3d0e585af18824a50b016b4f39c/pyelftools-0.31-py3-none-any.whl.metadata Using cached pyelftools-0.31-py3-none-any.whl.metadata (381 bytes) Collecting altgraph>=0.17 (from macholib>=1.16->repairwheel) Obtaining dependency information for altgraph>=0.17 from https://files.pythonhosted.org/packages/4d/3f/3bc3f1d83f6e4a7fcb834d3720544ca597590425be5ba9db032b2bf322a2/altgraph-0.17.4-py2.py3-none-any.whl.metadata Using cached altgraph-0.17.4-py2.py3-none-any.whl.metadata (7.3 kB) Using cached setuptools-75.6.0-py3-none-any.whl (1.2 MB) Using cached wheel-0.45.1-py3-none-any.whl (72 kB) Using cached ninja-1.11.1.2-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (422 kB) Using cached cmake-3.31.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (27.8 MB) Using cached repairwheel-0.3.1-py3-none-any.whl (115 kB) Using cached setuptools_scm-8.1.0-py3-none-any.whl (43 kB) Using cached delvewheel-1.9.0-py3-none-any.whl (57 kB) Using cached macholib-1.16.3-py2.py3-none-any.whl (38 kB) Using cached packaging-24.2-py3-none-any.whl (65 kB) Using cached pefile-2024.8.26-py3-none-any.whl (74 kB) Using cached pyelftools-0.31-py3-none-any.whl (180 kB) Using cached altgraph-0.17.4-py2.py3-none-any.whl (21 kB) Installing collected packages: pyelftools, altgraph, wheel, setuptools, pefile, packaging, ninja, macholib, cmake, setuptools-scm, delvewheel, repairwheel changing mode of /tmp/pip-build-env-469k5li1/overlay/bin/wheel to 775 changing mode of /tmp/pip-build-env-469k5li1/overlay/bin/macho_dump to 775 changing mode of /tmp/pip-build-env-469k5li1/overlay/bin/macho_find to 775 changing mode of /tmp/pip-build-env-469k5li1/overlay/bin/macho_standalone to 775 changing mode of /tmp/pip-build-env-469k5li1/overlay/bin/ccmake to 775 changing mode of /tmp/pip-build-env-469k5li1/overlay/bin/cmake to 775 changing mode of /tmp/pip-build-env-469k5li1/overlay/bin/cpack to 775 changing mode of /tmp/pip-build-env-469k5li1/overlay/bin/ctest to 775 changing mode of /tmp/pip-build-env-469k5li1/overlay/bin/delvewheel to 775 changing mode of /tmp/pip-build-env-469k5li1/overlay/bin/repairwheel to 775 Successfully installed altgraph-0.17.4 cmake-3.31.1 delvewheel-1.9.0 macholib-1.16.3 ninja-1.11.1.2 packaging-24.2 pefile-2024.8.26 pyelftools-0.31 repairwheel-0.3.1 setuptools-75.6.0 setuptools-scm-8.1.0 wheel-0.45.1 Installing build dependencies ... done Running command Getting requirements to build wheel running egg_info writing pywhispercpp.egg-info/PKG-INFO writing dependency_links to pywhispercpp.egg-info/dependency_links.txt writing entry points to pywhispercpp.egg-info/entry_points.txt writing requirements to pywhispercpp.egg-info/requires.txt writing top-level names to pywhispercpp.egg-info/top_level.txt reading manifest template 'MANIFEST.in' warning: no files found matching 'version.txt' warning: no previously-included files found matching 'whisper.cpp//*.o' warning: no previously-included files found matching 'whisper.cpp//.so' warning: no previously-included files found matching 'whisper.cpp/**/.a' warning: no previously-included files found matching 'whisper.cpp//*.dylib' warning: no previously-included files found matching 'whisper.cpp//.dll' warning: no previously-included files found matching 'whisper.cpp/**/.lib' adding license file 'LICENSE' writing manifest file 'pywhispercpp.egg-info/SOURCES.txt' Getting requirements to build wheel ... done Running command Preparing metadata (pyproject.toml) running dist_info creating /tmp/pip-modern-metadata-mk5x53cr/pywhispercpp.egg-info writing /tmp/pip-modern-metadata-mk5x53cr/pywhispercpp.egg-info/PKG-INFO writing dependency_links to /tmp/pip-modern-metadata-mk5x53cr/pywhispercpp.egg-info/dependency_links.txt writing entry points to /tmp/pip-modern-metadata-mk5x53cr/pywhispercpp.egg-info/entry_points.txt writing requirements to /tmp/pip-modern-metadata-mk5x53cr/pywhispercpp.egg-info/requires.txt writing top-level names to /tmp/pip-modern-metadata-mk5x53cr/pywhispercpp.egg-info/top_level.txt writing manifest file '/tmp/pip-modern-metadata-mk5x53cr/pywhispercpp.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'version.txt' warning: no previously-included files found matching 'whisper.cpp//*.o' warning: no previously-included files found matching 'whisper.cpp//.so' warning: no previously-included files found matching 'whisper.cpp/**/.a' warning: no previously-included files found matching 'whisper.cpp//*.dylib' warning: no previously-included files found matching 'whisper.cpp//.dll' warning: no previously-included files found matching 'whisper.cpp/**/.lib' adding license file 'LICENSE' writing manifest file '/tmp/pip-modern-metadata-mk5x53cr/pywhispercpp.egg-info/SOURCES.txt' creating '/tmp/pip-modern-metadata-mk5x53cr/pywhispercpp-1.3.0.dist-info' Preparing metadata (pyproject.toml) ... done Requirement already satisfied: numpy in /media/jts599/Disk5/Transcriber/DigitalJournal2/.venv/lib/python3.12/site-packages (from pywhispercpp==1.3.0) (2.1.3) Requirement already satisfied: requests in /media/jts599/Disk5/Transcriber/DigitalJournal2/.venv/lib/python3.12/site-packages (from pywhispercpp==1.3.0) (2.32.3) Requirement already satisfied: tqdm in /media/jts599/Disk5/Transcriber/DigitalJournal2/.venv/lib/python3.12/site-packages (from pywhispercpp==1.3.0) (4.67.1) Requirement already satisfied: platformdirs in /media/jts599/Disk5/Transcriber/DigitalJournal2/.venv/lib/python3.12/site-packages (from pywhispercpp==1.3.0) (4.3.6) Requirement already satisfied: charset-normalizer<4,>=2 in /media/jts599/Disk5/Transcriber/DigitalJournal2/.venv/lib/python3.12/site-packages (from requests->pywhispercpp==1.3.0) (3.4.0) Requirement already satisfied: idna<4,>=2.5 in /media/jts599/Disk5/Transcriber/DigitalJournal2/.venv/lib/python3.12/site-packages (from requests->pywhispercpp==1.3.0) (3.10) Requirement already satisfied: urllib3<3,>=1.21.1 in /media/jts599/Disk5/Transcriber/DigitalJournal2/.venv/lib/python3.12/site-packages (from requests->pywhispercpp==1.3.0) (2.2.3) Requirement already satisfied: certifi>=2017.4.17 in /media/jts599/Disk5/Transcriber/DigitalJournal2/.venv/lib/python3.12/site-packages (from requests->pywhispercpp==1.3.0) (2024.8.30) Building wheels for collected packages: pywhispercpp Running command Building wheel for pywhispercpp (pyproject.toml) running bdist_wheel running build running build_py copying ./pywhispercpp/constants.py -> build/lib.linux-x86_64-cpython-312/pywhispercpp copying ./pywhispercpp/model.py -> build/lib.linux-x86_64-cpython-312/pywhispercpp copying ./pywhispercpp/utils.py -> build/lib.linux-x86_64-cpython-312/pywhispercpp copying ./pywhispercpp/init.py -> build/lib.linux-x86_64-cpython-312/pywhispercpp copying ./pywhispercpp/examples/assistant.py -> build/lib.linux-x86_64-cpython-312/pywhispercpp/examples copying ./pywhispercpp/examples/livestream.py -> build/lib.linux-x86_64-cpython-312/pywhispercpp/examples copying ./pywhispercpp/examples/main.py -> build/lib.linux-x86_64-cpython-312/pywhispercpp/examples copying ./pywhispercpp/examples/recording.py -> build/lib.linux-x86_64-cpython-312/pywhispercpp/examples copying ./pywhispercpp/examples/init.py -> build/lib.linux-x86_64-cpython-312/pywhispercpp/examples running egg_info writing pywhispercpp.egg-info/PKG-INFO writing dependency_links to pywhispercpp.egg-info/dependency_links.txt writing entry points to pywhispercpp.egg-info/entry_points.txt writing requirements to pywhispercpp.egg-info/requires.txt writing top-level names to pywhispercpp.egg-info/top_level.txt reading manifest template 'MANIFEST.in' warning: no files found matching 'version.txt' warning: no previously-included files found matching 'whisper.cpp//*.o' warning: no previously-included files found matching 'whisper.cpp//.so' warning: no previously-included files found matching 'whisper.cpp/**/.a' warning: no previously-included files found matching 'whisper.cpp//*.dylib' warning: no previously-included files found matching 'whisper.cpp//.dll' warning: no previously-included files found matching 'whisper.cpp/**/.lib' adding license file 'LICENSE' writing manifest file 'pywhispercpp.egg-info/SOURCES.txt' running build_ext CMake Deprecation Warning at pybind11/CMakeLists.txt:8 (cmake_minimum_required): Compatibility with CMake < 3.10 will be removed from a future version of CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
-- pybind11 v2.9.2
CMake Warning (dev) at pybind11/tools/FindPythonLibsNew.cmake:98 (find_package):
Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
are removed. Run "cmake --help-policy CMP0148" for policy details. Use
the cmake_policy command to set the policy and suppress this warning.
Call Stack (most recent call first):
pybind11/tools/pybind11Tools.cmake:50 (find_package)
pybind11/tools/pybind11Common.cmake:206 (include)
pybind11/CMakeLists.txt:200 (include)
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Deprecation Warning at whisper.cpp/CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.10 will be removed from a future version of
CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
CMake Warning at whisper.cpp/CMakeLists.txt:103 (message):
WHISPER_CUDA is deprecated and will be removed in the future.
Use GGML_CUDA instead
Call Stack (most recent call first):
whisper.cpp/CMakeLists.txt:109 (whisper_option_depr)
-- OpenMP found
-- Warning: ccache not found - consider installing it for faster compilation or disable this warning with GGML_CCACHE=OFF
-- CMAKE_SYSTEM_PROCESSOR: x86_64
-- x86 detected
-- Configuring done (0.1s)
-- Generating done (0.0s)
CMake Warning:
Manually-specified variables were not used by the project:
PATH
PIP_BUILD_TRACKER
PYTHONPATH
-- Build files have been written to: /media/jts599/Disk5/Transcriber/DigitalJournal2/pywhispercpp/build/temp.linux-x86_64-cpython-312/_pywhispercpp
[1/1] Creating library symlink /media/jts599/Disk5/Transcriber/DigitalJournal2/pywhispercpp/build/lib.linux-x86_64-cpython-312/libwhisper.so.1 /media/jts599/Disk5/Transcriber/DigitalJournal2/pywhispercpp/build/lib.linux-x86_64-cpython-312/libwhisper.so
dll_folder in build_extension build/temp.linux-x86_64-cpython-312/_pywhispercpp/bin/Release
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64/wheel
copying build/lib.linux-x86_64-cpython-312/libggml.so -> build/bdist.linux-x86_64/wheel/.
copying build/lib.linux-x86_64-cpython-312/libwhisper.so -> build/bdist.linux-x86_64/wheel/.
copying build/lib.linux-x86_64-cpython-312/libwhisper.so.1 -> build/bdist.linux-x86_64/wheel/.
copying build/lib.linux-x86_64-cpython-312/libwhisper.so.1.6.2 -> build/bdist.linux-x86_64/wheel/.
creating build/bdist.linux-x86_64/wheel/pywhispercpp
copying build/lib.linux-x86_64-cpython-312/pywhispercpp/constants.py -> build/bdist.linux-x86_64/wheel/./pywhispercpp
creating build/bdist.linux-x86_64/wheel/pywhispercpp/examples
copying build/lib.linux-x86_64-cpython-312/pywhispercpp/examples/assistant.py -> build/bdist.linux-x86_64/wheel/./pywhispercpp/examples
copying build/lib.linux-x86_64-cpython-312/pywhispercpp/examples/livestream.py -> build/bdist.linux-x86_64/wheel/./pywhispercpp/examples
copying build/lib.linux-x86_64-cpython-312/pywhispercpp/examples/main.py -> build/bdist.linux-x86_64/wheel/./pywhispercpp/examples
copying build/lib.linux-x86_64-cpython-312/pywhispercpp/examples/recording.py -> build/bdist.linux-x86_64/wheel/./pywhispercpp/examples
copying build/lib.linux-x86_64-cpython-312/pywhispercpp/examples/__init__.py -> build/bdist.linux-x86_64/wheel/./pywhispercpp/examples
copying build/lib.linux-x86_64-cpython-312/pywhispercpp/model.py -> build/bdist.linux-x86_64/wheel/./pywhispercpp
copying build/lib.linux-x86_64-cpython-312/pywhispercpp/utils.py -> build/bdist.linux-x86_64/wheel/./pywhispercpp
copying build/lib.linux-x86_64-cpython-312/pywhispercpp/__init__.py -> build/bdist.linux-x86_64/wheel/./pywhispercpp
copying build/lib.linux-x86_64-cpython-312/_pywhispercpp.cpython-312-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/.
running install_egg_info
Copying pywhispercpp.egg-info to build/bdist.linux-x86_64/wheel/./pywhispercpp-1.3.0-py3.12.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/pywhispercpp-1.3.0.dist-info/WHEEL
creating '/tmp/pip-wheel-7znijqko/.tmp-oqtu1h75/pywhispercpp-1.3.0-cp312-cp312-linux_x86_64.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding '_pywhispercpp.cpython-312-x86_64-linux-gnu.so'
adding 'libggml.so'
adding 'libwhisper.so'
adding 'libwhisper.so.1'
adding 'libwhisper.so.1.6.2'
adding 'pywhispercpp/__init__.py'
adding 'pywhispercpp/constants.py'
adding 'pywhispercpp/model.py'
adding 'pywhispercpp/utils.py'
adding 'pywhispercpp/examples/__init__.py'
adding 'pywhispercpp/examples/assistant.py'
adding 'pywhispercpp/examples/livestream.py'
adding 'pywhispercpp/examples/main.py'
adding 'pywhispercpp/examples/recording.py'
adding 'pywhispercpp-1.3.0.dist-info/LICENSE'
adding 'pywhispercpp-1.3.0.dist-info/METADATA'
adding 'pywhispercpp-1.3.0.dist-info/WHEEL'
adding 'pywhispercpp-1.3.0.dist-info/entry_points.txt'
adding 'pywhispercpp-1.3.0.dist-info/top_level.txt'
adding 'pywhispercpp-1.3.0.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
pywhispercpp-1.3.0-cp312-cp312-linux_x86_64.whl is consistent with the
following platform tag: "linux_x86_64".
The wheel references external versioned symbols in these
system-provided shared libraries: libc.so.6 with versions
{'GLIBC_2.6', 'GLIBC_2.2.5', 'GLIBC_2.3.4', 'GLIBC_2.34',
'GLIBC_2.29', 'GLIBC_2.38', 'GLIBC_2.17', 'GLIBC_2.33', 'GLIBC_2.4',
'GLIBC_2.32', 'GLIBC_2.14', 'GLIBC_2.3', 'GLIBC_2.7'}, libgcc_s.so.1
with versions {'GCC_3.0', 'GCC_3.3.1'}, libstdc++.so.6 with versions
{'GLIBCXX_3.4.9', 'CXXABI_1.3.13', 'GLIBCXX_3.4.11', 'GLIBCXX_3.4.18',
'CXXABI_1.3.2', 'GLIBCXX_3.4.21', 'GLIBCXX_3.4.17', 'CXXABI_1.3.9',
'GLIBCXX_3.4.29', 'GLIBCXX_3.4', 'CXXABI_1.3.3', 'GLIBCXX_3.4.20',
'CXXABI_1.3.11', 'GLIBCXX_3.4.32', 'CXXABI_1.3.5', 'GLIBCXX_3.4.22',
'GLIBCXX_3.4.15', 'CXXABI_1.3', 'GLIBCXX_3.4.14'}, libgomp.so.1 with
versions {'OMP_1.0', 'GOMP_1.0', 'GOMP_4.0'}, libm.so.6 with versions
{'GLIBC_2.27', 'GLIBC_2.29', 'GLIBC_2.2.5'}
This constrains the platform tag to "linux_x86_64". In order to
achieve a more compatible tag, you would need to recompile a new wheel
from source on a system with earlier versions of these libraries, such
as a recent manylinux image.
Wrote /tmp/repaired_wheel_c4bc3ugv/pywhispercpp-1.3.0-cp312-cp312-linux_x86_64.whl
dll_folder in repairwheel build/temp.linux-x86_64-cpython-312/_pywhispercpp/bin/Release
Files in dll_folder:
Repaired wheel: /tmp/repaired_wheel_c4bc3ugv/pywhispercpp-1.3.0-cp312-cp312-linux_x86_64.whl
copying /tmp/repaired_wheel_c4bc3ugv/pywhispercpp-1.3.0-cp312-cp312-linux_x86_64.whl -> /tmp/pip-wheel-7znijqko/.tmp-oqtu1h75
Copied repaired wheel to: /tmp/pip-wheel-7znijqko/.tmp-oqtu1h75/pywhispercpp-1.3.0-cp312-cp312-linux_x86_64.whl
Building wheel for pywhispercpp (pyproject.toml) ... done
Created wheel for pywhispercpp: filename=pywhispercpp-1.3.0-cp312-cp312-linux_x86_64.whl size=4348209 sha256=3001f8baafb011629af9f1b8c9ba8c13f70d2e01e748c09d2abdf49b35c29947
Stored in directory: /tmp/pip-ephem-wheel-cache-mtgxeu90/wheels/ef/c3/30/0a323b71528c1f288c95eefb7c459502531ce3af18476c7bed
Successfully built pywhispercpp Installing collected packages: pywhispercpp changing mode of /media/jts599/Disk5/Transcriber/DigitalJournal2/.venv/bin/pwcpp to 775 changing mode of /media/jts599/Disk5/Transcriber/DigitalJournal2/.venv/bin/pwcpp-assistant to 775 changing mode of /media/jts599/Disk5/Transcriber/DigitalJournal2/.venv/bin/pwcpp-livestream to 775 changing mode of /media/jts599/Disk5/Transcriber/DigitalJournal2/.venv/bin/pwcpp-recording to 775 Successfully installed pywhispercpp-1.3.0eady satisfied: urllib3<3,>=1.21.1 in /media/jts599/Disk5/Transcriber/DigitalJournal2/.venv/lib/python3.12/site-packages (from requests->pywhispercpp==1.3.0) (2.2.3) Requirement already satisfied: certifi>=2017.4.17 in /media/jts599/Disk5/Transcriber/DigitalJournal2/.venv/lib/python3.12/site-packages (from requests->pywhispercpp==1.3.0) (2024.8.30) Building wheels for collected packages: pywhispercpp Running command Building wheel for pywhispercpp (pyproject.toml) running bdist_wheel running build running build_py copying ./pywhispercpp/constants.py -> build/lib.linux-x86_64-cpython-312/pywhispercpp copying ./pywhispercpp/model.py -> build/lib.linux-x86_64-cpython-312/pywhispercpp copying ./pywhispercpp/utils.py -> build/lib.linux-x86_64-cpython-312/pywhispercpp copying ./pywhispercpp/init.py -> build/lib.linux-x86_64-cpython-312/pywhispercpp copying ./pywhispercpp/examples/assistant.py -> build/lib.linux-x86_64-cpython-312/pywhispercpp/examples copying ./pywhispercpp/examples/livestream.py -> build/lib.linux-x86_64-cpython-312/pywhispercpp/examples copying ./pywhispercpp/examples/main.py -> build/lib.linux-x86_64-cpython-312/pywhispercpp/examples copying ./pywhispercpp/examples/recording.py -> build/lib.linux-x86_64-cpython-312/pywhispercpp/examples copying ./pywhispercpp/examples/init.py -> build/lib.linux-x86_64-cpython-312/pywhispercpp/examples running egg_info writing pywhispercpp.egg-info/PKG-INFO writing dependency_links to pywhispercpp.egg-info/dependency_links.txt writing entry points to pywhispercpp.egg-info/entry_points.txt writing requirements to pywhispercpp.egg-info/requires.txt writing top-level names to pywhispercpp.egg-info/top_level.txt reading manifest template 'MANIFEST.in' warning: no files found matching 'version.txt' warning: no previously-included files found matching 'whisper.cpp//*.o' warning: no previously-included files found matching 'whisper.cpp//.so' warning: no previously-included files found matching 'whisper.cpp/**/.a' warning: no previously-included files found matching 'whisper.cpp//*.dylib' warning: no previously-included files found matching 'whisper.cpp//.dll' warning: no previously-included files found matching 'whisper.cpp/**/.lib' adding license file 'LICENSE' writing manifest file 'pywhispercpp.egg-info/SOURCES.txt' running build_ext CMake Deprecation Warning at pybind11/CMakeLists.txt:8 (cmake_minimum_required): Compatibility with CMake < 3.10 will be removed from a future version of CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
-- pybind11 v2.9.2
CMake Warning (dev) at pybind11/tools/FindPythonLibsNew.cmake:98 (find_package):
Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
are removed. Run "cmake --help-policy CMP0148" for policy details. Use
the cmake_policy command to set the policy and suppress this warning.
Call Stack (most recent call first):
pybind11/tools/pybind11Tools.cmake:50 (find_package)
pybind11/tools/pybind11Common.cmake:206 (include)
pybind11/CMakeLists.txt:200 (include)
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Deprecation Warning at whisper.cpp/CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.10 will be removed from a future version of
CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
CMake Warning at whisper.cpp/CMakeLists.txt:103 (message):
WHISPER_CUDA is deprecated and will be removed in the future.
Use GGML_CUDA instead
Call Stack (most recent call first):
whisper.cpp/CMakeLists.txt:109 (whisper_option_depr)
-- OpenMP found
-- Warning: ccache not found - consider installing it for faster compilation or disable this warning with GGML_CCACHE=OFF
-- CMAKE_SYSTEM_PROCESSOR: x86_64
-- x86 detected
-- Configuring done (0.1s)
-- Generating done (0.0s)
CMake Warning:
Manually-specified variables were not used by the project:
PATH
PIP_BUILD_TRACKER
PYTHONPATH
-- Build files have been written to: /media/jts599/Disk5/Transcriber/DigitalJournal2/pywhispercpp/build/temp.linux-x86_64-cpython-312/_pywhispercpp
[1/1] Creating library symlink /media/jts599/Disk5/Transcriber/DigitalJournal2/pywhispercpp/build/lib.linux-x86_64-cpython-312/libwhisper.so.1 /media/jts599/Disk5/Transcriber/DigitalJournal2/pywhispercpp/build/lib.linux-x86_64-cpython-312/libwhisper.so
dll_folder in build_extension build/temp.linux-x86_64-cpython-312/_pywhispercpp/bin/Release
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64/wheel
copying build/lib.linux-x86_64-cpython-312/libggml.so -> build/bdist.linux-x86_64/wheel/.
copying build/lib.linux-x86_64-cpython-312/libwhisper.so -> build/bdist.linux-x86_64/wheel/.
copying build/lib.linux-x86_64-cpython-312/libwhisper.so.1 -> build/bdist.linux-x86_64/wheel/.
copying build/lib.linux-x86_64-cpython-312/libwhisper.so.1.6.2 -> build/bdist.linux-x86_64/wheel/.
creating build/bdist.linux-x86_64/wheel/pywhispercpp
copying build/lib.linux-x86_64-cpython-312/pywhispercpp/constants.py -> build/bdist.linux-x86_64/wheel/./pywhispercpp
creating build/bdist.linux-x86_64/wheel/pywhispercpp/examples
copying build/lib.linux-x86_64-cpython-312/pywhispercpp/examples/assistant.py -> build/bdist.linux-x86_64/wheel/./pywhispercpp/examples
copying build/lib.linux-x86_64-cpython-312/pywhispercpp/examples/livestream.py -> build/bdist.linux-x86_64/wheel/./pywhispercpp/examples
copying build/lib.linux-x86_64-cpython-312/pywhispercpp/examples/main.py -> build/bdist.linux-x86_64/wheel/./pywhispercpp/examples
copying build/lib.linux-x86_64-cpython-312/pywhispercpp/examples/recording.py -> build/bdist.linux-x86_64/wheel/./pywhispercpp/examples
copying build/lib.linux-x86_64-cpython-312/pywhispercpp/examples/__init__.py -> build/bdist.linux-x86_64/wheel/./pywhispercpp/examples
copying build/lib.linux-x86_64-cpython-312/pywhispercpp/model.py -> build/bdist.linux-x86_64/wheel/./pywhispercpp
copying build/lib.linux-x86_64-cpython-312/pywhispercpp/utils.py -> build/bdist.linux-x86_64/wheel/./pywhispercpp
copying build/lib.linux-x86_64-cpython-312/pywhispercpp/__init__.py -> build/bdist.linux-x86_64/wheel/./pywhispercpp
copying build/lib.linux-x86_64-cpython-312/_pywhispercpp.cpython-312-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/.
running install_egg_info
Copying pywhispercpp.egg-info to build/bdist.linux-x86_64/wheel/./pywhispercpp-1.3.0-py3.12.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/pywhispercpp-1.3.0.dist-info/WHEEL
creating '/tmp/pip-wheel-7znijqko/.tmp-oqtu1h75/pywhispercpp-1.3.0-cp312-cp312-linux_x86_64.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding '_pywhispercpp.cpython-312-x86_64-linux-gnu.so'
adding 'libggml.so'
adding 'libwhisper.so'
adding 'libwhisper.so.1'
adding 'libwhisper.so.1.6.2'
adding 'pywhispercpp/__init__.py'
adding 'pywhispercpp/constants.py'
adding 'pywhispercpp/model.py'
adding 'pywhispercpp/utils.py'
adding 'pywhispercpp/examples/__init__.py'
adding 'pywhispercpp/examples/assistant.py'
adding 'pywhispercpp/examples/livestream.py'
adding 'pywhispercpp/examples/main.py'
adding 'pywhispercpp/examples/recording.py'
adding 'pywhispercpp-1.3.0.dist-info/LICENSE'
adding 'pywhispercpp-1.3.0.dist-info/METADATA'
adding 'pywhispercpp-1.3.0.dist-info/WHEEL'
adding 'pywhispercpp-1.3.0.dist-info/entry_points.txt'
adding 'pywhispercpp-1.3.0.dist-info/top_level.txt'
adding 'pywhispercpp-1.3.0.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
pywhispercpp-1.3.0-cp312-cp312-linux_x86_64.whl is consistent with the
following platform tag: "linux_x86_64".
The wheel references external versioned symbols in these
system-provided shared libraries: libc.so.6 with versions
{'GLIBC_2.6', 'GLIBC_2.2.5', 'GLIBC_2.3.4', 'GLIBC_2.34',
'GLIBC_2.29', 'GLIBC_2.38', 'GLIBC_2.17', 'GLIBC_2.33', 'GLIBC_2.4',
'GLIBC_2.32', 'GLIBC_2.14', 'GLIBC_2.3', 'GLIBC_2.7'}, libgcc_s.so.1
with versions {'GCC_3.0', 'GCC_3.3.1'}, libstdc++.so.6 with versions
{'GLIBCXX_3.4.9', 'CXXABI_1.3.13', 'GLIBCXX_3.4.11', 'GLIBCXX_3.4.18',
'CXXABI_1.3.2', 'GLIBCXX_3.4.21', 'GLIBCXX_3.4.17', 'CXXABI_1.3.9',
'GLIBCXX_3.4.29', 'GLIBCXX_3.4', 'CXXABI_1.3.3', 'GLIBCXX_3.4.20',
'CXXABI_1.3.11', 'GLIBCXX_3.4.32', 'CXXABI_1.3.5', 'GLIBCXX_3.4.22',
'GLIBCXX_3.4.15', 'CXXABI_1.3', 'GLIBCXX_3.4.14'}, libgomp.so.1 with
versions {'OMP_1.0', 'GOMP_1.0', 'GOMP_4.0'}, libm.so.6 with versions
{'GLIBC_2.27', 'GLIBC_2.29', 'GLIBC_2.2.5'}
This constrains the platform tag to "linux_x86_64". In order to
achieve a more compatible tag, you would need to recompile a new wheel
from source on a system with earlier versions of these libraries, such
as a recent manylinux image.
Wrote /tmp/repaired_wheel_c4bc3ugv/pywhispercpp-1.3.0-cp312-cp312-linux_x86_64.whl
dll_folder in repairwheel build/temp.linux-x86_64-cpython-312/_pywhispercpp/bin/Release
Files in dll_folder:
Repaired wheel: /tmp/repaired_wheel_c4bc3ugv/pywhispercpp-1.3.0-cp312-cp312-linux_x86_64.whl
copying /tmp/repaired_wheel_c4bc3ugv/pywhispercpp-1.3.0-cp312-cp312-linux_x86_64.whl -> /tmp/pip-wheel-7znijqko/.tmp-oqtu1h75
Copied repaired wheel to: /tmp/pip-wheel-7znijqko/.tmp-oqtu1h75/pywhispercpp-1.3.0-cp312-cp312-linux_x86_64.whl
Building wheel for pywhispercpp (pyproject.toml) ... done
Created wheel for pywhispercpp: filename=pywhispercpp-1.3.0-cp312-cp312-linux_x86_64.whl size=4348209 sha256=3001f8baafb011629af9f1b8c9ba8c13f70d2e01e748c09d2abdf49b35c29947
Stored in directory: /tmp/pip-ephem-wheel-cache-mtgxeu90/wheels/ef/c3/30/0a323b71528c1f288c95eefb7c459502531ce3af18476c7bed
Successfully built pywhispercpp Installing collected packages: pywhispercpp changing mode of /media/jts599/Disk5/Transcriber/DigitalJournal2/.venv/bin/pwcpp to 775 changing mode of /media/jts599/Disk5/Transcriber/DigitalJournal2/.venv/bin/pwcpp-assistant to 775 changing mode of /media/jts599/Disk5/Transcriber/DigitalJournal2/.venv/bin/pwcpp-livestream to 775 changing mode of /media/jts599/Disk5/Transcriber/DigitalJournal2/.venv/bin/pwcpp-recording to 775 Successfully installed pywhispercpp-1.3.0
From the logs, it seems it's not compiling against cuda yet. Just verified now on my end, I think nvcc is not enough, you need the entire cuda toolkit, probably that's why it wasn't working on Windows as well. Can you install it and give it a try. Also delete the $WHISPER_CUDA var and keep only the $GGML_CUDA.