[Patches] more efficient synchronisation of groups
Thomas Radke
tradke at aei.mpg.de
Fri Jun 30 10:44:12 CDT 2006
This follows a recent discussion on the developers mailing list about
the "cost of repeated calls on CCTK_SyncGroup()":
http://www.cactuscode.org/old/pipermail/developers/2006-June/004926.html.
The current flesh API provides a function CCTK_SyncGroupsI() which is
called by the scheduler to synchronise a list of groups. Internally
however, this function does a loop over this list, calling
CCTK_SyncGroup() (which is overloaded by a driver) for each group
separately.
The attached set of patches
* introduces a new overloadable function CCTK_SyncGroupsByDirI()
which CCTK_SyncGroupsI() maps to
* provides the overloaded function in the PUGH driver (which internally
will again do the loop over all groups, synchronising one group after
another)
* for completeness, provides the overloaded function in the Carpet
driver (which already has internal logic to synchronise multiple
groups in one go)
For PUGH runs, nothing will change. Carpet runs will benefit from the
more efficient group synchronisation scheme and potentially run faster.
--
Cheers, Thomas.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: SyncGroupsByDirI-Carpet.patch
Type: text/x-patch
Size: 3297 bytes
Desc: not available
Url : http://www.cactuscode.org/pipermail/patches/attachments/20060630/f45d2fde/attachment.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: SyncGroupsByDirI-Flesh.patch
Type: text/x-patch
Size: 4773 bytes
Desc: not available
Url : http://www.cactuscode.org/pipermail/patches/attachments/20060630/f45d2fde/attachment-0001.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: SyncGroupsByDirI-PUGH.patch
Type: text/x-patch
Size: 4114 bytes
Desc: not available
Url : http://www.cactuscode.org/pipermail/patches/attachments/20060630/f45d2fde/attachment-0002.bin
More information about the Patches
mailing list