import pycuda.driver as drv
import pycuda.autoinit
drv.init()
print("%d device(s) found." % drv.Device.count())
for i in range(drv.Device.count()):
dev = drv.Device(i)
print("Device #%d: %s" % (i, dev.name()))
print(" Compute Capability: %d.%d" % dev.compute_capability())
print(" Total Memory: %s GB" % (dev.total_memory()//(1024*1024*1024)))
attributes = [(str(prop), value)
for prop, value in list(dev.get_attributes().items())]
attributes.sort()
n=0
for prop, value in attributes:
print(" %s: %s " % (prop, value),end=" ")
n = n+1
if(n%2 == 0):
print(" ")
首先,确定系统中存在多少支持CUDA的设备是很重要的,因为一个系统可能包含多个GPU设备。这个数量可以由PyCUDA中驱动程序类的drv.Device.count()函数来获得。系统上所有设备都会被迭代以确定每个设备的属性,使用drv.Device函数创建每个设备的指针对象,此指针用于确定特定设备的所有属性。
name函数为每个特定设备提供对应名称,total_memory将给出该设备上可用的GPU全局内存的大小。其他属性存储为Python字典,可通过get_attributes().items()函数获取,通过Python使用列表解译将其转换为元组列表。列表所有行包含2×1元组,元组有属性的名称及其值。
使用for循环迭代这个列表,在控制台上显示所有设备的属性。