Closed JiacongSun closed 7 months ago
The pytests are now mostly failing, I suggest you investigate why they're no longer passing?
For now, only the pytest cases for mix spatial mappings will be affected. Please see the review section above.
All other pytest cases will stay the same.
New Feature: Support for Weight Diagonal Mapping
We have introduced a new feature that enables weight diagonal mapping when activation is served in the innermost memories and weight stationary is applied. This feature is expected to be useful when the PE array is underutilized, and activation can be reused as the kernel slides across the feature map.
New Parameter
A new parameter can now be provided at the top:
enable_weight_diagonal_mapping
:True
->SpatialMappingGeneratorStage
will add a weight-irrelevant spatial loop, if possible, to the hardware dimension served by the activation register.False
(default) ->SpatialMappingGeneratorStage
will remain the same as before.Bug Fixes
SpatialMappingGeneratorStage
would generate illegal spatial mapping when a layer dimension is mapped to multiple hardware dimensions. Now, an extra check for legality has been added before yielding the spatial mapping.CostModelStage
would round up the spatial mapping for latency calculation, causing inconsistency with the original spatial mapping. Now, it will fetch the spatial mapping from stages ahead.spatial_mapping_hint
was not created when a partialspatial_mapping
is provided.