Add sparsity-aware modelling pipeline#33
Open
fisherxue wants to merge 46 commits intoAccelergy-Project:mainfrom
Open
Add sparsity-aware modelling pipeline#33fisherxue wants to merge 46 commits intoAccelergy-Project:mainfrom
fisherxue wants to merge 46 commits intoAccelergy-Project:mainfrom
Conversation
Collaborator
fisherxue
commented
Feb 23, 2026
- Sparse tensor modelling support, including sparsity propagation through memory hierarchy, compression formats and metadata costs, latency/energy adjustments for skipping/gating
- Benchmarks validated against Sparseloop artifacts
99e6989 to
0b8550e
Compare
…utilization model
…atch project style
0b8550e to
2f88a78
Compare
Drain reads are included in psum_spad bandwidth in AccelForge but modeled at the NoC level in Sparseloop, causing an exact 13/12 overhead for conv3-5. Widen cycle tolerance for those layers accordingly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Unwrap Optional (Union[X, None]) before calling get_args so that EvalableList and EvalableDict correctly find their inner type argument instead of failing with "Expected exactly one type argument". Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Convenience property that returns True when the optimization is position-skipping (self-conditioned), i.e. kind == "position_skipping" with no explicit condition_on target. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add tile_shape dict and total_parent_fill_write_actions fields for use by the sparse pipeline's latency bandwidth calculations. Remove unused stride_and_halo argument from analyze_reuse call. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Updated execution timestamps and outputs for all 6 reproduction notebooks (fig1, fig12, fig13, fig15, lab4, table7). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The latency model previously only used compute_latency_ratio to scale MAC cycles, which reduced cycles for both gating and skipping. Gated and skipped compute counts only went to the energy path, so the arch ERT's per-action latency had no effect on cycle computation. Now LatencyInfo carries gated_compute_count and skipped_compute_count, and run_model populates them in the Compute node's action table. This lets the arch control whether gated/skipped computes contribute cycles via their per-action latency (e.g., gated_compute: latency: 1 means gating does not reduce cycles, matching the conceptual model). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds InvalidMappingError and a validate parameter (default True) to evaluate_mapping so hand-crafted mappings are checked for memory capacity overflow (including metadata occupancy), spatial fanout violations, and architecture tile/loop constraints. The mapper's internal evaluate_mapping call passes validate=False since it already validates during tile enumeration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.