I tried Dagger according to the manual and got some errors.
using Dagger
using Distributed
addprocs(3)
@everywhere function f1(v1::Float64, v2::Float64)
r = 0.
for i in 1:10^7
r += sin(v1) + sin(v2)
end
return r
end
@everywhere function f2(v::Float64)
r = 0.
for i in 1:10^7
r += cos(v)
end
return r
end
T1 = delayed(f1; v1=1., v2=2.)
T2 = delayed(f2; v=1.)(T1) # error here
T3 = delayed(f1; v1=3., v2=4.)
collect(T1) # error here
MethodError: no method matching Thunk(::typeof(f2), ::getfield(Dagger, Symbol(“##36#37”)){Base.Iterators.Pairs{Symbol,Float64,Tuple{Symbol,Symbol},NamedTuple{(:v1, :v2),Tuple{Float64,Float64}}},typeof(f1)}; v=1.0)
Closest candidates are:
Thunk(::Any, ::Any…; id, get_result, meta, persist, cache, cache_ref, affinity) at /Users/zhangliye/.julia/packages/Dagger/sdZXi/src/thunk.jl:29 got unsupported keyword argument “v”
Stacktrace:
[1] kwerr(::NamedTuple{(:v,),Tuple{Float64}}, ::Type, ::Function, ::Function) at ./error.jl:125
[2] (::getfield(Core, Symbol(“#kw#Type”)))(::NamedTuple{(:v,),Tuple{Float64}}, ::Type{Thunk}, ::Function, ::Function) at ./none:0
[3] (::getfield(Dagger, Symbol(“##36#37”)){Base.Iterators.Pairs{Symbol,Float64,Tuple{Symbol},NamedTuple{(:v,),Tuple{Float64}}},typeof(f2)})(::Function) at /Users/zhangliye/.julia/packages/Dagger/sdZXi/src/thunk.jl:71
[4] top-level scope at In[32]:17
type or paste code here
Julia version information,
Julia Version 1.1.0
Commit 80516ca202 (2019-01-21 21:24 UTC)
Platform Info:
OS: macOS (x86_64-apple-darwin14.5.0)
CPU: Intel(R) Core(TM) i5-8500 CPU @ 3.00GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-6.0.1 (ORCJIT, skylake)
Dagger document: Dagger example