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

Erik Schnetter schnetter at gmail.com
Thu Jan 18 18:54:48 CST 2024


Erik

The patch I sent earlier was incomplete. I also realized that setting
`-DCARPET_ALL_REAL` does not work.

A working version (i.e. a version that can be compiled) is now in the
branch `https://bitbucket.org/eschnett/carpet/branch/eschnett/all-types`.

-erik

On Wed, Jan 17, 2024 at 7:52 PM Erik Schnetter <schnetter at gmail.com> wrote:
>
> 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/



-- 
Erik Schnetter <schnetter at gmail.com>
http://www.perimeterinstitute.ca/personal/eschnetter/


More information about the Users mailing list