-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
| That should actually work fine, but as you pointed out, it'll perform
| fairly poorly if you have fewer CPUs than threads.
|
| Is there a reason you have to use blocking communication and probe?
| Probe is actually fairly evil. Can you use non-blocking communication
| instead? Note that a blocking MPI_SEND does not necessarily imply that
| the message has been received when it returns (in fact, it doesn't
| indicate anything at all about the state of the receive when MPI_SEND
| returns).
Well, in fact problem is more complicated. I utilize library which
provides several types of communication layer. One is MPI based. During
initialization it duplicates MPI communicator and uses it to perform
communication. Since library provides only blocking communication
primitives I am little bit tied. My application, which is also MPI based
~ works with blocking receive as well...
And what about implementation with non-blocking receive starting
first? Is it different from the previous version?
mtMPI_Send(...) {
~ LOCK_MTX
~ MPI_Irecv(...);
~ UNLOCK_MTX
~ while (!flag) {
~ LOCK_MTX
~ MPI_Test(...,flag);
~ UNLOCK_MTX
~ }
}
Best regards, and thanks for help,
j.zola
- --
.....................................................................
Jaroslaw ZOLA Institute of Computer & Information Sciences
zola_at_[hidden] Czestochowa University of Technology
icis.pcz.pl/~zola Dabrowskiego 73, 42-200 Czestochowa, POLAND
.....................................................................
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFBQVWSxWG8XCjlC/cRAtpOAJ9RQT8w4P56LSku1AAPVZYU0XoL+gCdFUJg
kHUSvFBEOYwN0bybWDzFuDE=
=LMCS
-----END PGP SIGNATURE-----
|