Description
Things like this are not multithreaded when u
is an ArrayPartition
:
@.. broadcast=false thread=true u=u + x * u
ArrayPartition
s use a custom BroadcastStyle
. FastBroadcast.jl therefore doesn't go into the fast_materialize_threaded!
branch and instead calls the generic materialize!
, which is not threaded:
https://github.com/YingboMa/FastBroadcast.jl/blob/ad586d83ffcac15c92969b93dd5cf0c8fd025af9/src/FastBroadcast.jl#L305-L313
Multithreaded schemes in OrdinaryDiffEq.jl are using @.. broadcast=false thread=thread ...
, and OrdinaryDiffEq.jl is using an ArrayPartition
for DynamicalODEProblem
s. Therefore, time integration is not multithreaded (even when setting thread=True()
) with a DynamicalODEProblem
and a scheme that works for a general ODEProblem
(including all RK methods).
Not sure in which repo this should be fixed, so I just reported it here.