<span id="fpn9h"><noframes id="fpn9h"><span id="fpn9h"></span>
<span id="fpn9h"><noframes id="fpn9h">
<th id="fpn9h"></th>
<strike id="fpn9h"><noframes id="fpn9h"><strike id="fpn9h"></strike>
<th id="fpn9h"><noframes id="fpn9h">
<span id="fpn9h"><video id="fpn9h"></video></span>
<ruby id="fpn9h"></ruby>
<strike id="fpn9h"><noframes id="fpn9h"><span id="fpn9h"></span>

基于超圖的非規則應用局部性優化

Hypergraph-based irregular application locality optimization

  • 摘要: 針對非規則循環應用中存在的一次迭代訪問多個間接數組的問題,給出了超圖數組的形式化描述,提出了三種基于超圖的數據重排算法,即基于超圖的非重復編碼數據重排算法、基于超圖的回溯搜索數據重排算法和基于超圖的先劃分再回溯數據重排算法,以及兩種基于超圖的迭代重排算法,即基于超圖的非重復編碼迭代重排算法和基于超圖的回溯搜索迭代重排算法.通過對典型的非規則應用實例——流體力學問題進行實驗,表明單獨的重排算法提高程序執行速度約25.4%.在最好的數據重排與迭代重排的組合算法下,一級和二級高速緩存的平均命中率分別增加到91.7%和96.5%.

     

    Abstract: Multiple indirection arrays often exist in one iteration, which is involved in irregular loop applications. A formal description of the hypergraph arrays was presented to solve this problem. Besides, three hypergraph-based data reordering algorithms (hypergraph-based non-repetitive coding data reordering algorithm, hypergraph-based backtracking search data reordering algorithm, and hypergraph-based partition first and then backtracking data reordering algorithm) and two hypergraph-based iteration reordering algorithms (hypergraph-based non-repetitive coding iteration reordering algorithm and hypergraph-based backtracking search iteration reordering algorithm) were put forward. Experiments were performed on computational fluid dynamics, which was a representative irregular application. It is indicated that data locality is improved by the single reordering algorithm, with the execution speed increasing by 25.4%. The combination of the data reordering algorithm and the iteration reordering algorithm demonstrates the best performance, with the average hit rates of level- 1 and level- 2 cache reaching 91.7% and 96.5%, respectively

     

/

返回文章
返回
<span id="fpn9h"><noframes id="fpn9h"><span id="fpn9h"></span>
<span id="fpn9h"><noframes id="fpn9h">
<th id="fpn9h"></th>
<strike id="fpn9h"><noframes id="fpn9h"><strike id="fpn9h"></strike>
<th id="fpn9h"><noframes id="fpn9h">
<span id="fpn9h"><video id="fpn9h"></video></span>
<ruby id="fpn9h"></ruby>
<strike id="fpn9h"><noframes id="fpn9h"><span id="fpn9h"></span>
www.77susu.com