1

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

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

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

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

4

0 回答 0