[Developers] [Patches] more efficient synchronisation of groups

Erik Schnetter schnetter at cct.lsu.edu
Mon Jul 3 09:00:37 CDT 2006


On Jul 3, 2006, at 06:38:11, Thomas Radke wrote:

> Tom Goodale wrote:
>> Looks good.  Just a few things to make the transition easier and  
>> safer:
>>
>> * This will eventually completely replace the current overloading of
>> CCTK_SyncGroup, so the default CCTK_SyncGroup should now call
>> CCTK_SyncGroupByDirI.
>>
>> * Overloading CCTK_SyncGroup should now produce a warning message  
>> saying
>> this is deprecated and they should overload CCTK_SyncGroupByDirI.
>>
>> * The default for CCTK_SyncGroupByDirI should check for a NULL  
>> directions
>> array and then call CCTK_SyncGroup in a loop if CCTK_SyncGroup has  
>> been
>> overloaded.  (This code will disappear once CCTK_SyncGroup is no  
>> longer
>> overloadable.)
>>
>> The intent of this is that drivers should only need to overload  
>> one of the
>> functions, we preserve the current behaviour for drivers which  
>> have not
>> been updated yet, and that we will be able to remove the  
>> overloading of
>> CCTK_SyncGroup once we are sure all drivers have converted to the new
>> mechanism.
>
> Okay, sounds good. Do you want me to do this in a separate patch ?
>
> I had an open question still on the argument types for
> CCTK_SyncGroupsI(), currently the prototype is:
>
>    int CCTK_SyncGroupsI (const cGH *GH, int n_groups, const int  
> *groups);
>
> so the list of group indices is an int array. For fortran bindings,
> shouldn't it be CCTK_INT[] ? But then all the other fortran wrappers
> take 'int*' rather than 'CCTK_INT*' for passing a single group index.
> I'm a bit confused here: do we implicitely assume that a fortran  
> integer
> is the same datatype as a C int ?

Yes, that is the assumption.  Otherwise there could be no Fortran  
wrappers at all -- all Fortran "integer" have to be declared as  
"sometype *" in C, and there is no good type except "int *" at the  
moment.  In the Future, we could use Fortran 2003 C interoperability  
types, or could autoconfigure a C type for that.  Using CCTK_INT is  
inconvenient from Fortran.

-erik

-- 
Erik Schnetter <schnetter at cct.lsu.edu>

My email is as private as my paper mail.  I therefore support encrypting
and signing email messages.  Get my PGP key from www.keyserver.net.



-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: This is a digitally signed message part
Url : http://www.cactuscode.org/pipermail/developers/attachments/20060703/5ed87073/attachment.bin 


More information about the Developers mailing list