用PyCUDA访问GPU设备属性信息

Python提供了一个 名为PyCUDA 的封装,通过使用Nvidia CUDA API能够利用GPU的并行计算能力; Python 也有一个PyOpenCL模块能够用于任何GPU的并行计算。

PyCUDA是主要针对NVIDIA的GPU的,为了使用该库,需要你有相应的GPU设备,以及安装了CUDA toolkit (CUDA toolkit下载地址);

Step1 安装PyCUDA

安装前提是确保你装了python,cuda;

window下 到PyCUDA下载链接 下载对应CUDA版本,python版本,系统版本的安装文件(以.whl结尾的文件);

推荐使用anaconda环境,然后打卡个prompt终端,用pip 安装上面下载的whl文件;

pip istall xxxxx-your-download-file-xxx.whl

为了确保安装完成,用ipython打开,输入

import pycuda

看是否报错,如没有报错则表示安装完成;

 

Linux 下安装的方式

我这边依然推荐anaconda环境管理;

打开个终端,运行如下指令:

conda install -c lukepfister pycuda

// 或者 conda install pycuda

然后用以下指令去验证是否安装完成;

用PyCUDA访问GPU设备属性信息_第1张图片

如果import 没有报错,表示安装完成;

 

Step 2 查看GPU设备信息

编写个脚本,例如命名为 check_device.py, 内容如下:

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)        #索引第 i 个GPU       
    print("Device #%d: %s" % (i,dev.name()))  #打印GPU名称
    print("Compute Capability: %d.%d" % dev.compute_capability())          #第i个 GPU计算能力 
    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(" ")

然后用python  check_device.py运行,输出如下(设备太多,不一一列举):

用PyCUDA访问GPU设备属性信息_第2张图片

你可能感兴趣的:(深度学习/机器学习,移动端(边缘设备)深度学习)