stable-diffusion-webui/detection.py
DaniAndTheWeb eaebcf6383
GPU detection script
This commit adds a script that detects which GPU is currently used in Windows and Linux
2023-01-13 19:20:18 +01:00

45 lines
1.6 KiB
Python

# This script detects which GPU is currently used in Windows and Linux
import os
import sys
def check_gpu():
# First, check if the `lspci` command is available
if not os.system("which lspci > /dev/null") == 0:
# If the `lspci` command is not available, try the `dxdiag` command on Windows
if os.name == "nt":
# On Windows, run the `dxdiag` command and check the output for the "Card name" field
# Create the dxdiag.txt file
os.system("dxdiag /t dxdiag.txt")
# Read the dxdiag.txt file
with open("dxdiag.txt", "r") as f:
output = f.read()
if "Card name" in output:
card_name_start = output.index("Card name: ") + len("Card name: ")
card_name_end = output.index("\n", card_name_start)
card_name = output[card_name_start:card_name_end]
else:
card_name = "Unknown"
print(f"Card name: {card_name}")
os.remove("dxdiag.txt")
if "AMD" in card_name:
return "AMD"
elif "Intel" in card_name:
return "Intel"
elif "NVIDIA" in card_name:
return "NVIDIA"
else:
return "Unknown"
else:
# If the `lspci` command is available, use it to get the GPU vendor and model information
output = os.popen("lspci | grep -i vga").read()
if "AMD" in output:
return "AMD"
elif "Intel" in output:
return "Intel"
elif "NVIDIA" in output:
return "NVIDIA"
else:
return "Unknown"