我目前正在研究如果将CPU基准测试并置在一起会如何影响GPU基准测试性能。我得到的一个奇怪的发现是,在受到CPU约束的联合运行程序的相同干扰下,一个基准NAMD CUDA实际上可以在VM上比本机执行更快地运行。
这是我的实验设置:
本机:UBUNTU 18.04.2 LTS,16核@ 2.00GHz,1个NVIDIA Tesla P100 PCIe 16GB GPU,NAMD和受CPU限制的基准测试均启动16个线程并在计算机上同时运行。
VM:VMM是在同一台本地计算机上构建的,VMM是KVM,创建了两个VM,都使用UBUNTU 18.04.2 LTS VM1(运行NAMD)-16个VCPU(一对一固定在内核上),1个NVIDIA Tesla P100 PCIe 16GB GPU(使用Direct-Passthrough) VM2(运行受CPU限制的基准测试)-16个VCPU(一对一固定在内核上)
运行NAMD的命令是./namd2 + p 16 + devices 0 apoa1 / apoa1.namd 如果共同运行的,与CPU绑定的程序单独在本机或VM上运行,则它将占用1600%的CPU。
结果是(NAMD的运行时间和GPU利用率): 本机: 执行时间:85.1秒 GPU利用率:21.5% 虚拟机: 执行时间:69.5秒 GPU利用率:29.0%
在受CPU约束的程序的干扰下,NAMD的本机执行具有更长的执行时间和更低的GPU利用率,这与理论观点相矛盾。您知道可能是问题所在,还是可以通过更多实验来分析这种观察结果?