Files
railseek6/check_cuda_cudnn.py

46 lines
1.6 KiB
Python

import os
import subprocess
# Check CUDA installation
print('=== CUDA Installation Check ===')
cuda_path = os.environ.get('CUDA_PATH', 'Not set')
print(f'CUDA_PATH: {cuda_path}')
# Check if CUDA binaries are accessible
try:
result = subprocess.run(['nvcc', '--version'], capture_output=True, text=True)
if result.returncode == 0:
print('✓ nvcc found and working')
# Extract version from nvcc output
if "release" in result.stdout:
version_part = result.stdout.split("release")[1].split(",")[0].strip()
print(f'nvcc version: {version_part}')
else:
print('nvcc version: Unknown')
else:
print('✗ nvcc not found or not working')
except Exception as e:
print(f'✗ nvcc check failed: {e}')
# Check cuDNN installation
print('\n=== cuDNN Installation Check ===')
if cuda_path != 'Not set':
cudnn_path = os.path.join(cuda_path, 'bin', 'cudnn64_8.dll')
if os.path.exists(cudnn_path):
print(f'✓ cuDNN DLL found: {cudnn_path}')
else:
print(f'✗ cuDNN DLL not found at: {cudnn_path}')
print(' Searching for cudnn files...')
for root, dirs, files in os.walk(cuda_path):
for file in files:
if 'cudnn' in file.lower():
print(f' Found: {os.path.join(root, file)}')
else:
print('✗ CUDA_PATH not set, cannot check cuDNN')
# Check PATH for CUDA
print('\n=== PATH Environment Variable ===')
path_entries = os.environ.get('PATH', '').split(';')
cuda_paths = [p for p in path_entries if 'cuda' in p.lower()]
for path in cuda_paths:
print(f' {path}')