You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 12, 2023. It is now read-only.
List of aspect to tackle, in order of increasing estimated cost/benefit ratio:
why workspace does assignment take so much time?
why is the solver taking so much time? Likely because of processing related to callbacks [TO CONFIRM]
try different integrators. Result: the % of time spent outside of getDeriv! does not actually change.
parallelization of solver update with MPI? <- this is likely a bad idea, solver updates are likely cheap and communication between nodes would make them even slower?
make sure threading is used in the status update? update is good, callbacks might be at fault here
optimize/tweak callbacks. Asynchronous callbacks?
write a function that returns the is, it and iu ranges in a more balanced way with a bias towards splitting iu and it ranges first, plug that into the current code and see what happens (This is not optional, the current partitioning logic is flawed, but if only the s-dimension is split it is not a problem).
keep experimenting with the custom data structure (see Optimized data structure for X.{a,b,c} #2 ) and see if there are improvements (it makes MPI parallelization easier, but the custom {set,get}index[!] functions might (but should not) cause performance issues.