Replies: 2 comments
-
1 (optimizations)We have one list of optimizations here: https://iree.dev/reference/optimization-options/, but this is high level and incomplete. Another list of options is included on this issue: #19072, which is working towards adding groups of optional optimization options into Note that IREE is a whole program compiler, so there are "optimizations" running at every level of lowering, from frontend program definitions, to program partitioning and device placement, to backend-specific lowering strategies (tile/distribute workgroups), to instruction and register selection (some of this is handled by backend targets like LLVM or GPU driver shader compilers). To get a comprehensive list you could read the source code, compile a program with a debug option like As for adding custom optimizations, yes this is possible and there are many points where you could adjust behavior. Depending on where in the process you want to change things, the tools available will change too.
2 (runtime memory management)@benvanik could give a more detailed answer here, but core parts of program memory management are computed ahead of time in the compiler. We do have multiple allocators in the runtime that users can select between (e.g. a caching allocator) 3 (runtime code samples)See https://iree.dev/reference/bindings/c-api/#samples and also https://github.com/nod-ai/shark-ai/tree/main/shortfin . |
Beta Was this translation helpful? Give feedback.
-
That's a great reply, and will dive into each link soon. |
Beta Was this translation helpful? Give feedback.
-
newbier for IREE, and still have a number of questions after reading many documents.
Beta Was this translation helpful? Give feedback.
All reactions