ParallelAccelerator is a Julia package for speeding up compute-intensive Julia programs. In particular, Julia code that makes heavy use of high-level array operations is a good candidate for speeding up with ParallelAccelerator.
@acc macro that ParallelAccelerator provides, users may
specify parts of a program to accelerate. ParallelAccelerator
compiles these parts of the program to fast native code. It
automatically eliminates overheads such as array bounds checking when
it is safe to do so. It also parallelizes and vectorizes many
ParallelAccelerator is part of the High Performance Scripting (HPS) project at Intel Labs.
Quick install (requires Julia 0.5.x or 0.4.x):
- Paper: Todd A. Anderson, Hai Liu, Lindsey Kuper, Ehsan Totoni, Jan Vitek, and Tatiana Shpeisman, "Parallelizing Julia with a Non-Invasive DSL" (ECOOP 2017)
- Documentation: http://parallelacceleratorjl.readthedocs.org/
- Blog post with usage examples, performance results, and discussion of package internals: http://julialang.org/blog/2016/03/parallelaccelerator
- Mailing List: http://groups.google.com/group/julia-hps/
- Chat Room: https://gitter.im/IntelLabs/ParallelAccelerator.jl
- GitHub Issues: https://github.com/IntelLabs/ParallelAccelerator.jl/issues