问题标签 [intel-mpi]
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.
fortran - 直接链接编译器命令,而不是向环境变量添加正确的路径
在这篇文章中,我使用的版本有问题mpirun
。一个快速的解决方案(即使它没有解决所有问题)是在我的环境变量中添加openmpi
版本的路径,以便我的 shell 在查找此命令时知道首先查看那里。mpirun
PATH
在我正在使用的另一个代码中,我需要调用英特尔版本的mpif77
. 一种快速的解决方案是再次将正确的路径添加到我的环境变量中。但是,这意味着我只能让一个代码自动运行,而对于其他代码,我需要进行一些预处理以确保我链接了正确版本的mpi
命令。
有没有办法绕过它?例如,我只想链接mpif77
到它的 intel 版本,并且mpic++
只链接到 openmp 版本,而不是通过PATH
环境变量进行链接,如果你只使用 openmp 或 intel 而不是两者都使用,这最终会很方便。
mpi - 具有多个可执行文件的 mpirun,重置每个可执行文件的排名号
我正在尝试通过一次调用 mpirun 来运行 mpi 可执行文件的多个实例。我正在使用以下行从不同的目录启动我的程序,以便它以不同的参数启动。
可执行文件遵循主从方案,并期望有一个等级为 0的节点充当主节点。
是否可以调用 mpirun 以便在内部我的可执行文件的每个实例都看到它的处理器等级从 0 运行到 7?
c++ - 防止 MPI 忙循环
我有一个 MPI 程序,它过度订阅/过度使用它的处理器。也就是说:进程比处理器多得多。
但是,这些进程中只有少数在给定时间处于活动状态,因此不应该争用计算资源。
但是,就像海底总动员中的海鸥群一样,当这些进程等待通信时,它们都在忙着循环,问“我的?我的?我的?”
我同时使用 Intel MPI 和 OpenMPI(用于不同的机器)。我怎样才能说服他们俩不要忙循环?
我快速而肮脏的解决方案是MPI_Iprobe
在循环中使用 sleep 命令(请参阅此处)。
c++ - 启用 OpenMP 支持
我已经在我的 Windows 机器上安装了Intel MPI 。
引用FLANN 库文档的第 2.2 节:
使用 FLANN 的项目需要使用支持 OpenMP 标准的编译器进行编译,并且必须启用 OpenMP 支持。可以使用 SearchParams 结构中的核心来选择要使用的核心数量。默认情况下,将使用单核。将核心字段设置为零将自动使用与机器上可用核心一样多的线程。
由于我从未使用过英特尔 MPI 或 OpenMP,因此我不知道在这种情况下使用第一个是否可以,以及“必须启用 OpenMP 支持”是什么意思。
mpi - 我的应用程序可以兼容多个版本的 MPI
我有一个使用 MPI_COMM_WORLD 的应用程序。我正在使用 HPC Pack 2008 R2 MPI 构建应用程序,并且在我的本地和大多数 PC 上一切正常。
有时,在另一台 PC 上安装时,我会遇到与 MPI 竞争版本(例如 Intel)的问题。这通常通过将我的 HPC 版本添加到 PATH 来解决。
我最近遇到了一个我无法解决的问题。
我的 MPI 在路径中排在第一位,但出现错误“找不到链接库 mkl_intel_thread.dll”。这告诉我应用程序正在查看英特尔版本。
所以我的一般问题是:
- 是否有与所有其他版本兼容的 MPI 版本?
- 或者有没有办法编译我的应用程序,我可以确保它寻找正确的 MPI 库?
- 或者有没有办法编译使应用程序 MPI 不可知?
提前致谢
mpi - 重复的 MPI_Scatter 值
例如,我有 6 个 MPI 节点形成一个 1D 网格。在主进程中,我有一些网格边缘的值:
我想将这些值分配给与相应边相邻的两个节点。也就是说,我想在节点之间得到以下数据分布:
执行此操作的最佳方法是什么?似乎这不能通过一个MPI_Scatter
电话来完成。
windows - Intel MPI - mpiexec.exe does not run, only gives a blank screen
I have some problem running mpiexec.exe on my computer. I installed intel parallel studio xe cluster edition on my windows 10 laptop, which includes intel-mpi. Then I registered my mpi following this page:
https://software.intel.com/en-us/get-started-with-mpi-for-windows
and then I configured my visual studio 2013 according to: https://software.intel.com/en-us/node/610381
However, when I compile and run the MPI program (in Fortran), a cmd window pops up but nothing shows up. The I tried to use
directly in a cmd window as administrator, nothing shows up after the execution command. I checked my task manager that my program is not running and the entire window just stays like that forever until I hit Ctrl+C to terminate it.
The same program runs perfectly on my desktop and I configured my desktop using exact the same way. I am really confused about this issue since it does not give any error message but a blank screen. Can anyone help me with this issue?
openmpi - 为什么英特尔 MPI 使用 DAPL 和 OpenMPI 原生 ibverb?
我不明白为什么英特尔 MPI 使用 DAPL,如果原生 ibverbs 比 DAPL 快,那么 OpenMPI 使用原生 ibverbs。然而,在这个基准测试中,IntelMPI 实现了更好的性能。
http://www.hpcadvisorycouncil.com/pdf/AMBER_Analysis_and_Profiling_Intel_E5_2680.pdf
mpi - 如果 DAPL 仅依赖于 OFA 作为其下的唯一层,那么 DAPL 如何提供比 OFA 更多的功能?
据我了解,如果系统仅具有底层 Infiniband 连接(即不是 iWarp 或任何其他 DAPL 可以用作替代方案的系统),那么 DAPL 仅作为 OFA/Infiniband 之上的抽象层存在。
如果是这种情况,那么如果 DAPL 仅依赖于 OFA 作为其下的唯一层,那么 DAPL 怎么能提供比 OFA 更多的功能呢? OFED 堆栈
windows - 将 infiniband 与 intel mpi 或其他 mpi(如 openMPI)连接
我是关于如何构建 infiniband 网络的新手,我还没有找到一些关于如何在 Windows 操作系统中实现它的有用 url。我想这样做需要在windows操作系统中将5~8台服务器与infiniband网络连接起来,我为IB选择了intel mpi,并想用这些服务器来做一些并行计算……有没有大一的教程可以问我如何在 Windows 操作系统中使用 intel MPI 或 OpenMPI 将多个节点与 infiniband 网络连接?或者在启动它之前我应该知道什么。
感谢帮助。Ps:我已经尝试过google search,也尝试在Youtube上找到一些视频,但不是我的预期。