C++MPI报错集合

MPI的资料真是太少了,调试的方法也少得可怜,作为MPI新人,记录一下日常报错和解决过程,避免反复踩坑.
————————————————————————————————————————

job aborted:
[ranks] message

[0] fatal error
Fatal error in MPI_Scatter: Message truncated, error stack:
MPI_Scatter(sbuf=0x000002C764C6F210, scount=300, MPI_DOUBLE, rbuf=0x000002C764C59B70, rcount=30, MPI_DOUBLE, root=0, MPI_COMM_WORLD) failed
Message truncated; 240 bytes received but buffer size is 240

[1-9] terminated

---- error analysis -----

[0] on DESKTOP-OC33V33
mpi has detected a fatal error and aborted parallelProject.exe

---- error analysis -----

原因:不是很记得了,印象中是就算读数据的只有一个进程(然后广播分发到另一个变量里),其他进程的该变量也需要声明空间。
————————————————————————————————————————

job aborted:
[ranks] message

[0-4] terminated

[5] process exited without calling finalize

[6-9] terminated

---- error analysis -----

[5] on DESKTOP-OC33V33
parallelProject.exe ended prematurely and may have crashed. exit code 0xc0000005

---- error analysis -----

原因:0xc0000005表示访问冲突,在我这里问题是信息发送和接收的数据类型不一致
————————————————————————————————————————

[0] on DESKTOP-OC33V33
parallelProject.exe ended prematurely and may have crashed. exit code 0xc0000374

检查下变量吧我这突然就好了,是个玄学
————————————————————————————————————————

===================================================================================
=   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
=   PID 16906 RUNNING AT para
=   EXIT CODE: 139
=   CLEANING UP REMAINING PROCESSES
=   YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
===================================================================================
YOUR APPLICATION TERMINATED WITH THE EXIT STRING: Segmentation fault (signal 11)

原因:段错误,检查所读入文件是否存在或格式正确,问题出在i/o上
————————————————————————————————————————

terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc

原因:内存爆炸了,new了动态数组之后没有delete

你可能感兴趣的:(MPI并行算法)