Skip to content

Tapir's Internal Design - Novice Questions #136

Answered by willtebbutt
limarta asked this question in Q&A
Discussion options

You must be logged in to vote

Glad to hear that someone has been looking through the internals! To answer your questions:

Why is the Abstract Interpreter used here? What role does it play for the AD system? According to the comment, Enzyme and Diffractor seem to take a similar approach for "inlining" so I'm curious to see why it is needed.

The TapirInterpreter is really only made use of in lookup_ir. The point is that its inlining policy prevents things that I don't want to be inlined from getting inlined (things for which I have hand-written rules).

Enzyme + Diffractor do indeed take a similar approach. The point is that all three packages have a slightly different set of primitives at any given point in time (i.e.…

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by limarta
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants