JuliaParallel / JuliaParallel/Dagger.jl

No way to set scheduler options for eager API

Open
#308 1 comment 0 reactions 0 assignees View on GitHub
bug eager api scheduler
Dominant language
Julia
Stars
723
Forks
90
Avg merge
1d 37m
Merged PRs (30d)
9

Description

```
function init_eager()
EAGER_INIT[] && return
EAGER_INIT[] = true
ctx = eager_context()
@async try
sopts = SchedulerOptions(;allow_errors=true)
topts = ThunkOptions(;single=1)
Dagger.compute(ctx, Dagger.delayed(eager_thunk;options=topts)(); options=sopts)
catch err
iob = IOContext(IOBuffer(), :color=>true)
println(iob, "Error in eager scheduler:")
Base.showerror(iob, err)
Base.show_backtrace(iob, catch_backtrace())
println(iob)
seek(iob.io, 0)
write(stderr, iob)
finally
EAGER_INIT[] = false
end
end
```
This creates its own set of scheduler and thunk options.

```
function _spawn(f, args...; kwargs...)
Dagger.Sch.init_eager()
uid = eager_next_id()
future = ThunkFuture()
finalizer_ref = poolset(EagerThunkFinalizer(uid))
added_future = Future()
put!(Dagger.Sch.EAGER_THUNK_CHAN, (added_future, future, uid, finalizer_ref, f, (args...,), (kwargs...,)))
thunk_ref = fetch(added_future)
return (uid, future, finalizer_ref, thunk_ref)
end
```
and `spawn` seems to not pass any of the `kwargs` (where `proclist` would presumably be) to `init_eager`.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.