MPI突然停止了对多个核心的操作
MPI stopped working on multiple cores suddenly
这段代码以前使用mpi 时运行良好
#include <mpi.h>
#include <iostream>
using namespace std;
int id, p;
int main(int argc, char* argv[])
{
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &id);
MPI_Comm_size(MPI_COMM_WORLD, &p);
cout << "Processor " << id << " of " << p << endl;
cout.flush();
MPI_Barrier(MPI_COMM_WORLD);
if (id == 0) cout << "Every process has got to this point now!" << endl;
MPI_Finalize();
}
给出输出:
Processor 0 of 4
Processor 1 of 4
Processor 2 of 4
Processor 3 of 4
Every process has got to this point now!
当使用命令mpiexec -n 4 ${executable filename}$
在4个核心上运行时
我重新启动了我的笔记本电脑(我不确定这是否是原因(,运行了相同的代码,它在一个核心上输出:
Processor 0 of 1
Every process has got to this point now!
Processor 0 of 1
Every process has got to this point now!
Processor 0 of 1
Every process has got to this point now!
Processor 0 of 1
Every process has got to this point now!
我使用的是微软的mpi,项目配置没有改变。我真的不知道该怎么办。我还安装了intel并行工作室,并在重新启动之前将其与visualstudio集成。但我仍在使用Visual c++进行编译(与正常工作时的配置相同(
简单的修复方法是卸载intel parallel studio
相关文章:
- 为什么在popback()操作之后,它仍然打印完整的矢量
- 重载操作程序时出错>>用于类中的字符串 memebr
- 如何找出GDB的SIGTRAP核心转储的根本原因
- C++映射分割错误(核心转储)
- 尽管测试成功,CppUnit测试核心仍被丢弃.为什么
- 对字符串进行位操作
- 在c++中初始化矩阵时出现分段错误(核心转储)
- C++核心准则 C35 对于接口类"A base class destructor should be either public and virtual, or protected and nonv
- 我可以在 C++ 中的函数体之外进行操作吗?
- MPI突然停止了对多个核心的操作
- 在多个核心中处理一个HTTP请求
- 如何在信号处理程序和普通函数中对全局变量进行互斥读写操作
- 如何处理来自核心指南检查器的关于gsl::at的静态分析警告
- 对字符数组中的元素执行逐位操作
- 在 "CodePad" 中执行链表操作时转储的核心(这是一个在线C++编译器)
- 二进制搜索树操作程序错误:分割故障(核心倾倒)
- 在提供核心转储的 ostringstream 对象上执行 .str().c_str() 操作
- OSX:ld:警告:错误符号操作:适用于核心库
- 使用核心配置文件交换缓冲区使用了无效操作
- 谷歌核心转储程序返回不允许的操作