Skip to content
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
06a625b
feat: Implement resource-aware task optimization pass with pipeline b…
guosran Feb 13, 2026
842e61e
refactor: reorder to fusion-first, update latency model to II*(tc-1)+…
guosran Feb 16, 2026
2292f26
refactor: remove steps, convert LLVM_DEBUG to llvm::errs()
guosran Feb 16, 2026
991c917
refactor: implement full slack analysis in findBottleneck
guosran Feb 16, 2026
476ab1e
feat: Implement ResourceAwareTaskOptimizationPass with pipeline balan…
guosran Feb 17, 2026
5becdb3
make cgra_count=1 explicit in IR output
guosran Feb 17, 2026
8ff000e
feat: ResourceAwareTaskOptimizationPass — critical review fixes & cov…
guosran Feb 17, 2026
588737d
removed excessive files
guosran Feb 17, 2026
963bf79
clean up: remove debug.log
guosran Feb 17, 2026
b5fa1a1
fix: restore Zeonica_Testbench submodule to main branch pointer
guosran Feb 17, 2026
fa9c4a2
fix: remove duplicate RESOPT test block and cache profiling attrs acr…
guosran Feb 17, 2026
37bf4bc
feat(resource-aware-opt): implement PR review fixes for multi-CGRA op…
guosran Feb 26, 2026
8c3c86b
fix(resource-aware-opt): prevent hyperblock assert on fused tasks, re…
guosran Feb 26, 2026
6e91448
Revert "fix(resource-aware-opt): prevent hyperblock assert on fused t…
guosran Feb 26, 2026
92f1214
fix(resource-aware-opt): restore multi-CGRA optimization and update t…
guosran Feb 26, 2026
38b1293
Fix comment formatting issues
guosran Feb 26, 2026
25ed5d5
Format comments correctly in ResourceAwareTaskOptimizationPass (Doxyg…
guosran Feb 26, 2026
49d870f
Update comment verbs to third-person singular (Builds, Runs, etc)
guosran Feb 26, 2026
d380586
Rename hasPath to hasDependency per review feedback
guosran Feb 26, 2026
57cb983
feat(resource-aware-opt): support value-output tasks in utilization f…
guosran Feb 26, 2026
d25095b
refactor: address PR review round 2 — shapes, naming, docs, namespace
guosran Feb 27, 2026
d50bd04
refactor(ResourceAwareTaskOptimizationPass): address reviewer feedback
guosran Feb 27, 2026
3f058e5
refactor: address PR review round 3 — naming, options, cleanup
guosran Feb 27, 2026
0b74d66
refactor: replace /// with // in comments
guosran Feb 28, 2026
d9aaa51
Fix IR corruption during resource-aware task optimization profiling
guosran Feb 28, 2026
a7e511f
refactor: implement kernel-level task profiling and document architec…
guosran Feb 28, 2026
67da762
refactor: resolve kernel-level fusion bottlenecks and clarify shape h…
guosran Feb 28, 2026
8cee68c
Refactor: remove affine-related logic from ResOpt pass and standardiz…
guosran Mar 1, 2026
8ee3421
fix(resource-aware-opt): restore affine/scf fallback in computeTripCo…
guosran Mar 1, 2026
099466f
fix: resolve crash in performFusion for multi-block task bodies
guosran Mar 2, 2026
c672e3a
fix(resopt): compute correct trip_count from post-CF-lowered IR; add …
guosran Mar 3, 2026
9257a5d
Fix multi-block fusion yield logic; chain control flows with llvm.br
guosran Mar 3, 2026
b610950
feat: resource-aware task optimization with balance-skip-mapper option
guosran Mar 3, 2026
36bdf2b
Add multi-CGRA resource-heavy test case and fix convergence re-profiling
guosran Mar 3, 2026
0207d82
remove excessive docs
guosran Mar 3, 2026
9744dd8
refactor: clean up redundant code, unify comment style, restore expla…
guosran Mar 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
414 changes: 414 additions & 0 deletions debug.log

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions include/TaskflowDialect/TaskflowPasses.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ std::unique_ptr<mlir::Pass> createMapTaskOnCgraPass();
std::unique_ptr<mlir::Pass> createAffineLoopTreeSerializationPass();
std::unique_ptr<mlir::Pass> createAffineLoopPerfectionPass();
std::unique_ptr<mlir::Pass> createMemoryAccessStreamingFusionPass();
std::unique_ptr<mlir::Pass> createResourceAwareTaskOptimizationPass();

#define GEN_PASS_REGISTRATION
#include "TaskflowDialect/TaskflowPasses.h.inc"
Expand Down
16 changes: 16 additions & 0 deletions include/TaskflowDialect/TaskflowPasses.td
Original file line number Diff line number Diff line change
Expand Up @@ -86,4 +86,20 @@ def MemoryAccessStreamingFusion : Pass<"memory-access-streaming-fusion", "func::
}];
let constructor = "taskflow::createMemoryAccessStreamingFusionPass()";
}

def ResourceAwareTaskOptimization : Pass<"resource-aware-task-optimization", "func::FuncOp"> {
let summary = "Balances pipeline latency and fuses independent tasks for CGRA utilization";
let description = [{
Two-phase optimization:
1. Pipeline Balance: allocates extra CGRAs to critical-path bottleneck tasks
to reduce their effective latency (trip_count / cgra_count).
2. Utilization Fusion: merges independent (no-edge) tasks into a single task
to reduce total CGRA count.
Targets a 4x4 CGRA grid (16 CGRAs). Asserts if tasks exceed budget.
}];
let constructor = "taskflow::createResourceAwareTaskOptimizationPass()";
let dependentDialects = [
"mlir::affine::AffineDialect",
"mlir::func::FuncDialect"];
}
#endif // TASKFLOW_PASSES_TD
6 changes: 6 additions & 0 deletions lib/TaskflowDialect/Transforms/Optimizations/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,23 @@ add_mlir_conversion_library(MLIRTaskflowOptimization
AffineLoopTreeSerializationPass.cpp
AffineLoopPerfectionPass.cpp
MemoryAccessStreamingFusion.cpp
ResourceAwareTaskOptimizationPass.cpp

DEPENDS
MLIRTaskflowTransformsIncGen

LINK_LIBS PUBLIC
MLIRTaskflow
MLIRTaskflowTransforms
MLIRAffineDialect
MLIRArithDialect
MLIRFuncDialect
MLIRLinalgDialect
MLIRIR
MLIRPass
MLIRTransforms
MLIRNeura
MLIRNeuraTransforms
MLIRConversion
MLIRSupport
)
Loading
Loading