Hello Yosef, > We were using Carpet and the actual call was to > > CCTK_ReduceLocArrayToArray1D > > Is this valid in Carpet? No, unfortunately this is not valid in Carpet.
For two reasons actually: The combination CCTK_LocalArrayReductionHandle and CCTK_ReduceLocArrayToArray1D is never valid, since CCTK_LocalArrayReductionHandle is "new" interface, while CCTK_ReduceLocArrayToArray1D is "old" interface. You can see it among the list of functions in my previous email. Further "CCTK_LocalArrayReductionHandle", being "new" interface, is never valid for Carpet, since Carpet only supports the "old" interface. So "no", "no". "CCTK_ReduceLocArrayToArray1D" however is "old" interface, so is valid with Carpet, but you must use "CCTK_ReductionArrayHandle" to get the reduction handle for it. You must *not* use "CCCTK_ReductionHandle" or "CCTK_LocalArrayReductionHandle" to get a handle to use with "CCTK_ReduceLocArrayToArray1D". Nope this helps. The functions names a confusing, unfortunately, and the fact that the "old" interface, which is the only one Carpet supports, is not fully documented in the CCTK reference anymore, does not really help. Yours, Roland > > On 8/17/21 12:59 PM, Roland Haas wrote: > > Hello Yosef, > > > > there's a couple different reduction interfaces and the handle you get > > must match. > > > > It depends a bit on the drive you are using. > > > > Carpet only supports the "old style" reduction interface that uses: > > > > CCTK_Reduce > > CCTK_ReductionHandle > > > > CCTK_ReduceLocalScalar > > CCTK_ReductionArrayHandle > > and: > > CCTK_ReduceArray > > CCTK_ReduceLocalArray1D > > > > it does not support the new interface CCTK_LocalArrayReductionHandle at > > all. > > > > PUGH supports the new one and (I think) the old one as well. The new > > one uses: > > > > CTK_LocalArrayReductionHandle > > CCTK_ReduceLocalArrays > > > > See > > https://urldefense.com/v3/__https://www.einsteintoolkit.org/referencemanual/ReferenceManual.html*x1-1000A__;Iw!!DZ3fjg!vO69j0_NDEC1JMkgMyZSdz57Nk1EjyHTBh3FU214vo8W15081AZ6_X93p6b5_AlO$ > > and search for A488. > > > > So are you using this with PUGH or Carpet? With Carpet it must fail (not > > supported at all), with PUGH it should work as long as you sue the > > correct set of calls ie CCTK_LocalArrayReductionHandle + > > CCTK_ReduceLocalArrays (for PUGH only). > > > > Yours, > > Roland > > > >> Hi, > >> > >> A code that we are using seems to no longer work with Cactus. The > >> issue seems to be that the code called CCTK_LocalArrayReductionHandle. > >> The code, as checked out, produces errors because the appropriate handle > >> isn't found. If I modify the function as below, I no longer get the > >> error message > >> > >> > >> > >> int CCTK_LocalArrayReductionHandle(const char *reduction) > >> { > >> int handle; > >> > >> > >> handle = Util_GetHandle(LocalArrayReductionOperators, reduction, NULL); > >> if (handle < 0) > >> { > >> CCTK_VWarn(1,__LINE__,__FILE__,"Cactus", > >> "CCTK_LocalArrayReductionHandle: No handle: '%d' found > >> for reduction operator " > >> "'%s'", handle, reduction); > >> } > >> > >> handle += ARRAY_OPERATOR_HANDLE_OFFSET; //// MY changes > >> > >> return handle; > >> } > >> > >> > >> Should we no longer use CCTK_LocalArrayReductionHandle? > >> > > > > -- My email is as private as my paper mail. I therefore support encrypting and signing email messages. Get my PGP key from http://pgp.mit.edu .
pgpqD7wzpkSdO.pgp
Description: OpenPGP digital signature
_______________________________________________ Users mailing list [email protected] http://lists.einsteintoolkit.org/mailman/listinfo/users
