@@ -54,10 +54,14 @@ using Distributed
54
54
addprocs (4 )
55
55
distributedf = eval (ModelingToolkit. build_function (du,u,parallel= ModelingToolkit. DistributedForm ())[2 ])
56
56
57
+ using Dagger
58
+ daggerf = eval (ModelingToolkit. build_function (du,u,parallel= ModelingToolkit. DaggerForm ())[2 ])
59
+
57
60
jac = sparse (ModelingToolkit. jacobian (vec (du),vec (u),simplify= false ))
58
61
serialjac = eval (ModelingToolkit. build_function (vec (jac),u)[2 ])
59
62
multithreadedjac = eval (ModelingToolkit. build_function (vec (jac),u,parallel= ModelingToolkit. MultithreadedForm ())[2 ])
60
63
distributedjac = eval (ModelingToolkit. build_function (vec (jac),u,parallel= ModelingToolkit. DistributedForm ())[2 ])
64
+ daggerjac = eval (ModelingToolkit. build_function (vec (jac),u,parallel= ModelingToolkit. DaggerForm ())[2 ])
61
65
62
66
MyA = zeros (N,N)
63
67
AMx = zeros (N,N)
@@ -66,15 +70,18 @@ DA = zeros(N,N)
66
70
f (_du,_u,nothing ,0.0 )
67
71
multithreadedf (_du,_u)
68
72
# distributedf(_du,_u)
73
+ # daggerf(_du,_u)
69
74
70
75
#=
71
76
using BenchmarkTools
72
77
@btime f(_du,_u,nothing,0.0)
73
78
@btime multithreadedf(_du,_u)
74
79
@btime distributedf(_du,_u)
80
+ @btime daggerf(_du,_u)
75
81
76
82
_jac = similar(jac,Float64)
77
83
@btime serialjac(_jac,_u)
78
84
@btime multithreadedjac(_jac,_u)
79
85
@btime distributedjac(_jac,_u)
86
+ @btime daggerjac(_jac,_u)
80
87
=#
0 commit comments