Skip to content

Simple patterns supporting working with threads in Julia

License

Notifications You must be signed in to change notification settings

zdq3157870/KissThreading.jl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KissThreading.jl

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 mapping f;
  • trandjump and TRNG are for random number generators ready for threading
  • getrange 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 mapping f is cheap and e.g. can benefit from @simd); see test/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.

bootstrap.jl

bootstrap.png

bubble.jl

bubble.png

About

Simple patterns supporting working with threads in Julia

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Julia 99.0%
  • Shell 1.0%