我使用MVAPICH2启动了一个MPI程序,得到了以下错误:
Fatal error in PMPI_Gather:
Invalid buffer pointer, error stack:
PMPI_Gather(923): MPI_Gather() failed
PMPI_Gather(857): Buffers must not be aliased我认为有两种方法可以解决这个问题:
有人知道我怎么能用MVAPICH2做这件事吗?编译器选项、参数、环境变量等?
类似于MV2_NO_BUFFER_ALIAS_CHECK,但它不起作用。
发布于 2014-07-23 17:28:48
您所做的是一个不正确的程序,您应该重写代码以使用单独的缓冲区
或者,如果您希望使用与您的MPI_IN_PLACE的输入和输出值相同的缓冲区,则可以使用MPI_GATHER。如果不看你的代码,我就不能告诉你怎么做。您可以查看一些关于文档的MPI_GATHER,并阅读关于MPI_IN_PLACE工作方式的更多信息,看看它是否解决了您的问题。
https://stackoverflow.com/questions/24913863
复制相似问题