在进行前向推理时,Caffe 的 GPU 利用率不够充分,知道吗?



我对python和C 版本进行了编码,CAFFE向前分类脚本以测试CAFFE的推理性能。该模型已经受过训练。结果非常相似,gpu ulters还不够饱满。

我的设置: 1.卡:泰坦XP,12GB 2.模型:Inceptionv3 3. IMG尺寸:3*299*299

当batch_size设置为40时,革兰氏的使用量可以达到10GB,但是对于Python和C ,GPU UTILS只能达到77%〜79%。因此,性能大约是 258帧/s

在脚本中,我加载了图像,预处理,将其加载到输入层中,然后重复Net_.forward((操作。根据我的理解,这不会引起任何MEM副本操作,因此理想情况下应该最大程度地拉起GPU utils。但是我只能达到80%。

在C 分类教程中,我在短语下找到:

使用多个分类线程来确保GPU始终充分利用,并且不等待I/O阻止的CPU线程。

因此,我尝试使用多线程编译的OpenBlas,在CPU后端,实际上涉及更多CPU来进行转发,但对GPU后端没有用。在GPU后端,CPU utils将固定为约100%。

然后,我什至尝试将batch_size减少到20,并在两个终端中启动两个分类过程。结果是,革兰氏的使用增加到11GB,但GPU utis降低到64%〜66%。最后,性能降低到 200帧/s

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

欢迎任何意见。

谢谢,

正如我所观察到的,gpu utif随着

而降低

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 uty始终为100%。

所以我认为与Cudnn有一些问题,但我对这个问题不了解。

nvcaffe更好,MXNET可以使用GPU 100%(resnet-152; x4(。

最新更新