- Notifications
You must be signed in to change notification settings - Fork161
[WIP] Stateful Destructive Device Slicing#2726
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:main
Are you sure you want to change the base?
Uh oh!
There was an error while loading.Please reload this page.
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Pull request overview
This PR implements stateful destructive device slicing, allowing devices to be partitioned into non-overlapping views. Device classes are now stored as class references rather than instances in the configuration, and slicing operations claim tiles to prevent double allocation.
- Introduces
DeviceViewandDeviceLikeclasses to support device slicing with tile claiming - Modifies device configuration to store device classes instead of instances
- Updates
SequentialPlacerto remove thecores_per_colparameter and use device slicing instead
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| test/python/set_current_device.py | Tests device class-based configuration and multiple device type handling |
| test/python/placer_tests.py | Updates tests to use device slicing instead of cores_per_col parameter |
| test/python/device_slicing.py | Adds comprehensive test coverage for device slicing functionality |
| python/iron/program.py | Removes device instance recreation logic |
| python/iron/placers.py | Removes cores_per_col parameter and fixes device.cols reference |
| python/iron/hostruntime/config.py | Changes device storage from instances to classes |
| python/iron/device/device.py | Implements DeviceLike, DeviceView, and Device slicing with tile claiming |
💡Add Copilot custom instructions for smarter, more guided reviews.Learn how to get started.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Uh oh!
There was an error while loading.Please reload this page.
This PR implements stateful destructive device slicing, allowing devices to be partitioned into non-overlapping views. Device classes are now stored as class references rather than instances in the configuration, and slicing operations claim tiles to prevent double allocation.
DeviceViewandDeviceLikeclasses to support device slicing with tile claimingSequentialPlacerto remove thecores_per_colparameter and use device slicing insteadThis feature, together with a stateful
SequentialPlacer, is likely enough to use the placer across designs so that placed designs could be combined. That thought is for a future PR though.Thanks to copilot for the assist in the summary writing!