1
メモリ階層の深化に対応するメモリアクセス解析ツール [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 Characterizationpp.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つのメモリアクセス命令の解析結果の例

メモリアクセスパターンの検知[2]...メモリ階層の深化に対応するメモリアクセス解析ツール [2]松原 裕貴, 佐藤 幸紀, メモリトレース解析によるアクセスパターンの

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

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

    [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