JuliaLabs / Poly.jl

MIT License
16 stars 3 forks source link

Poly.jl

Build Status Coverage Documentation

Code Generation

Poly can reorder loops, change iteration spaces, reorder instructions, and restructure code. The main goal is to allow for vectorization and efficient loop execution

Macros

@poly_loop can be used to tag a loop for code restructuring by Poly, using the polyhedral model of compilation. This can result in automatic loop reordering, domain coalescing, tiling, and more, specifically with memory locality and vectorization in mind. See the documentation for details on how to use @poly_loop.