Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support precisions other than double #3040

Open
dham opened this issue Jul 26, 2023 · 1 comment
Open

Support precisions other than double #3040

dham opened this issue Jul 26, 2023 · 1 comment

Comments

@dham
Copy link
Member

dham commented Jul 26, 2023

Currently we only support double precision real and complex. PETSc supports other precisions.

The general pattern would be to follow what we do for complex.

The pathway to fix would be as follows:

  1. Add some sort of precision argument to the installer.
  2. Follow through the installer to:
    a. set the scalar type passed to PETSc
    b. ensure that the logic for forcing recompilation when the scalar type changes also applies in this case:
    c. remove any downstream PETSc dependencies that fail at the new precision (this will be experimentally determined).
  3. Run our test suite and hunt down the failures. This is likely to be due to hand-coded kernels for things like utility meshes.
@wence-
Copy link
Contributor

wence- commented Jul 26, 2023

Run our test suite and hunt down the failures. This is likely to be due to hand-coded kernels for things like utility meshes.

Note is very likely that many tests will fail due to tolerances that were plucked out of the air assuming double precision as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants