MPICH的MPI_Comm_dup()在复制构造函数内部失败

问题描述 投票:0回答:1

我有一个对象需要为其设计副本构造函数。该对象具有MPI_Comm成员,应将其复制到新对象。我不想使用浅表副本,因为正确的方法是复制传播者。

myClass::myCLass(const myClass& in_class)
{
// 
....
MPI_Comm_dup(inclass.comm, &myclass.comm);
...
}

它可以用MPICH很好地编译,但是在运行时由于以下错误而崩溃(“在文件src / mpi / topo / topoutil.c中的断言在第101行失败:n == 0“)其他实现(例如英特尔)也可以正常工作。

c++ mpi mpich
1个回答
0
投票

只有这么少的信息,人们只能猜测。如果它是n topoutil.c中的http://formalverification.cs.utah.edu/sawaya/html/db/d9e/topoutil_8c-source.html,则听起来很像是您要复制空(空?)通信器。

© www.soinside.com 2019 - 2024. All rights reserved.