Transcript
  • メモリ階層の深化に対応するメモリアクセス解析ツール

    [2]松原 裕貴, 佐藤 幸紀, メモリトレース解析によるアクセスパターンのモデル化. 並列/分散/協調処理に関するサマー・ワークショップ(SWoPP2013北九州)

    北陸先端科学技術大学院大学 / JST CREST 松原 裕貴, 佐藤 幸紀

    Exana:LCCT+M

    実駆動型アプリケーション解析ツール Exana[1]

    メモリアクセストレース W8@4007ce 7fffa9876810 W8@4007d2 7fffa9876808 W8@4007dc 7fffa9876788 R8@400638 602540 W8@40063e 7fffa9876780 R8@400618 602528

    実行バイナリ

    HPCアプリで生じる大量かつ複雑なメモリアクセストレースから、メモリアクセスパターンモデルを用いてメモリアクセス命令毎のアクセスパターンの検出および解析を行うツールの開発

    研究概要

    メモリアクセスに関する最適化の支援を行う (キャッシュブロッキング、プリフェッチ等)

    メモリアクセスパターンの検知[2] メモリアクセス命令毎に4つの基底パターンまたは複合パターンの検出と分類分けを行う

    Fix / Seq

    基底パターン: ①Fix ②Seq ③Str ④SeqStr

    Fix / Seq d_offset *i

    repeat

    複合パターン:1つのメモリアクセス命令が複数の基底パターンを含む場合

    例:Fix R4@001=REP5Seq[4x5] 例:SeqStr R4@002=Str[4x3](+8+[4x3])*4

    R4@003={ 基底パターン +p_offset+ 基底パターン +p_offset+ 基底パターン }

    アクセスパターンの再帰的検出

    [1] Yukinori Sato, Yasushi Inoguchi, Tadao Nakamura, Whole Program Data Dependence Profiling to Unveil Parallel Regions in the Dynamic Execution, 2012 IEEE International Symposium on Workload Characterization,pp.69-80,2012/11/5

    メモリ アクセス トレース

    複合パターン内の基底パターンをID変換し、基底パターンと同様のアクセスパターンモデルを用いて再帰的にアクセスパターンの検出を行う

    ID変換とアクセスパターンの検出を再帰的に行う

    Memory instruction name:R4@401991 Source:jacobi stack_himenoBMTxps.c:269 Symbol: a, Section: .bss, ---Pattern model count--- [4x12,(_12_,4x12)*6]: 4781/4781 ---Offset count--- 12: 4781/9561 192: 4098/9561 -4008: 682/9561 R4@401991 ---Level 2 ID pattern model--- REP_683:[[ID6],(+192+[ID6])*6] SE_Dist:4008 R4@401991 ---Level 2 Including ID Info--- [ID6]: [[ID5],(+12+[ID5])*6] SE_Dist:408 R4@401991 ---Level 1 Including ID Info--- [ID5]: 4x12 SE_Dist:1

    1つのメモリアクセス命令の解析結果の例

    スライド番号 1


Recommended