Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ARMv7上MPICH 3.1.5上的MPI Allreduce错误_C_Mpi_Distributed Computing - Fatal编程技术网

ARMv7上MPICH 3.1.5上的MPI Allreduce错误

ARMv7上MPICH 3.1.5上的MPI Allreduce错误,c,mpi,distributed-computing,C,Mpi,Distributed Computing,我有一个由四个树莓皮2模型Bs组成的小集群。我用它们来试验分布式计算 我在Github上有一些代码: 你好(world)c功能正常。全局和c(和f95)错误,输出如下: pi@rpi-cluster-1 ~/RPI-Cluster-Scratch/global_sum_c $ ./run.sh Assertion failed in file src/mpi/coll/helper_fns.c at line 491: status->MPI_TAG == recvtag interna

我有一个由四个树莓皮2模型Bs组成的小集群。我用它们来试验分布式计算

我在Github上有一些代码:

你好(world)c功能正常。全局和c(和f95)错误,输出如下:

pi@rpi-cluster-1 ~/RPI-Cluster-Scratch/global_sum_c $ ./run.sh 
Assertion failed in file src/mpi/coll/helper_fns.c at line 491: status->MPI_TAG == recvtag
internal ABORT - process 0

===================================================================================
=   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
=   PID 26572 RUNNING AT rpi-cluster-1
=   EXIT CODE: 1
=   CLEANING UP REMAINING PROCESSES
=   YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
===================================================================================
[proxy:0:2@rpi-cluster-3] HYD_pmcd_pmip_control_cmd_cb (pm/pmiserv/pmip_cb.c:886): assert (!closed) failed
[proxy:0:2@rpi-cluster-3] HYDT_dmxu_poll_wait_for_event (tools/demux/demux_poll.c:76): callback returned error status
[proxy:0:2@rpi-cluster-3] main (pm/pmiserv/pmip.c:206): demux engine error waiting for event
[proxy:0:3@rpi-cluster-4] HYD_pmcd_pmip_control_cmd_cb (pm/pmiserv/pmip_cb.c:886): assert (!closed) failed
[proxy:0:3@rpi-cluster-4] HYDT_dmxu_poll_wait_for_event (tools/demux/demux_poll.c:76): callback returned error status
[proxy:0:3@rpi-cluster-4] main (pm/pmiserv/pmip.c:206): demux engine error waiting for event
[proxy:0:1@rpi-cluster-2] HYD_pmcd_pmip_control_cmd_cb (pm/pmiserv/pmip_cb.c:886): assert (!closed) failed
[proxy:0:1@rpi-cluster-2] HYDT_dmxu_poll_wait_for_event (tools/demux/demux_poll.c:76): callback returned error status
[proxy:0:1@rpi-cluster-2] main (pm/pmiserv/pmip.c:206): demux engine error waiting for event
[mpiexec@rpi-cluster-1] HYDT_bscu_wait_for_completion (tools/bootstrap/utils/bscu_wait.c:76): one of the processes terminated badly; aborting
[mpiexec@rpi-cluster-1] HYDT_bsci_wait_for_completion (tools/bootstrap/src/bsci_wait.c:23): launcher returned error waiting for completion
[mpiexec@rpi-cluster-1] HYD_pmci_wait_for_completion (pm/pmiserv/pmiserv_pmci.c:218): launcher returned error waiting for completion
[mpiexec@rpi-cluster-1] main (ui/mpich/mpiexec.c:336): process manager error waiting for completion
我正在使用gcc v4.9.2和MPICH 3.1-5(从Debian测试存储库安装)

如果我只在单个设备(比如rpi-cluster-1)上执行代码,但在多个设备上执行时,代码运行良好

我对问题可能是什么有些困惑,特别是因为MPI_COMM_WORLD是一个内部通信器,MPI_In_Place仅对内部通信器无效

有什么想法吗


谢谢。

当我调用MPI_Comm_spawn时,我在CentOS 6.8虚拟机集群上得到相同的断言失败;在我的例子中,它在派生的worker的MPI_Init中失败。使用diff比较版本3.1和版本3.2之间mpich的MPIC_Sendrecv函数的源代码,可以看出包含断言的块在版本3.2中被删除了,但在mpich的错误跟踪系统中似乎没有提到这一点。我试图维护的代码在OpenMPI中也失败,出现错误16,我还没有在CentOS 6.8上安装MPICH 3.2。如果MPI的错误消息更能描述实际问题,那就更好了。我们在设置中发现的一个问题是每个节点上的/etc/hosts文件没有将127.0.0.1解析为“localhost”。他们给了他们实际的节点名。在我们的案例中,修复此问题导致上述断言失败。我不知道OP是否有同样的问题。当我调用MPI_Comm_spawn时,我在CentOS 6.8虚拟机集群上得到相同的断言失败;在我的例子中,它在派生的worker的MPI_Init中失败。使用diff比较版本3.1和版本3.2之间mpich的MPIC_Sendrecv函数的源代码,可以看出包含断言的块在版本3.2中被删除了,但在mpich的错误跟踪系统中似乎没有提到这一点。我试图维护的代码在OpenMPI中也失败,出现错误16,我还没有在CentOS 6.8上安装MPICH 3.2。如果MPI的错误消息更能描述实际问题,那就更好了。我们在设置中发现的一个问题是每个节点上的/etc/hosts文件没有将127.0.0.1解析为“localhost”。他们给了他们实际的节点名。在我们的案例中,修复此问题导致上述断言失败。我不知道OP是否有同样的问题。当我调用MPI_Comm_spawn时,我在CentOS 6.8虚拟机集群上得到相同的断言失败;在我的例子中,它在派生的worker的MPI_Init中失败。使用diff比较版本3.1和版本3.2之间mpich的MPIC_Sendrecv函数的源代码,可以看出包含断言的块在版本3.2中被删除了,但在mpich的错误跟踪系统中似乎没有提到这一点。我试图维护的代码在OpenMPI中也失败,出现错误16,我还没有在CentOS 6.8上安装MPICH 3.2。如果MPI的错误消息更能描述实际问题,那就更好了。我们在设置中发现的一个问题是每个节点上的/etc/hosts文件没有将127.0.0.1解析为“localhost”。他们给了他们实际的节点名。在我们的案例中,修复此问题导致上述断言失败。我不知道OP是否也有同样的问题。