Hi Hicham,
On Tue, Dec 7, 2010 at 9:37 AM, Hicham Mouline
MPI_THREAD_SINGLE = no threads at all.
MPI_THREAD_FUNNELED = you can have threads, but only the *main* thread (see below) issues MPI calls; you can think of this as: your application is multi-threaded, but it is single-threaded when it comes to MPI interaction.
I am just curious as to the value of distinguishing between these 2. Is it just informative?
The distinction could be important to the MPI implementation, in that it may have to take some further steps if threads are used *at all*, e.g., using the re-entrant version of C library calls. (Whether it actually makes any difference, it really depends on the MPI library.) More info in the "Rationale" paragraph at: http://www.mpi-forum.org/docs/mpi22-report/node260.htm#Node260 Cheers, Riccardo