Make CPU kernels synchronous if `dependencies=nothing`
Created by: vchuravy
In order to have them be asynchronous the user can pass in a
NoneEvent()
. This makes small kernels faster.
~/builds/julia-1.3.1/bin/julia --color=yes --project=. -L ~/perfka.jl
[ Info: Ka + Wait Static
BenchmarkTools.Trial:
memory estimate: 80 bytes
allocs estimate: 3
--------------
minimum time: 195.714 ns (0.00% GC)
median time: 213.559 ns (0.00% GC)
mean time: 239.629 ns (1.00% GC)
maximum time: 3.369 μs (86.47% GC)
--------------
samples: 10000
evals/sample: 555
[ Info: Ka Launch
BenchmarkTools.Trial:
memory estimate: 816 bytes
allocs estimate: 9
--------------
minimum time: 132.569 ns (0.00% GC)
median time: 158.833 ns (0.00% GC)
mean time: 226.427 ns (16.90% GC)
maximum time: 8.768 μs (96.22% GC)
--------------
s amples: 6944
evals/sample: 893
KA Launch
was measured with dependencies=NoneEvent()
, script from #80