On Thu, 15 Jan 2004, Jeffrey D. Oldham wrote:
I appreciate your finding the difficulty and your taking the time to
explain the problem. I am reluctant to add code that is known to be
broken for some situations. Is there a way to mark the code so 1) the
known brokenness is marked and 2) the program asks sensibly when the
brokenness is experienced?
I understand your concerns. I can add a comment describing the brokenness
(which boils down to "we don't have a collective barrier abstraction" -
blockAndEvaluate() is _not_ collective). Detecting it would be possible
by asserting that each context at least does either Send or Compute.
I'll think some more about the collective barrier -- maybe extend the
generation tracking to allow blocking (collectively) for completion of the
generation at endGeneration() time.