MPI + CUDA AWARE,concurrents内核和MPI_Sendrecv

时间:2014-11-14 14:28:28

标签: concurrency cuda mpi profiler mvapich2

在我工作期间,我发现了一个小问题。现在我使用MVAPICH-GDR-2.05和Open MPI 1.7.4和CUDA 6.0。

我正在努力在GPU之间交换不连续的元素(比如矩阵的列),我正在尝试运行两个内核(一个用于分散,一个用于收集)和一个与{{1的通信同时在两个GPU之间。

我已经使用CUDA探查器(nvprof)来查看我的程序正在做什么,而且我看到了奇怪的事情:

  • 使用Open MPI 1.7.4,我有3个cuda流同时工作。
  • 使用MVAPICH-gdr-2.05,我有两个并发内核,而MPI_Sendrecv并不与它们同时发生。

你知道为什么MVAPICH中的MPI_Sendrecv会这样做吗?

这是我的伪代码:

MPI_Sendrecv

这是两个分析器的屏幕截图:

0 个答案:

没有答案