A quick introduction to data parallelism in Julia
Takafumi has really built up some amazing infrastructure in the package ecosystem. His Transducers.jl [1] is really interesting and powerful and lately he's done a lot of work with things like FLoops.jl [2] and ThreadsX.jl [3] to try and bring the benefits of transducers to more 'regular' familiar representations so more people can enjoy the benefits. The basic idea behind all of it is that he has an efficient and modular way of describing various 'looping' constructs that can be stuck together, optimized and parallelized automatically.<p>It'd be quite interesting to see this stuff extended to GPUs.<p>[1] <a href="https://github.com/JuliaFolds/Transducers.jl" rel="nofollow">https://github.com/JuliaFolds/Transducers.jl</a><p>[2] <a href="https://github.com/JuliaFolds/FLoops.jl" rel="nofollow">https://github.com/JuliaFolds/FLoops.jl</a><p>[3] <a href="https://github.com/tkf/ThreadsX.jl" rel="nofollow">https://github.com/tkf/ThreadsX.jl</a>