Hi Martin,
Your code seems to have several issues in inform_my_completion: comm is used
uninitialized in the my_pack macro.
If the intention is that isend is executed by spawned processes, MPI_COMM_WORLD
is probably the wrong communicator to use.
Best
Joachim
Fr
Hi,
A source of sudden deadlocks at larger scale can be a change of send behavior
from buffered to synchronous mode. You can try whether your application
deadlocks at smaller scale, if you replace all send by ssend (e.g., add`#define
MPI_Send MPI_Ssend` and `#define MPI_Isend MPI_Issend` after
Hi Gilles,
MPI provides explicit comparison functions to compare opaque handles, for
communicators it is MPI_Comm_compare.
- Joachim
From: users on behalf of Guillaume De Nayer
via users
Sent: Friday, June 24, 2022 5:13:17 PM
To: users@lists.open-mpi.org
Cc:
Instead of using if(tid==0) you should use the fortran equivalent of:
#pragma omp masked
Or
#pragma omp master
For pre-omp-5.1 code
This way you don't need to rely on preprocessor magic using the _OPENMP macro.
At the same time you better express your intended OpenMP semantics.
- Joachim
___
Hi Ernesto,
You program is erroneous from MPI standard perspective. That means you are in
anything can happen land. MPI implementations are typically optimized for
performance and assume correct MPI usage from the application.
In your situation, especially with small message size (?), the broadc
Hi Martin,
Can you provide a minimal reproducer? My first guess would be a missing cleanup
call from your application, which the Linux implementation can handle, but the
cygwin implementation cannot.
Best
Joachim
From: users on behalf of MartÃn Morales via
use