EnzymeAD / EnzymeAD/Enzyme

mlir: Improve checkpoint slice size

Open
#3,129 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
LLVM
Stars
1.7k
Forks
188
Avg merge
2d 4h
Merged PRs (30d)
22

Description

Currently Enzyme checkpoints every loop carried values and referenced mutable reference. It could be smarter about what to save since in the reverse, we are not interested about the primal result but rather only the pushed values.

Also if a mutable memory is not written to between the primal and reverse steps and dominates primal/reverse locations, then it could be used as is, and not checkpointed.

Contributor guide

Open the contributing guide

Research direction

The issue names MLIR checkpointing but no files, tests, or entry points. Start by locating the implementation that selects loop-carried values and mutable references for checkpoints; done means avoiding unnecessary primal-result checkpoints and reusing eligible unmodified mutable memory.

Written by the indexing model from the issue text.

Assessment

Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.