[PATCH] kill POOMA_REORDER_ITERATES

Richard Guenther rguenth at tat.physik.uni-tuebingen.de
Tue Aug 17 07:18:39 UTC 2004


On Mon, 16 Aug 2004, Jeffrey D. Oldham wrote:

> Richard Guenther wrote:
>
> >===== r2/src/Pooma/Pooma.cmpl.cpp 1.3 vs edited =====
> >--- 1.3/r2/src/Pooma/Pooma.cmpl.cpp	2004-01-17 16:20:23 +01:00
> >+++ edited/r2/src/Pooma/Pooma.cmpl.cpp	2004-08-16 16:47:24 +02:00
> >@@ -803,10 +803,6 @@
> >     SystemContext_t::runSomething();
> >   }
> >
> >-# elif POOMA_REORDER_ITERATES
> >-
> >-  CTAssert(NO_SUPPORT_FOR_THREADS_WITH_MESSAGING);
> >-
> > # else // we're using the serial scheduler, so we only need to get messages
> >
> >   while (Pooma::incomingMessages())
> >
> >
> This change worries me.  Doesn't this change the code's meaning?

Hm.  Looking at the context I suppose not:

#if POOMA_CHEETAH

# if POOMA_SMARTS_SCHEDULER_SERIALASYNC

  typedef Smarts::SystemContext SystemContext_t;

  while (Pooma::incomingMessages() || SystemContext_t::workReady())
  {
    controller_g->poll();
    SystemContext_t::runSomething();
  }

# elif POOMA_REORDER_ITERATES

  CTAssert(NO_SUPPORT_FOR_THREADS_WITH_MESSAGING);

# else // we're using the serial scheduler, so we only need to get
messages

  while (Pooma::incomingMessages())
  {
    controller_g->poll();
  }

# endif // schedulers

#else // !POOMA_CHEETAH

  mainScheduler_s.blockingEvaluate();

#endif // !POOMA_CHEETAH


I think the check for POOMA_REORDER_ITERATES was bogous, as for
POOMA_SMARTS_SCHEDULER_SERIALASYNC it would have been true and
in the other case (!POOMA_SMARTS_SCHEDULER_SERIALASYNC) not set
anyways.  To check for threads here would need checking POOMA_THREADS
(smarts support) or POOMA_OPENMP (OpenMP support), but this checking
is already done at configure time.

Also I believe using Cheetah (MPI) with the serial scheduler does not work
at all.

Richard.

--
Richard Guenther <richard dot guenther at uni-tuebingen dot de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/




More information about the pooma-dev mailing list