Dear All,

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?

Thank you!

.Yves.

-- 
Yves Caniou
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
    tel: +81-3-5841-0540
  * in National Institute of Informatics
    2-1-2 Hitotsubashi, Chiyoda-ku, Tokyo 101-8430, Japan
    tel: +81-3-4212-2412 
http://graal.ens-lyon.fr/~ycaniou/

Reply via email to