freepooma-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[RFA] better igc up-to-date-ness tracking, optimized igc communication


From: Richard Guenther
Subject: [RFA] better igc up-to-date-ness tracking, optimized igc communication
Date: Fri, 23 Jul 2004 14:10:40 +0200 (CEST)

As a proof of concept the attached patch implements more accurate tracking
of which igc cells are up-to-date to reduce communication.  It also
implements a new GuardSend/Receive iterate for the POOMA_MPI case which
is able to merge consecutive igc updates by using a global std::map for
bookkeeping (yay!).

A new test Array/tests/array_test30.cpp tries to completely cover all
possible cases of igc updates and passes in serial mode and in MPI mode
for 1 process and #processes == #patches.  For mixed remote/local updates
there seems to be a problem, thus this is RFA and not a patch submission.

Please look at it, tell me how to avoid the global std::map (or if it is
ok), test it with your favorite application, etc.  I'll be away for
holidays for a few weeks now.

Richard.


2004Jul23  Richard Guenther <address@hidden>

        * src/Engine/MultiPatchEngine.h: abstract the dirty flag
        and record partial up-to-date-ness via a GuardLayer object.
        (setDirty): for POOMA_MPI mode clear the global hash.
        src/Engine/MultiPatchEngine.cpp: handle the abstract dirty
        flag.
        (simpleAssign): add optimized mode using the new GuardSend
        and GuardReceive iterates for POOMA_MPI.
        (fillGuardsHandler): honour partial up-to-date information,
        produce partial update domains.
        src/Layout/GuardLayers.h: abstract from the data-type,
        add operator>=.
        src/Threads/IterateSchedulers/SerialAsync.h
        (waitForSomeRequests): fix bug for non-blocking operation.
        (runSomething): always complete complete message iterates.
        src/Tulip/SendReceive.h: add GuardSend and GuardReceive
        iterates that are able to merge with consecutive iterates
        using a global std::map.
        src/Array/tests/array_test30.cpp: new.

Attachment: p
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]