Matlab双GPU内存使用情况

时间:2016-07-27 05:09:16

标签: matlab matrix multi-gpu

我有一张名为Titan Z的双GPU卡。我有Matlab 2016a尝试为不同的“Ax=b”值解决稀疏b方程组。 Titan Z每个gpu有两个GPU和6 GB ram

这是问题所在。

  1. 如果我在1 GPU上解决Ax=b问题,我们假设'A'矩阵大小为 2GB,Matlab将此矩阵复制到每个GPU的vram中。 GPU-Z报告 每个GPU有2 GB的数据,只有1个GPU工作
  2. 如果我在2 GPU上解决两个Ax=b问题,让我们说'A'矩阵大小为2GB,Matlab再次将此矩阵复制到每个GPU的vram两次。现在,GPU-Z报告每个GPU有4GB数据,两个GPU同时工作。
  3. 如果我因为Vram不足而同时尝试解决'4GB'问题Nvidia驱动程序崩溃。但我可以在一个GPU上解决它。不同时在2 GPU上。
  4. 问题是Matlab将这些矩阵复制两次,当不需要时,更有趣的是,当两个GPU使用完全相同的“A”矩阵但不同的“b”向量时,它会执行此操作。

    我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

对我自己的问题回复有点迟,但这是解决方案。 在Nvidia控制面板中禁用多GPU模式解决了这个问题。 基本上它禁用了sli和gpus可以独立运行。这很简单。