Cores per column placer 2#2619
Conversation
fifield
left a comment
There was a problem hiding this comment.
Please add some sort of unit test for the new placer functionality...some small snippets of iron as input, then check the mlir is correct in the outputs. I don't see any such tests added in this or the cores-per-column-placer branch, and I'm not sure if they exist at all for the placer.
Of course what I'd really like is for this functionality to migrate into the core mlir-aie infrastructure, e.g. #2265, but so far nobody is interested in that other than me.
I am also interested in that and more generally migrating some of the higher-level IRON abstractions into MLIR. I believe @jgmelber expressed to me before that he thinks this would be good too. |
I added a test that checks the mapping with Column-Limited placer set to 2 cores per column. Please let me know if I should modify it or if it doesn't make sense. |
|
Thank you for making the changes @kurtis-b-1! I have one last nitpick about the naming, which currently makes me think that this placer limits the number of columns. Maybe something like ComputeLimitedPlacer would be more descriptive? |
…itedPlacer--removed the latter
|
@AndraBisca Thanks for catching those! Updated the documentation as per the comments. |
Co-authored-by: Pranathi Vasireddy <pvasired@amd.com>
Building on top of branch: https://github.com/Xilinx/mlir-aie/tree/cores-per-column-placer
The "column-wise" unplaced design now maps the reduction across the columns and at the final column performs reduction across the rows using the column-limited placer. It should be possible to use any number of cores up to 8 for the Phoenix and 16 for the Strix.
Renamed the original designs to "row-wise" designs, which use the mapping from the sequential placer, and kept them the same as before.