在进行正向推理时,Caffe的GPU利用率不够充分,有什么想法吗?

2024-06-26 03:51:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python和C++版本的咖啡因前向分类脚本进行了编码,以测试CAFE的推理性能。模型已经训练好了。而utils的结果并不完全相同。在

我的设置: 1卡:Titan XP,12GB 2型号:InceptionV3 三。图像尺寸:3*299*299

当BoTCHYSIZE设置为40时,GRAM使用率可以达到10GB,但是GPU UTILS只能达到77%~79%,Python和C++都是这样。因此,性能约为258帧/秒。在

在我的脚本中,我加载了图像,对其进行了预处理,将其加载到输入层,然后重复net\u0.forward()操作。根据我的理解,这不会导致任何Mem拷贝操作,所以理想情况下应该最大限度地提高GPU实用程序。但我只能达到80%。在

C++ Classification Tutorial中,我发现了以下短语:

Use multiple classification threads to ensure the GPU is always fully utilized and not waiting for an I/O blocked CPU thread.

所以我试着使用多线程编译的OpenBLAS,在CPU后端下,实际上更多的CPU参与转发,但GPU后端没有用。在GPU后端下,CPU utils将被固定到大约100%。在

然后,我甚至尝试将批处理大小减少到20,并在两个终端启动两个分类过程。结果是,GRAM的使用量增加到11GB,而GPU的utils减少到64%~66%。最后,性能下降到200帧/秒左右。在

有人遇到过这个问题吗?我真的很困惑。在

任何意见都是受欢迎的。在

谢谢


Tags: 模型图像版本脚本编码cafegpu分类
1条回答
网友
1楼 · 发布于 2024-06-26 03:51:16

正如我所观察到的,GPU util随着

1)低PCI express模式resnet-152(x16)-90%>;resnet-152(x8)-80%>;resnet-152(x4)-70% 2) 大型号-VGG-100%(x16);ResNet-50(x16)-95~100%;ResNet-152(x16)-90%

另外,如果我关闭cuDNN,GPU Util总是100%。在

所以我觉得cuDNN有一些问题,但是我对这个问题不太了解。在

NVCaffe稍好一些,MXNet可以利用GPU 100%(resnet-152;x4)。在

相关问题 更多 >