问题标签 [mvapich2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cuda - 多 GPU 上的 MVAPICH 导致分段错误
我在 Debian 7 机器上使用 MVAPICH2 2.1。它有特斯拉K40m的多张卡。代码如下。
简而言之,我首先将设备设置为GPU 0,发送一些东西。然后我将设备设置为 GPU 1,发送一些东西。
输出如下。
所以第一次发送就OK了。但是一旦我将我的设备设置为另一个 GPU,然后 MPI 发送,砰!我想知道为什么会这样。
另外,我使用以下命令构建了 MVAPICH。
我启用了调试并打印了堆栈跟踪。希望这有帮助..
tcp - 如何告诉 MVAPICH2 使用 tcp?
如果我使用 infiniband 进行两个节点之间的通信(使用 MVAPICH2 作为 MPI 实现),我的应用程序会产生错误的结果。
OpenMPI 提供了指定网络的可能性
MVAPICH2 有什么类似的吗?
fortran - 不清楚的 MPI 消息
我正在运行一个并行应用程序,它运行正常,直到突然中止,并从几个核心进行以下按摩:
我是 MPI 使用/调试的新手。我的搜索没有得出明确的结论(即https://software.intel.com/en-us/node/535587);以上按摩指的是什么?如何通过这样的按摩在并行(Fortran)代码中找到错误?
一个后续问题:如果我的应用程序有一个内部重块,其中部分节点正在花费越来越多的时间,完成任务的节点在Infiniband
达到拥塞之前可以在接口处等待较慢的节点多长时间?
mpi - 用 PGI 编译 mvapich2-2.1
我目前正在尝试在 CentOS 6 机器上使用 pgcc 15.10 编译 mvapich2-2.1。我跑
它失败了(不包括大部分诊断输出)
这个问题的解决方案是什么?我没有使用汇编程序的经验,所以任何提示/建议将不胜感激。谢谢。
mpi - 玩具程序使用 OpenMPI 1.6 失败,但可与 Mvapich2 一起使用
我试图弄清楚为什么我的 OpenMPI 1.6 版本不起作用。我在 CentOS 6.6 上使用 gcc-4.7.2。给定一个玩具程序(即 hello.c)
并编译mpicc hello.c
和运行mpirun -np 8 ./a.out
,我得到错误:
如果我使用 mvapich2-2.1 和 gcc-4.7.2 运行它,我就Hello World from Task N
没有任何这些错误/警告。
查看链接到的库a.out
,我得到:
如果我用 mvapich2 重新编译它,
这里有什么问题?这是由于在 openmpi 案例中未链接到 infiniband 库吗?
memory - 没有足够的锁定内存(rdma_setup_startup_ring:无法创建 cq)
我在 CentOS 7 上锁定的页面中的可用内存量存在问题。使用slurm分配节点后,当我使用 MPI (mvapich) 启动作业时,遇到以下错误:
这似乎是由于缺少锁定的内存。但是,它似乎设置为无限制,因为ulimit -a
返回:
使用 sudo启动mpirun
时,它正在工作。
c - Comparing CPU utilization during MPI thread deadlock using mvapich2 vs. openmpi
I noticed that when I have a deadlocked MPI program, e.g. wait.c
When I compile wait.c
with the mvapich2-2.1 library (which itself was compiled using gcc-4.9.2) and run it (e.g. mpirun -np 4 ./a.out
) I notice (via top
), that all 4 processors are chugging along at 100%.
When I compile wait.c
with the openmpi-1.6 library (which itself was compiled using gcc-4.9.2) and run it (e.g. mpirun -np 4 ./a.out
), I notice (via top
), that 2 processors are chugging at 100% and 2 at 0%.
Presumably the 2 at 0% are the ones that completed communication.
QUESTION : Why is there a difference in CPU usage between openmpi and mvapich2? Is this the expected behavior? When the CPU usage is 100%, is that from constantly checking to see if a message is being sent?
mpi - Infiniband vs. Gigabit ethernet, how do I control which is used by an MPI program
I have an MPI program that runs on a computer cluster that has both ethernet and Infiniband connectivity. When I compile with mpavich2's mpicc, it automatically links to the Infiniband libraries.
Is there a way to control which network is used when compiling an mpi program?
I checked the man page for mpicc and it was not useful for this.
multithreading - MPI 中的“Got unknown event 17 ... continue ...”是什么意思
我正在运行 MPI 作业并收到以下警告消息:
我正在使用 MVAPICH 2.1 编译 icc (ICC) 15.0.2 20150121。
消息是什么意思?它有害吗?
cuda - 一个 K80 内的两个 GPU 的 CUDA 感知 MPI
我正在尝试优化名为 LAMMPS ( https://github.com/lammps/lammps ) 的 MPI+CUDA 基准测试的性能。现在我正在运行两个 MPI 进程和两个 GPU。我的系统有两个插座,每个插座连接到 2 个 K80。由于每个 K80 内部包含 2 个 GPU,因此每个插槽实际上连接到 4 个 GPU。但我只在一个插槽中使用 2 个内核,以及连接到该插槽的 2 个 GPU(1 K80)。MPI 编译器是 MVAPICH2 2.2rc1,CUDA 编译器版本是 7.5。
这就是背景。我分析了应用程序,发现通信是性能瓶颈。我怀疑这是因为没有应用 GPUDirect 技术。所以我切换到 MVAPICH2-GDR 2.2rc1 并安装了所有其他必需的库和工具。但是 MVAPICH2-GDR 需要 Infiniband 接口卡,这在我的系统上不可用,所以我有运行时错误“通道初始化失败。系统上没有找到活动的 HCA”。根据我的理解,如果我们只想在一个节点上使用 1 K80 以内的 GPU,则不需要 Infiniband 卡,因为 K80 具有用于这两个 GPU 的内部 PCIe 开关。这些是我的疑惑。为了让问题更清楚,我将它们列出如下:
在我的系统中,一个插座连接到两个 K80。如果一个 K80 中的两个 GPU 需要与另一个 K80 中的 GPU 通信,那么我们要使用 GPUDirect 就必须有 IB 卡,对吗?
如果我们只需要使用1个K80内的两个GPU,那么这两个GPU之间的通信就不需要IB卡了,对吧?但是,MVAPICH2-GDR 至少需要一张 IB 卡。那么有什么办法可以解决这个问题吗?或者我必须在系统上插入 IB 卡?