> On Oct 21, 2015, at 2:09 PM, Eric Chamberland 
> <eric.chamberl...@giref.ulaval.ca> wrote:
> 
> 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)

  Sure, but in that "case" the count would be identical on both processes 
anyways and so would not detect a problem? How could the count be different?

  Barry

> 
> Eric
> 

Reply via email to