KULeuven-MICAS / zigzag

HW Architecture-Mapping Design Space Exploration Framework for Deep Learning Accelerators
https://kuleuven-micas.github.io/zigzag/
MIT License
90 stars 31 forks source link

Feature: Introduce Weight Diagonal Mapping and Bug Fixes in Spatial Mapping and Cost Model Stages #35

Closed JiacongSun closed 7 months ago

JiacongSun commented 7 months ago

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

JiacongSun commented 7 months ago
asyms commented 7 months ago

The pytests are now mostly failing, I suggest you investigate why they're no longer passing?

JiacongSun commented 7 months ago

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.