I have 2 questions on the use of the MPI API:
1 ** Do I have to cancel Irecv() and Isend() operations before calling
MPI_Finalize() in the case of when MPI_Finalize() is called, I know for sure
that the application has finished to compute the result, and must exit?
A silly example would be an iterative code that Isends() a value given a
proba, and checks if it receives a value given another proba. At the end,
each prints a value. There's no synchronization. Do I have to track all
Isend() and cancel them before calling MPI_Finalize()?
2 ** When I use a Isend() operation, the manpage says that I can't use the
buffer until the operation completes.
What happens if I use an Isend() operation in a function, with a buffer
declared inside the function?
Do I have to Wait() for the communication to finish before returning, or to
declare the buffer as a global variable?
Associate Professor at UniversitÃ© Lyon 1,
Member of the team project INRIA GRAAL in the LIP ENS-Lyon,
DÃ©lÃ©gation CNRS in Japan French Laboratory of Informatics (JFLI),
* in Information Technology Center, The University of Tokyo,
2-11-16 Yayoi, Bunkyo-ku, Tokyo 113-8658, Japan
* in National Institute of Informatics
2-1-2 Hitotsubashi, Chiyoda-ku, Tokyo 101-8430, Japan