Reformulate l1 and dram memory maps #2414
Open
+208
−223
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This commit is largely broken into 2 parts:
Memory Maps
This PR reformulates the l1 and dram memory maps to make them simpler, easier to use, and more compatible with the new direction of the direct to metal backend path.
Stream and Shard memref layouts
This PR also breaks the stream layout into two. This makes the interpretation of memory for each layout much more explicit and should make it easier for lowering passes to use them in conjunction with the device memory maps.
Stream Layout
Describes a stream layout of a memref buffer.
Only the stream_layout op should return memref's with this attribute. The stream layout attribute is necessary for two reasons:
Shard Layout
Describes shard layout of a memref buffer.
The shard layout attribute is a description of how each shard of a memref is laid out in memory. Memref's with this layout type implicitly mean their data is distributed across a grid of cores.