This package is WIP and not fully tested. Use with care (tmap!
should be safe to use).
Simple patterns supporting working with threads in Julia. Functionalities:
tmap!
,tmapreduce
functions. They are designed for relatively expensive mappingf
;trandjump
andTRNG
are for random number generators ready for threadinggetrange
is a function returning a range of indices to traverse in a given thread it is designed for cases when we handcode loop inside@threads
macro (usually when mappingf
is cheap and e.g. can benefit from@simd
); seetest/summation.jl
for example usage
Comparison of performance tmap!
threading with copied random number generators and standard @Threading.threads
.
Tests run on 16 core AWS c4.4xlarge instance by running src/runtests.sh.
We measure time using @time
so tmap!
has more of precompilation overhead reported.