Dagger.jl
Dagger.jl copied to clipboard
'No TID' warnings when shard is used
MultiEventLog log prints warning about missing TID, when a shard holding an array (or string, probably other types too) is used in a task. The warning appears even when run with a single thread with no denominational processes
I use the shards for convenience to provide per-worker local data, that I don't expect to be mutated later, so it's not protected with an atomic or anything else.
Reproducer:
using Dagger
Dagger.enable_logging!(tasknames = true,
taskfuncnames = true,
taskdeps = true,
taskargs = true,
taskargmoves = true,
taskresult = true,
taskuidtotid = true,
tasktochunk = true)
calibrate() = [1, 2, 3]
calibration = Dagger.@shard calibrate()
job(x; coef) = +(x, coef...)
taskA = Dagger.@spawn job(1; coef = calibration)
taskB = Dagger.@spawn job(taskA; coef = calibration)
taskC = Dagger.@spawn job(taskB; coef = calibration)
wait(taskC)
gives the following printouts:
┌ Warning: No TID 4
└ @ Dagger.Events ~/.julia/dev/Dagger/src/utils/logging-events.jl:199
┌ Warning: No TID 5, Position coef
└ @ Dagger.Events ~/.julia/dev/Dagger/src/utils/logging-events.jl:196
┌ Warning: No TID 6, Position coef
└ @ Dagger.Events ~/.julia/dev/Dagger/src/utils/logging-events.jl:196
These warnings could just be made into debug statements, it's not really anything concerning (some stuff may not show up in the logs, that's all).