Refactor the implementation logic of backtrack mapping#104
Refactor the implementation logic of backtrack mapping#104ShangkunLi merged 6 commits intocoredac:mainfrom
Conversation
|
Plz explain the diff from existing code a little bit use your example. |
In current implementation, when p&r in current candidate location for But the |
This sounds if we increase the backtracking steps to |
No, in the previous implementation, there is no backtracking. We just try different locations for |
lib/NeuraDialect/Mapping/SpatialTemporalMapping/SpatialTemporalMapping.cpp
Show resolved
Hide resolved
Refactor the implementation logic of backtrack mapping
Refactor the implementation logic of backtrack mapping
In this pr:
Suppose I want to map a simple DFG that has 3 operations, with the dependencies
A->B->C.Abased oncalculateAward, and I map the one with the highest award.Bbased oncalculateAward, and I also successfully map the one with the highest award.C, but none of them can be mapped legally, so I need to backtrack to B to try to select another available location of B for mapping, and then tryC's 3 locations again (maybe not 3, it depends on the result ofcalculateAward), to see which one can succeed, at this time we define the backtracking depth as 1.B's two locations also cannot work, we need to backtrack toA, tryA's other locations, and then re-mapBandC, at this time we define the backtracking depth as 2.