问题标签 [mpic++]

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.

0 投票
1 回答
130 浏览

mpi - 使用 MPI 发送-接收消息时出现不良行为

我正在探索 C++ 中的 MPI,我想并行创建 Mandelbrot 集的图片。我正在使用ppm格式。每个处理器构建自己的部分并将其发送回作为 MPI_CHAR 接收它的主进程。这是代码:

代码编译:

运行 3 个进程(进程主进程 + 进程等级 1 和 2)

ppm使用 3、4 和 5 进程运行时的结果图片:

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

当超过 3 个进程尝试将 MPI_CHAR 元素发送到主进程时,似乎发送-接收的点对点通信正在混合结果。如何避免这种行为?

0 投票
1 回答
236 浏览

mpic++ - 使用 MPI_Win_create_dynamic 时 MPI_Put 不起作用,为什么?

我用MPI_Put和MPI_Win_create_dynamic一起使用,但是不起作用,只是卡在MPI_Win_fence之前,无法通过,不知道为什么?

但是当我添加 MPI_Win_flush 时,我得到了以下错误:

MPI_Put 调用有什么问题吗?

源coe如下:

0 投票
0 回答
63 浏览

c++ - 简单的 MPI 程序不会执行并进入睡眠模式 (C++)

我正在尝试使用mpic++编译器运行这个简单的 MPI 程序。

我编译mpic++ main.cpp 并在执行时mpirun -n 2 ./a.out 收到警告no protocol specified,这可能与我通过 ssh 连接到桌面并且我试图在那里运行程序的事实有关,但最重要的是,它什么也没做。

如果我输入top没有a.out列出,如果我输入 ps aux | grep ./a.out我得到:

这是一个动态链接问题还是什么?有什么建议么?

0 投票
0 回答
122 浏览

eclipse - Eclipse IDE for Scientific Computing for C++ on windows

我已经安装了最新版本的 Eclipse IDE 用于科学计算 2020-12。我正在尝试运行 MPI c++ 项目,但出现此错误:

在 PATH 中找不到程序“mpic++”

我已经在我的系统上安装了 Microsoft MPI,但现在我不知道如何在 windows10 上获取 mpic++。我从这里下载了它, 但不知道如何打开src.rpm文件!

0 投票
1 回答
89 浏览

cuda - 如何在make的命令行选项中指定mpicxx的包含目录?

我正在尝试通过make在示例的基本文件夹中运行来构建所有 CUDA 示例。其中一个示例需要mpi.h,但系统没有它,这会导致错误:

因为我没有root权限,所以我下载了一个deb文件libopenmpi-dev包(使用apt-get download命令)并将它解压到我的用户空间中的某个地方(使用dpkg -x命令)。但是,正如我们所看到的,mpicxx尝试查找mpi.hin ../../common/inc,这不是我libopenmpi-dev在我的用户空间中安装的位置(直到我安装了软件包,我才注意到这一点。我的错)。所以我需要以某种方式告诉在另一个目录mpicxx中查找。mpi.h我知道有一个-I选项可以告诉make其他包含目录在哪里,但是这个选项不适用于mpicxx. 如何将目录信息make从命令行传递mpicxx到我的知识范围之外。你能教我应该使用什么选项吗make的命令行来指定使用的包含目录mpicxx?当然,我可以手动复制已安装的libopenmpi-dev包以../../common/inc适应 CUDA 示例中的原始设置,但我想做一些很酷的事情并学习新的东西,所以我在这里问。提前谢谢你教我。

环境:

  • 核心版本为 5.8.0 的远程 Linux。我不是超级用户。
  • CUDA 版本:11.2
  • CPU:英特尔酷睿 i9-10900K
  • gcc 版本:(Ubuntu 10.2.0-13ubuntu1)10.2.0
  • 制作版本:GNU Make 4.3,为 x86_64-pc-linux-gnu 构建
  • MPI 版本:4.0.3
0 投票
0 回答
16 浏览

c++ - MPI CPP - 导致所有等级的集体中止(尝试杀死进程,更改从节点)

当我正在编写 CPP 代码以应用 MPI 时。我收到错误,因为作业 1 cssmpi1h.uwb.edu_41278 中的等级 3 导致等级 3 的所有等级退出状态的集体中止:被信号 9 杀死

我在一个最大运行 500 次的 while 循环中应用 MPI,但目前,对于我的数据集,它运行大约 20-25 次并从循环中中断。我已经成功编译了代码并运行了它。当它在循环中运行 20 次时,我得到了一次所需的输出。后来我尝试再次运行它,它在循环中的第 5 次或第 8 次停止。它突然停止。我尝试使用 ps -u uname 杀死当前正在运行的进程,然后使用 kill -9 PID 杀死它。但这也行不通。我也尝试更改从节点,它没有工作。

请在下面找到我的代码的高级视图。

高级视图代码

如果代码或设置有问题,请告诉我。我的猜测是堆空间问题或由于 MPI_FINALIZE,从节点断开连接,并且 0 级无法继续。了解此问题是否有任何解决方案将很有帮助。

请在此处找到代码 - https://drive.google.com/drive/folders/1PUbunQdFo1199CIkQCdY4L_D50iLU-pD?usp=sharing