tuoheng_AIPlatform/yolov5-th/gpu_check.py

46 lines
1.7 KiB
Python
Raw Permalink Normal View History

2025-07-15 10:01:04 +08:00
import torch
def check_gpu_availability():
"""检查GPU可用性并打印详细信息"""
print("="*50)
print("GPU/CUDA 可用性检查")
print("="*50)
# 1. 检查PyTorch是否支持CUDA
if not torch.cuda.is_available():
print("❌ 错误: PyTorch未编译CUDA支持或未检测到NVIDIA驱动")
return False
# 2. 检查GPU数量
gpu_count = torch.cuda.device_count()
print(f"✅ 找到 {gpu_count} 个GPU设备")
# 3. 打印每个GPU的详细信息
for i in range(gpu_count):
print(f"\nGPU {i} 详细信息:")
print(f" 名称: {torch.cuda.get_device_name(i)}")
print(f" CUDA计算能力: {torch.cuda.get_device_capability(i)}")
print(f" 总显存: {torch.cuda.get_device_properties(i).total_memory/1024**3:.2f} GB")
# 检查当前是否被选中
current_device = torch.cuda.current_device()
print(f" {'' if i == current_device else ' '} 当前使用设备: {'' if i == current_device else ''}")
# 4. 执行实际GPU计算测试
try:
print("\n正在执行GPU计算测试...")
x = torch.randn(1000, 1000).cuda()
y = torch.randn(1000, 1000).cuda()
z = (x @ y).mean() # 矩阵乘法
print(f"✅ GPU计算测试成功完成! 结果: {z.item():.4f}")
return True
except Exception as e:
print(f"❌ GPU计算测试失败! 错误信息:")
print(str(e))
return False
if __name__ == "__main__":
if check_gpu_availability():
print("\n🎉 您的GPU已准备好用于PyTorch训练!")
else:
print("\n⚠️ 您的GPU不可用请检查以上错误信息")