使用GPU处理数时,需要将内存中的数据搬移到显存中,GPU处理完成后,还要将数据从显存搬移回内存。数据搬移速率将直接影响CUDA程序执行效率。如何查看数据搬移带宽呢?
1. 查看PCI版本
在centos下,执行如下指令
sudo dmidecode | grep "PCI"
执行结果如下图所示
不同的PCI版本对应的速度如下所示。
2. 查看显卡PCIe速度
运行
lspci |grep -i nvidia
查看显卡信息,运行结果如下图所示,第一行即机器显卡。
其中,3b:00.0 表示vendor id。查看device id
lspci -n |grep -i 3b:00.0
其中10de:2231即为device id。查看改id对应的速度
sudo lspci -n -d 10de:2231 -vvv |grep -i width
LnkCap 为显卡理论的传输速率上限,LnkSta为显卡当前实际的传输速率。LnkSta的值是会发生变化的,这是因为英伟达的显卡会根据实际使用情况进行自动切换。