PolyesterForwardDiff.jl
PolyesterForwardDiff.jl copied to clipboard
PolyesterForwardDiff
PolyesterForwardDiff.jl is a parallelized ForwardDiff.jl. That's it. It's super fast. See this paper for some benchmark results.
Example calls
It's pretty much the same as ForwardDiff.jl except it is threaded. The API is the same for gradients and Jacobians.
PolyesterForwardDiff.threaded_gradient!(f, dx, x, ForwardDiff.Chunk(8));
PolyesterForwardDiff.threaded_jacobian!(g, dx, x, ForwardDiff.Chunk(8));
PolyesterForwardDiff.threaded_jacobian!(g!, y, dx, x, ForwardDiff.Chunk(8));
PolyesterForwardDiff.threaded_gradient!(f, dx, x, ForwardDiff.Chunk(8),Val{true}()); #To enable tag checking
Citing
If you use this package, please cite:
@article{mester2022differential,
title={Differential methods for assessing sensitivity in biological models},
author={Mester, Rachel and Landeros, Alfonso and Rackauckas, Chris and Lange, Kenneth},
journal={PLoS computational biology},
volume={18},
number={6},
pages={e1009598},
year={2022},
publisher={Public Library of Science San Francisco, CA USA}
}