问题标签 [mpi4py]
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.
python - 与 mpi4py 中的衍生进程相互通信?
假设主进程 A 产生一组工作进程 B,每个工作进程 B 都产生自己独特的工作进程 C,我如何打开 C 到 A 之间的通信器?
我正在尝试使用 mpi4py 在彼此分开编写的几段代码之间创建一个循环,同时最大限度地减少对代码的修改。因此,MPI 代码的一般框架将是:
- Master A(一个进程)派生出 8 个 worker B 的进程,并向它们分散一个数组。
- 每个 B 进程生成一个工作 C,对数组进行一些操作,并将其广播给自己的工作。
- 每个工人 C 以自己的方式操作数组,然后(理想情况下)主人 A 从 C 的每个数组中收集一个数组。
我知道这将涉及在现有进程之间打开一个互通器,可能使用组通信。实现这一目标的最佳方法是什么?
谢谢你。
python - MPI4PY - 路由:二项式:与生命线的连接丢失
当我试图从 python 脚本执行一个简单的 Shell 脚本时,我遇到了一个非常奇怪的错误。该脚本仅由第一个节点(rank=0)执行。简单的例子:
结果:
有什么问题?有任何想法吗?
提前谢谢
python-2.7 - 未知的驱动程序类型“mpio”
如果有人能指导我解决以下错误消息,我将不胜感激:
我使用 ubuntu 软件中心安装了 h5py。(我运行 h5cc -showconfig 并注意到并行 HDF5 已启用。)
我在带有 core 2 duo 的 macbook air 上运行,只为 ubuntu 13.04 的虚拟桌面启用了一个内核。
mpi - Anaconda Python 发行版中的 mpi4py 产生问题
mpi4py.MPI.COMM_SELF.Spawn
使用 Anaconda 的 Python 发行版时似乎会抛出错误。我的问题是,在我的 Anaconda 安装中,是否有可能mpi4py
以某种方式针对错误版本的 MPI(mpich v openmpi)构建。
问题是以下代码
给出以下错误
我相信 Anacondampi4py
正在使用 mpich。如果我使用系统 python 它可以工作。
系统mpi4py
使用openmpi。mpi4py
在 Anaconda 中使用冲突的 MPI 版本构建会不会有一些问题?
此外,在调用mpi4py
下运行时,该包似乎在 Anaconda 中正常运行mpirun
。例如
会给
python - MPI.Op 和执行操作
我想使用 MPI.Op 类来执行一些由它的实例表示的操作(在本例中为 MPI.SUM)。
这是我的片段:
但是当我尝试运行它时,我得到了这个回溯:
我是 python 新手,所以很可能我犯了一些简单的错误。有什么想法吗?
我正在使用 Python 2.6.6。
python - MPI4PY:不同数量的节点返回不同的结果
我对使用 MPI 例程相对较新,我很困惑为什么在下面的代码中我会根据我使用的节点数得到不同的结果。
编码:
我用 1 个节点和 2 个节点运行此代码。我从 1 个节点得到的答案是:0.800000153016 我从 2 个节点得到的答案是:0.800000035219
是什么导致了这种差异?
(作为补充说明,我确实尝试将 MPI_sum 中的所有 x 数组数据传递给 root=0,然后在 root=0 上求和,这给了我正确的答案;无论节点数量如何,输出都相同。但是传递所有一个节点的数据对于我将在其中实现的代码是不实用的。)
感谢您的任何帮助!
python - 在 Windows 机器上启动 mpi4py
我在尝试使用MPI
Python 时遇到问题Windows 7, 64bit.
我已经下载Python
了 3.4(也尝试了 2.7 - 同样的错误)并从这里安装了库:http ://www.lfd.uci.edu/~gohlke/pythonlibs/#mpi4py (mpi4py‑1.3.1.win32‑py3 .4.exe 准确地说)。当我继续这段代码时:
我收到此错误:http: //i.imgur.com/pzKoAqc.png
我真的不知道,为什么路径是 " **d:**\build\mpi4py..."
,因为我的计算机中没有名为 d:\ 的分区。
python - 使用 slurm 在网格上运行 helloworld.py 程序
这是一个很长的问题,所以我先做一个总结:
我是并行编程和网格系统的新手。我想在我有帐户的网格中运行http://jeremybejarano.zzl.org/MPIwithPython/introMPI.html中的第一个示例。维护人员提供了一个 C 示例。我可以运行它。但是对于 python 版本,我的排名全为零。可能是什么问题?
问题的长版本:
我有这段代码是用 python 2.7 (+numpy+matplotlib+mayavi) 编写的,需要很长时间才能运行。由于我在某个网格中有一个帐户,我想将代码移到那里,并花更少的时间等待试验完成。
不幸的是,我对并行性、网格等不熟悉。我在网格中也没有管理员权限。
提供了一些文档。系统使用 SLURM。您准备一个 sbatch 文件,并通过sbatch filename
. 有这个用 C 编写的 helloworld 程序示例:
以及管理员提供的运行它的 slurm 文件:
我可以通过 提交sbatch helloworld.slurm
。最后,我看到从 0 到 3 的“hello worlds”。例如,rank 对每个进程采用不同的值。好的!
问题是,没有用 Python 编写的示例程序。系统中的python是旧的:2.6.x。所以我下载了anaconda发行版并安装在用户空间。我尝试改编上面的示例 helloworld.slurm。我想在这里运行 helloworld 示例:http: //jeremybejarano.zzl.org/MPIwithPython/introMPI.html。我可以提交作业,但我得到的 helloworlds 排名都相同,正如您从输出文件中看到的那样。例如,这似乎并没有在不同的进程上运行。
注意:我在 c 版本中得到相同的错误,但它仍然运行并产生不同的等级。
你好世界python版本:
python hello world (main.py) 的 slurm 文件
产生的错误文件:
产生的输出文件:
那么,问题的原因可能是什么?我该如何解决?
我显然向管理员发送了一条消息,但他还没有回复。
python - 使用 MPI 在 Python 中进行图像处理
我正在尝试在 Python 中使用 MPI (mpi4py) 进行一些图像处理。到目前为止,这是我的代码:
当我尝试运行它时
它工作正常。但是如果我尝试增加处理器的数量,我会收到以下错误
我正在使用 Virtual Box 在 Ubuntu 虚拟机上运行代码。感谢你的帮助!
python - 确保两条消息来自同一个 MPI 任务
我正在使用 python (mpi4py) 编写 MPI 编程。许多进程计算部分结果,并将索引和更新发送到主任务。我收集所有数据的代码如下
但是这里有一个竞争条件会影响我对大量处理器的结果——我可能有一种情况,其中cb[neww]=cb[neww]+newdeltaw
数据来自不同的进程。我该如何防止这种情况?news
newdeltaw