-
Notifications
You must be signed in to change notification settings - Fork 4
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
Create out-of-place workflow #21
Comments
I implemented this is my Huginn.jl fork using the out-of-place implementation of the PDE (no UDE) forward model. This consisted in creating the same functions for the in-place case but without with out-of-place evaluation. Now two set of separate test are being run @testset "Halfar Solution (in-place)" halfar_test(; rtol=0.02, atol=1.0, inplace=true)
@testset "Halfar Solution (out-of-place)" halfar_test(; rtol=0.02, atol=1.0, inplace=false) We can see the difference in performance between the two methods using And the same ODE problem but with out-of-place allocation memory: We can see the difference in memory storage. However, what I find odd is that the in-place method is just slightly faster than the out-of-place... I was expecting the difference between the two to be more notorious. Between the functions I implemented for the out-of-place we have
|
@facusapienza21 We should post this on Discourse in order to better understand why the in-place workflow doesn't provide a significant speed up wrt the out-of-place. There are clear differences in memory usage, though. |
@facusapienza21 What's the status on this? Have you created the Discourse post? |
Right now everything is implemented in-place in order to be memory efficient for the PDE solving. This is great for the forward PDE runs, but we need an out-of-place version to be run with AD, particularly for ReverseDiff.jl.
This implies to basically reproduce the same workflow as in place, changing all functions like
SIA2D!
->SIA2D
, to indicate that it's out-of-place. All the code is available in the current ODINN.jl repo.The text was updated successfully, but these errors were encountered: