Dear Collegues,
Recently, I've developed an MPI program that performs sorting of an array of N=10^6 data items. All data items have a type of __int64. The entire sorting is workshared between multiple > 10 processes. To share data between processes I've created an MPI window using MPI_Win_allocate_shared function. While performing an actual sorting of the array of N=10^6 data items running it using 10 or more processes the program hangs (e.g. the sorting process is endless). The program performs the correct sorting only by running it using no more than 2 processes.
Can you help me to figure out why this program cannot be executed using more than 2 processors (see attachment) ?
I've compiled and run the program as follows:
mpiicpc -o sortmpi_shared.exe sortmpi_shared.cpp
mpiexec -np 10 sortmpi_shared.exe
Thanks a lot. Waiting for your reply.
Cheers, Arthur.