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/