8000 Lightweight package for loop unrolling on SSA-IR instead of AST · Issue #508 · chalk-lab/Mooncake.jl · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Lightweight package for loop unrolling on SSA-IR instead of AST #508

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
yebai opened this issue Mar 4, 2025 · 1 comment
Open

Lightweight package for loop unrolling on SSA-IR instead of AST #508

yebai opened this issue Mar 4, 2025 · 1 comment
Labels
enhancement (performance) Would reduce the time it takes to run some bit of the code

Comments

@yebai
Copy link
Member
yebai commented Mar 4, 2025

Motivated by #156 (comment) and associated discussions, one could consider creating a lightweight package that performs loop analysis and unrolling (possibly other loop optimisation) using similar techniques for forward mode algorithmic differentiation (see, e.g. #389).

Mooncake could utilise these techniques before the autograd transform to address #156. One advantage of a lightweight package is modularity; the loop analysis and unrolling are not specific to Mooncake.

Related Julia PR: JuliaLang/julia#36832

@willtebbutt willtebbutt added the enhancement (performance) Would reduce the time it takes to run some bit of the code label Mar 4, 2025
@willtebbutt
Copy link
Collaborator

Packages like Valentin's https://github.com/vchuravy/Loops.jl perhaps provide a starting point for this kind of work. I agree that we shouldn't implement loop optimisations inside Mooncake itself -- that would put off potential collaborators, and make it harder for others to benefit from generic functionality.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement (performance) Would reduce the time it takes to run some bit of the code
Projects
None yet
Development

No branches or pull requests

2 participants
0