Skip to content

direct implementation of the Jacobian in precision_bump #19

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

Open
markus-grassl opened this issue Feb 5, 2025 · 0 comments
Open

direct implementation of the Jacobian in precision_bump #19

markus-grassl opened this issue Feb 5, 2025 · 0 comments

Comments

@markus-grassl
Copy link
Contributor

The function precision_bump computes the Jacobian using the package ForwardDiff.
This allows some flexibility in choosing the function used for the Newton method, but also creates some overhead (see below).

Using more than one thread (julia -t 10) results in increased wall-clock time for the calculation.
A direct implementation of the Jacobian has potential to reduce the overhead and to allow for better parallelisation.

julia> @time ghost499=precision_bump(ghost499,500);
Increase ghost precision...
Current ghost precision is 77 digits.
3966.658241 seconds (44.51 G allocations: 2.874 TiB, 30.61% gc time, 0.38% compilation time)
Current ghost precision is 107 digits.
6069.248028 seconds (44.50 G allocations: 3.521 TiB, 33.31% gc time)
Current ghost precision is 206 digits.
9994.251759 seconds (44.50 G allocations: 5.301 TiB, 36.14% gc time)
Current ghost precision is 409 digits.
13568.653595 seconds (44.50 G allocations: 8.538 TiB, 39.24% gc time)
Precision of BigFloat is now 818 digits.
Final ghost precision is 809 digits.
33628.157904 seconds (178.06 G allocations: 20.242 TiB, 36.21% gc time, 0.05% compilation time)

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

No branches or pull requests

1 participant