Support dram memory space in metal direct #584
Merged
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 change adds support for the device dram memory space in metal
backend. This required a few bits of refactoring including:
DeviceAttr
splits out worker grid from L1 map, they now respectivelymap the physical compute cores and the physical L1 memory map.
DeviceAttr
gets a new map,dramMap
, which maps a linear tensorcoordinate to a physical dram address.
projectOnto
to take an arbitrary affine map instead of a gridattr. This let's us pass in unique affine map for L1 or DRAM or Eth
(in the future) to the same interface.
PhysicalCoreCoordMapping
can now take an L1 grid or a DRAM grid.results.
necessary for writing to DRAM since dram cores do not have risc.
Closes #359