Debug CUDA and GPU for Python

Sunday, 06 April 2025

import torch import sys import os print(f"--- PyTorch Diagnostics ---") print(f"Python Version: {sys.version}") print(f"Python Executable: {sys.executable}") print(f&quot...

import torch
import sys
import os

print(f"--- PyTorch Diagnostics ---")
print(f"Python Version: {sys.version}")
print(f"Python Executable: {sys.executable}")
print(f"PyTorch version: {torch.__version__}")

try:
    print(f"PyTorch build configuration:\n{torch.__config__.show()}")
except AttributeError:
    print("Note: Detailed torch.__config__.show() not available in this version.")

print(f"\nCUDA available: {torch.cuda.is_available()}")

if torch.cuda.is_available():
    print(f"CUDA version detected by PyTorch: {torch.version.cuda}")
    print(f"Number of GPUs: {torch.cuda.device_count()}")
    for i in range(torch.cuda.device_count()):
        print(f"GPU {i} Name: {torch.cuda.get_device_name(i)}")
        print(f"GPU {i} Compute Capability: {torch.cuda.get_device_capability(i)}")
        print(
            f"GPU {i} Total Memory: {torch.cuda.get_device_properties(i).total_memory / (1024**3):.2f} GB"
        )
else:
    print("CUDA not available for PyTorch.")
    print("\nAttempting to run nvidia-smi...")
    try:
        result = os.system("nvidia-smi")
        if result != 0:
            print("nvidia-smi command failed to execute properly.")
    except Exception as e:
        print(f"Could not run nvidia-smi: {e}")

print(f"\n--- End Diagnostics ---")