Updating the roadmap and adding a design roadmap.#1016
Updating the roadmap and adding a design roadmap.#1016
Conversation
cfb6035 to
97f96bc
Compare
stellaraccident
left a comment
There was a problem hiding this comment.
Generally LGTM!
Most of the comments are of the form "unlike C++, the English comma operator is a good thing to use" :)
| set of coming features in the [design roadmap](roadmap_design.md). | ||
|
|
||
| ### Frontend: SavedModel/TF2.0 | ||
| ## Summer 2020 |
There was a problem hiding this comment.
I assume you are saying what follows will be true in summer 2020? If so, maybe title this "Expected state: Summer 2020".
This confused me.
There was a problem hiding this comment.
Actually, reading the content, should this be "Spring 2020"?
| ### Sequencer: IR Refactoring | ||
| We want to plug in [Marl](https://github.com/google/marl) to provide CPU-side | ||
| work scheduling that matches GPU semantics. This should be roughly equivalent to | ||
| performance to Swiftshader executiong SPIR-V however with far less overhead. |
There was a problem hiding this comment.
... which is not great for the dense kernels... still planning to punch out to RUY or something until that catches up?
|
|
||
| ### Sequencer: Dynamic Shapes | ||
| A large part of the codegen story for both CPU (via LLVM IR) and GPU (via | ||
| SPIR-V) relies on the upstream Linalg dialect and associated lowerings. We are |
There was a problem hiding this comment.
| @@ -49,21 +58,3 @@ To better engage with the WebGPU and WebML efforts we will be implementing a | |||
| SPIR-V kernels as the Vulkan backend but enables us to target Metal, Direct3D | |||
There was a problem hiding this comment.
Grammar? Maybe s/but/, which/
| that not been the case. There are discussions happening about an upstream MLIR | ||
| [Tensor Compute Primitives](https://llvm.discourse.group/t/development-of-high-level-tensor-compute-primitives-dialect-s-and-transformations/388/) | ||
| dialect that HLO can be lowered into, allowing IREE (and other backends) to | ||
| decouple themselves from XLA. |
There was a problem hiding this comment.
and potentially be more easily targetable from the frontends.
| ### Transient Tensor Ringbuffer | ||
| <a id="markdown-transient-tensor-ringbuffer" name="transient-tensor-ringbuffer"></a> | ||
|
|
||
| When properly implemented almost all buffers required during execution never |
There was a problem hiding this comment.
Comma after "implemented"
| `%sz = std.muli %cst, %dyn_dim : index` bytes doesn't materially change how the | ||
| allocations are performed. Since almost all usage involves simple write head | ||
| bumps there is no need for ahead-of-time memory planning or large fixed | ||
| allocations, and since no buffer within the ringbuffer can alias we can have |
There was a problem hiding this comment.
Comma after "alias"
There was a problem hiding this comment.
(that'd be a comma splice)
| runs a dedicated IREE thread to do this, but the expectation is that | ||
| applications can often do a better (and importantly more predictable) job. | ||
|
|
||
| By utilizing coroutines IREE will have a way to fill traditional pipeline |
There was a problem hiding this comment.
Comma after "coroutines"
There was a problem hiding this comment.
(that'd be a comma splice)
| #### Cellular Batching | ||
| <a id="markdown-cellular-batching" name="cellular-batching"></a> | ||
|
|
||
| Though coroutines help throughput there is a way we've found to reduce latency |
There was a problem hiding this comment.
Comma after "throughput"
| <a id="markdown-lowering-to-llvm-ir" name="lowering-to-llvm-ir"></a> | ||
|
|
||
| For scenarios where dynamic module loading is not required and entire modules | ||
| can be compiled into applications we can lower the VM IR to LLVM IR within |
There was a problem hiding this comment.
Comma after "applications"
97f96bc to
a6f185e
Compare
Mostly just a brain dump, but significantly better than nothing and something we can expand on as needed (or link to dedicated docs).