-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Working on my project I run into following problem.
In general I have two threads per one node. Here, node means one host
with one MPI process. Both threads perform blocking send and blocking
receive. Important is that one of them spends most of the time making
receive. I plan to write kind of wrappers for standard MPI_Send and
MPI_Recv - mtMPI_Send and mtMPI_Recv, respectively. mtMPI_Send locks
global mutex, than performs MPI_Send and unlocks mutex:
mtMPI_Send(...) {
~ LOCK_MTX
~ MPI_Send(...);
~ UNLOCK_MTX
}
The idea of mtMPI_Recv is to perform nonblocking probe, than receive:
mtMPI_Send(...) {
~ while (flag) {
~ LOCK_MTX
~ MPI_Iprobe(..., flag)
~ UNLOCK_MTX
~ }
~ LOCK_MTX
~ MPI_Recv(...)
~ UNLOCK_MTX
}
Of course this approach is not really efficient, but it provides some
kind of concurrency. What is the chance it will work with LAM?
Best regards,
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
iD8DBQFBQIrVxWG8XCjlC/cRAqI0AJ4vIvmbaergTB6hZR+3niTO0xfJBgCg4uxa
ManBq/nmFz0Ph26AGwvng6U=
=q/lB
-----END PGP SIGNATURE-----
|