[Users] Status of support for multiple floating point precisions in Carpet?

Erik Schnetter schnetter at gmail.com
Wed Jan 17 18:52:47 CST 2024


Erik

The attached patch should correct the problems you're seeing. Please
let me know if this works; if so, we will need to create a proper pull
request.

-erik

On Wed, Jan 17, 2024 at 9:53 AM Erik Schnetter <schnetter at gmail.com> wrote:
>
> Erik
>
> In principle both CCTK_REAL4 and CCTK_REAL8 should be supported.
> CCTK_REAL16 never worked well because compilers disagree about its
> layout and size.
>
> (Integer types other than CCTK_INT4 should also be supported.)
>
> To reduce compile time we then added the flags to disable support for
> some of these types. It might be that this has bit-rotted and that
> some newer code doesn't support CCTK_REAL4. It should be
> "straightforward but tedious" to correct this.
>
> I will have a brief look but might not have the time to correct all problems.
>
> -erik
>
> On Wed, Jan 17, 2024 at 9:41 AM Erik Keoni Wessel <ekwessel at arizona.edu> wrote:
> >
> > Hi,
> > I'm currently working on a thorn development project where it would be helpful to be able to have a mix of single-precision grid functions and double-precision grid functions (a very unusual need, I know).
> >
> > When I had my thorn allocate a grid function of type CCTK_REAL4, I got a message upon running my configurations that I needed to enable support for this type in Carpet. After reading through the Carpet documentation and then digging deep into the source code for CarpetLib, I discovered that there seem to be flags to compile Carpet with support for different types. I passed -DCARPET_ALL_REAL in as part of CPPFLAGS in my optionlist, but attempting to compile with other real types leads to compile-time errors about undefined functions: apparently headers for prolongation functions for all the types are generated, but somehow the corresponding definitions aren't being be linked correctly.
> >
> > I'm not sure what is going wrong, but I am also unable to find any examples of how support for other types is supposed to be enabled, so I am unsure if I am doing this right.
> >
> > So my question is: what is the status of support for grid functions of types besides CCTK_REAL8 in Carpet? Does this feature work, and if so, how can I enable support for all Cactus-supported real types in Carpet?
> >
> > Cheers,
> >
> > — Erik Wessel
> > Department of Physics
> > University of Arizona
> > _______________________________________________
> > Users mailing list
> > Users at einsteintoolkit.org
> > http://lists.einsteintoolkit.org/mailman/listinfo/users
>
>
>
> --
> Erik Schnetter <schnetter at gmail.com>
> http://www.perimeterinstitute.ca/personal/eschnetter/



-- 
Erik Schnetter <schnetter at gmail.com>
http://www.perimeterinstitute.ca/personal/eschnetter/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: carpet-real4.diff
Type: application/octet-stream
Size: 32080 bytes
Desc: not available
URL: <http://lists.einsteintoolkit.org/pipermail/users/attachments/20240117/8add5835/attachment-0001.obj>


More information about the Users mailing list