⚠️DISCONTINUATION OF PROJECT - This project will no longer be maintained by Intel. Intel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project. Intel no longer accepts patches to this project. If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the open source software community, please create your own fork of this project.
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