[WIP][AP][APPack] Density Estimation Upstream - #3775
Conversation
|
Note: I marked this as WIP since I need to do quite a bit of testing. I wanted to do the testing before code cleanups. |
95bbda9 to
c3e18e3
Compare
|
QoR on titan_quick_qor:
Raw results: This clearly did its job, it decreased the number of grid tiles by 7%. CPD stayed largely the same, but we lost some wirelength for this. When AP was first made the default, the device sizes increased by ~12%: #3570 (comment) This PR would recover most of this increase (1 / 0.93 = 1.08 => AP overall increases the device size by 4%). I think the terms that I am using for the thresholding can be tuned a bit better. I would prefer to keep the WL gain if I can and we can also see if we can recover more of the device size. NOTE: The reason to focus on device width is to try and make the device sizes more stable. If we can predict if we will overfill the device, we should try not to do that. |
This was code written for a TODAES publication which found that APPack struggled when the device was aggressively sized. This PR brings in improvments to APPack which allow it to estimate how much space is available on the device and use that information to select different parameters to more aggressively pack. For example, if it detects that the device is limited in CLBs, it will increase the max displacement threshold for CLBs proportional to how limited the CLBs are. If the limitation is extreme, it automatically turns on unrelated clustering early. This should help the auto-selected device sizes be more aligned with the traditional flow as well.
a453ce4 to
8eabc70
Compare
…estimation-upstream
|
QoR on titan_quick_qor again after tuning the multiplier from 30 to 10:
Notice that the number of DSPs is up (even higher than before). I have found that this is likely caused by the spaces between the columns of DSPs leading to more DSPs to be created (since the max distance threshold is cutting their connectivity terms). This seems to have gotten worse on titan. We still reduce the number of device tiles, but not by as much. I think I want to investigate adding a dense-grid-like feature to the max displacement threshold so we can ignore the space between columns. This should resolve this issue and make DSPs more stable. |
This was code written for a TODAES publication which found that APPack struggled when the device was aggressively sized.
This PR brings in improvments to APPack which allow it to estimate how much space is available on the device and use that information to select different parameters to more aggressively pack. For example, if it detects that the device is limited in CLBs, it will increase the max displacement threshold for CLBs proportional to how limited the CLBs are. If the limitation is extreme, it automatically turns on unrelated clustering early.
This should help the auto-selected device sizes be more aligned with the traditional flow as well.