Mvapich2 buffer aliasing

南楼画角 提交于 2019-12-07 05:00:57

问题


I am launched an MPI program with MVAPICH2 and got this error:

Fatal error in PMPI_Gather:
Invalid buffer pointer, error stack:
PMPI_Gather(923): MPI_Gather() failed
PMPI_Gather(857): Buffers must not be aliased

There are two ways I think I could solve this:

  1. Rewrite my MPI program (use different buffers)
  2. Disable checking buffer aliasing

Do someone know how I could do this with MVAPICH2? Some compiler option, parameter, environmental variable, etc?

Something like MV2_NO_BUFFER_ALIAS_CHECK, but it does not work.


回答1:


What you're doing is an incorrect program and you should rewrite your code to use separate buffers

Alternatively, you might be able to use MPI_IN_PLACE if you want to use the same buffer as both the input and output values of your MPI_GATHER. Without seeing your code, I can't tell you how you could do that. You can check out some documentation about MPI_GATHER and read more about how MPI_IN_PLACE works and see if that solves your problem.



来源:https://stackoverflow.com/questions/24913863/mvapich2-buffer-aliasing

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!