将MatConvNet与新旧GPU

时间:2017-10-20 06:02:28

标签: matlab deep-learning gpu multiple-gpu matlab-gpu

我在Windows 7 64位计算机上安装了两个GPU:NVIDIA GeForce GTX 750 Ti和GeForce GTX 570.前者的计算能力为5,后者的计算能力为2。

对于我的一个项目,我想利用MatConvNet,一个用于在MATLAB中以类似于Caffe或TensorFlow的方式拟合卷积神经网络(CNN)的库。该软件包支持使用两种显卡,但是用于深度学习的NVIDIA工具包cuDNN仅与具有3或更高计算能力的显卡兼容。如果我决定只使用750 Ti,我可以使用enableCudnn设置为true的选项编译MatConvNet,如果我决定只使用570,我必须使用选项集编译它到false

在一个简单的CNN上,我创建了三个卷积层,三个汇集层,一个完全连接层和一个softmax层对手写数字进行分类,我注意到训练时间最短仅为750 Ti,其次是两张卡的组合,然后是570。这是因为当我使用这两种卡时,我必须使用enableCudnn编译MatConvNet包到false,这会阻止MatConvNet使用作为cuDNN一部分的快速卷积代码。但是,拥有两个GPU仍然比单独使用570更好。

我想知道是否有一种方法可以为每个显卡分别编译MatConvNet,因此750使用cuDNN,而570则没有。不考虑在图形卡之间分配工作负载的开销,与单独使用750相比,这理论上应该加速代码。有人可以告诉我他们是否做过这样的事情,如果有可能的话,和/或如果这样做怎么办?

0 个答案:

没有答案