Skip to main content

windows 安装TeslaP40 显卡驱动

Dell官方优化后的VMware ESXi 6.7

地址: https://dell.com/support/home/zh-cn/drivers/DriversDetails?c=cn&driverid=gv3pd&s=dhs

配置直通后无法开机

在虚拟机的高级设置里面设置以下参数即可
pciPassthru.64bitMMIOSizeGB=“128”
pciPassthru.use64bitMMIO=“TRUE”

Tensorflow GPU 支持

https://tensorflow.google.cn/install/gpu?hl=zh-cn

驱动版本对应表一览

官方文件: CUDA_Toolkit_Release_Notes.pdf 地址:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

Windows Server 2019 安装P40显卡并支持TensorFlow

本次安装以支持TensorFlow为目的,先进入tensorflow官网了解一下TensorFlow支持的驱动 https://www.tensorflow.org/install/source?hl=zh-cn#linux

下载驱动

https://www.nvidia.com/download/index.aspx?lang=en-us

安装以下配置选择 我要求的配置能达到tensorflow官网最稳定的要求

查看驱动版本
nvcc -V

CUDA

https://developer.nvidia.com/cuda-toolkit-archive

cuDNN

下载页 https://developer.nvidia.com/rdp/cudnn-download 选择: https://developer.nvidia.com/downloads/compute/cudnn/secure/8.8.1/local_installers/11.8/cudnn-windows-x86_64-8.8.1.3_cuda11-archive.zip/

把文件打开并解压到CUDA目录中

cuDNN解压

把这三个文件夹的文件分别拷贝到CUDA安装目录对应的(bin、include、lib)文件夹中即可。CUDA的lib目录有x64 、Win32、cmake三个文件夹,拷到其中的x64这个文件夹中

测试是否安装成功

进入目录:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\demo_suite
# 输入deviceQuery,查询一下本机的gpu设备
deviceQuery
....
# 再来测试一下带宽,输入bandwidthTest -
bandwidthTest

安装Tensorflow

 pip install tensorflow==2.5.0 -i  https://pypi.mirrors.ustc.edu.cn/simple

测试

测试P40算力
 python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'));"

# 提示以下内容即代表安装完毕
...
[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
import tensorflow as tf

# 指定使用的GPU设备
physical_devices = tf.config.list_physical_devices('GPU')
tf.config.experimental.set_memory_growth(physical_devices[0], True)

# 创建一个随机的矩阵
x = tf.random.normal([10000, 10000])

# 创建一个神经网络层
layer = tf.keras.layers.Dense(1000, input_shape=[10000])

# 通过神经网络层传递随机矩阵x
y = layer(x)

# 记录时间并运行神经网络计算
import time
start_time = time.time()
result = y.numpy()
end_time = time.time()
elapsed_time = end_time - start_time

# 计算算力
flops = 2 * 10000 * 10000 * 1000 / elapsed_time / 1e9

# 打印输出结果
print("Tesla P40算力: %.2f GFLOPS" % flops)