[Users] Code failure apparently due to changes in Reduction.c

Yosef Zlochower yosef at astro.rit.edu
Tue Aug 17 14:45:36 CDT 2021


Thanks. One final question, when using CCTK_Reduce, which should we use 
CCTK_ReductionArrayHandle to get the handle?


On 8/17/21 3:01 PM, Roland Haas wrote:
> 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?
>>>>   
>>>   
>
>
-- 
Dr. Yosef Zlochower
Center for Computational Relativity and Gravitation
Associate Professor
School of Mathematical Sciences
Rochester Institute of Technology
85 Lomb Memorial Drive
Rochester, NY 14623

Office:74-2067
Phone: +1 585-475-6103

yosef at astro.rit.edu

CONFIDENTIALITY NOTE: The information transmitted, including
attachments, is intended only for the person(s) or entity to which it
is addressed and may contain confidential and/or privileged material.
Any review, retransmission, dissemination or other use of, or taking
of any action in reliance upon this information by persons or entities
other than the intended recipient is prohibited. If you received this
in error, please contact the sender and destroy any copies of this
information.



More information about the Users mailing list