Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mvapich2 buffer aliasing

Tags:

mpi

hpc

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.

like image 501
xijhoy Avatar asked Jul 23 '14 14:07

xijhoy


Video Answer


1 Answers

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.

like image 100
Wesley Bland Avatar answered Sep 20 '22 02:09

Wesley Bland