Update GPU check logic

This commit is contained in:
Deniz Şafak
2025-05-20 04:11:17 +03:00
parent 814c171a90
commit 578da66f34
3 changed files with 23 additions and 25 deletions
+11 -3
View File
@@ -230,13 +230,22 @@ if errorlevel 1 (
:: Install setup requirements :: Install setup requirements
echo Installing setup requirements... echo Installing setup requirements...
%PYTHON_CONSOLE_PATH% -m pip install --upgrade setuptools wheel sphinx hatchling --no-warn-script-location %PYTHON_CONSOLE_PATH% -m pip install --upgrade setuptools setuptools-scm wheel sphinx hatchling --no-warn-script-location
if errorlevel 1 ( if errorlevel 1 (
echo Failed to install setup requirements. echo Failed to install setup requirements.
pause pause
exit /b exit /b
) )
:: Install gpustat
echo Installing gpustat...
%PYTHON_CONSOLE_PATH% -m pip install gpustat --no-warn-script-location
if errorlevel 1 (
echo Failed to install gpustat.
pause
exit /b
)
:: Install project and dependencies from pyproject.toml :: Install project and dependencies from pyproject.toml
echo Checking and installing project dependencies... echo Checking and installing project dependencies...
if exist %PYPROJECT_FILE% ( if exist %PYPROJECT_FILE% (
@@ -264,8 +273,7 @@ if "%MISAKI_LANG%" NEQ "en" (
) )
:: Check for NVIDIA GPU via is_nvidia() :: Check for NVIDIA GPU via is_nvidia()
for /f %%i in ('%PYTHON_CONSOLE_PATH% -c "from abogen.utils import is_nvidia; print(is_nvidia())"') do set IS_NVIDIA=%%i for /f %%i in ('%PYTHON_CONSOLE_PATH% -c "from abogen.is_nvidia import check; print(check())"') do set IS_NVIDIA=%%i
echo NVIDIA GPU detected: %IS_NVIDIA%
:: Check if torch is installed with CUDA support :: Check if torch is installed with CUDA support
echo Checking CUDA availability... echo Checking CUDA availability...
+12
View File
@@ -0,0 +1,12 @@
import gpustat
def check():
stats = gpustat.new_query()
for gpu in stats.gpus:
print(gpu.name)
if 'nvidia' in gpu.name.lower():
return True
return False
if __name__ == "__main__":
print(check())
-22
View File
@@ -212,28 +212,6 @@ def calculate_text_length(text):
return char_count return char_count
def is_nvidia():
try:
from torch import cuda # Attempt to import cuda from torch
# Check if there are any CUDA-capable devices
device_count = cuda.device_count()
if device_count == 0:
return False
# Iterate through available devices to find an NVIDIA GPU
for i in range(device_count):
device_name = cuda.get_device_name(i).lower()
print(f"Device {i}: {device_name}") # Debugging output
if 'nvidia' in device_name:
return True
# If loop completes, CUDA devices are present, but none are identified as NVIDIA
return False
except Exception:
# Catch any other exceptions (e.g., CUDA driver issues, unexpected errors)
return False
def get_gpu_acceleration(enabled): def get_gpu_acceleration(enabled):
from torch.cuda import is_available from torch.cuda import is_available