On 21/10/15 03:02 PM, Barry Smith wrote:
On Oct 21, 2015, at 1:54 PM, Eric Chamberland
<eric.chamberl...@giref.ulaval.ca> wrote:
On 21/10/15 02:21 PM, Barry Smith wrote:
Thanks. I don't think I need the Icount but. I think I can just generate an
error if the FILE and LINE don't match exactly?
Barry, I highly recommend you to use the static counter too otherwise you won't
catch the following bug:
if all processes should call "n" times the same line of code (then the same
__LINE__ and __FILE__) but one process do not make the right number of call...
I don't understand.
Say one process called it one less time then the rest. Then during the next
call to MPI_Allreduce by the rogue process it will have a different LINE and
FILE from the others (since they will still be at the previous call site) and
hence the macro will generate an error message since line and file won't match.
What is wrong with my reasoning?
ok, imagine that the rogue process continue... but then the next
collective call encountered is at the very same line of code... which is
possible in 2 situations:
#1: the rogue process continue and don't encounter *any* other
collective call before re-entering the very same function...
#2: the collective call is in a loop!!! (which is in fact a trivial
situation included in #1)
Eric