• 検索結果がありません。

標本点逐次追加型実行時自動チューニング機構への複数パラメータ同時推定機能の実装と評価

N/A
N/A
Protected

Academic year: 2021

シェア "標本点逐次追加型実行時自動チューニング機構への複数パラメータ同時推定機能の実装と評価"

Copied!
2
0
0

読み込み中.... (全文を見る)

全文

(1)情報処理学会第 77 回全国大会. 1J-02. 標本点逐次追加型実行時自動チューニング機構への 複数パラメータ同時推定機能の実装と評価 入江純†. 村田陸†. 藤井昭宏†. 工学院大学†. 1. はじめに ソフトウェア自動チューニングにおける,性能 パラメータ推定の時間短縮方法として,標本点逐 次追加型性能パラメータ推定法がある[1].この推 定法は,近似関数による最適値の推定に必要な標 本点を,最低限の数から始め,新たな標本点を自 動選択・追加しながら,近似関数を順次更新し, 最適な性能パラメータを推定する手法である. 標本点逐次追加型性能パラメータ推定法は,自 動チューニング機能付きプログラムを生成する基 盤である ppOpen-AT[2]に実装されている[3].現在, ppOpen-AT の自動チューニング機能には以下の制 限がある.  逐次追加型は複数パラメータ同時推定が未対応  推定する性能パラメータの増分値は 1 に固定 そこで本研究では,逐次追加型の推定法に対し て,複数の性能パラメータを同時に推定する 2 次元 パラメータ推定法を提案する.また,性能パラメ ータのとり得る値が任意の増分値でも対応できる ように機能を拡張した.. 2. 標本点逐次追加型性能パラメータ推定 数値計算ライブラリの性能パラメータのとり得 る値ごとの実行時間で構成される関数形は,滑ら かさや凸性が保証されない.そこで,実測データ の動きに柔軟に追随し,さらに,少ない標本点で も安定に解が得られ,かつ,計算量の少ない近似 関 数 𝑓(𝑥) と し て , 𝑛 個 の 離 散 点 𝑥𝑗 上 の 値 𝑓𝑗 = 𝑓(𝑥𝑗 ), 1 ≤ 𝑗 ≤ 𝑛で表現する. 今,𝑁個の中から𝑘個の実測データが取られてい て,それを𝑦𝑖 (1 ≤ 𝑖 ≤ 𝑘, 𝑘 ≤ 𝑁 ≤ 𝑛)とする.𝑦だけ では𝑦𝑖 より𝑓𝑗 が多いため,𝑓を規定するために𝑓の滑 らかさを 2 階差分|𝑓𝑗−1 − 2𝑓𝑗 + 𝑓𝑗+1 |, 2 ≤ 𝑗 ≤ 𝑛 − 1で Implementation of Simultaneous Double Parameter Estimation to Incremental Performance Parameter Estimation Method Jun Irie†, Riku Murata†, Akihiro Fujii†, Teruo Tanaka† and Takahiro Katagiri‡ † Kogakuin University ‡ The University of Tokyo. 1-33. 田中輝雄†. 片桐孝洋‡. 東京大学‡. 表す.この近似関数𝑓を評価関数𝑚𝑖𝑛(‖𝑦 − 𝐸𝑓‖2 + 𝛼 2 ‖𝐷𝑓‖2 )で選ぶ. 𝐸は実測データと近似関数の対 応を,𝐷は近似関数の滑らかさを表す.αは滑らか さの強さを表し,小さく設定するほど実測データ に追随する.この近似関数を d-Spline と呼ぶ. 3. 自動チューニング機能の拡張 3.1 複数パラメータ同時推定機能の提案 複数パラメータ同時推定機能を d-Spline の 2 次元 化により実現する.2 次元の d-Spline を𝑛1 × 𝑛2 個の 離散点上の値𝑓𝑗,𝑙 , 1 ≤ 𝑗 ≤ 𝑛1 , 1 ≤ 𝑙 ≤ 𝑛2 による長方 形領域で表現する.その領域内部では滑らかさを 式(1)で,領域境界では式(2),(3)のように表す. |𝑓𝑗−1,𝑙 + 𝑓𝑗,𝑙−1 − 4𝑓𝑗,𝑙 + 𝑓𝑗,𝑙+1 + 𝑓𝑗+1,𝑙 |, 2 ≤ j ≤ 𝑛1 − 1, 2 ≤ 𝑙 ≤ 𝑛2 − 1 ················ (1) |𝑓𝑗−1,𝑙 − 2𝑓𝑗,𝑙 + 𝑓𝑗+1,𝑙 |, 𝑙 = 1 または𝑛1 , 2 ≤ 𝑗 ≤ 𝑛1 − 1 ··············· (2) |𝑓𝑗,𝑙−1 − 2𝑓𝑗,𝑙 + 𝑓𝑗,𝑙+1 |, 𝑗 = 1 または𝑛2 , 2 ≤ 𝑙 ≤ 𝑛2 − 1 ··············· (3) 通常は式(1)のように各次元の滑らかさの和で定 義するが,領域境界では式(2),(3)のように 1 次元 方向にのみ滑らかさを定義している.式(1)から(3) より,𝐷𝑓は図 1 のような構造を取り,𝐷の行列サイ ズは(𝑛1 × 𝑛2 − 4) × (𝑛1 × 𝑛2 )となる.. 図 1 2 次元の d-Spline の滑らかさ𝐷𝑓 3.2 ppOpen-AT への実装. ユーザプログラム内に追加する pragma 文の例を 図 2 に示す.3 行目で逐次追加型による複数パラメ ータ推定を指示し,4, 5 行目で性能パラメータの範 囲を指定している.“step”キーワードの後に,性. Copyright 2015 Information Processing Society of Japan. All Rights Reserved..

(2) 情報処理学会第 77 回全国大会. 1.25. 逐次追加型①. 実行時間[秒]. 1.2. 全探索. 逐次追加型②. 逐次追加型. 推 定 終 了. 1.15. 理想最適化. 1.1 1.05 推 定 終 了. 1. 図 2 拡張した pragma(下線部)を用いた例. 全探索①. 0.95 1. 能パラメータの増分値を任意に設定できる.. 33. 65. 全探索②. 97 129 161 反復ループ回数. 193. 225. 図 3 反復ごとの実行時間の推移. 4. 実験 250. 合計実行時間[秒]. 4.1 評価対象 2 次元に拡張した逐次追加型推定法をキャッシュ ブロッキングに対して適用する.キャッシュブロ ッキングとは,キャッシュに収まるようデータを ブロック化し,キャッシュ内のデータを再利用す る手法である.ブロックサイズを推定する性能パ ラメータとする.本実験では,行列行列積へのキ ャッシュブロッキングを自動チューニングする.. 240. 243.1. 230. 4.3 実験結果 図 3 は横軸に反復ループ回数を取り,各反復回に 実行した行列行列積の実行時間を示している.標 本点逐次追加型と全探索,全探索で推定した性能 パラメータによる理想最適化とで比較した.逐次 追加型は,①の推定を終えると即座に②の推定を 行っている.少ないループ回数で 2 段階の推定を終 え,反復の大半を最適化された処理で実行してい ることがわかる.このとき,推定した性能パラメ ータによる実行時間は理想最適化と 2%のずれで収 まっており,よい推定ができたことを示している. 図 4 にループ処理を終えるまでに要した時間を示. 1-34. 66% (13.4). 100% (20.2). 229.5 220. 222.9. 210. 200 全探索. 4.2 実験環境 CPU は Intel Core i7-3770K を使用し,コンパイラ は gcc 4.4.7を用いた.L2 キャッシュサイズは 256kB である.行列は倍精度浮動小数点数による一辺が 1000 の正方行列を使用した.行列行列積は 3 重ル ープで構成されるが,ループ順序を𝑖𝑗𝑘としたとき, 𝑖, 𝑗を推定対象とする.𝑘はブロックサイズ 96 の固 定値とした.本実験では,行列行列積の実行時に 行う自動チューニングを以下の 2 段階に分ける. ① 推定範囲:8 ≤ 𝑖, 𝑗 ≤ 96 (𝑖, 𝑗 𝑚𝑜𝑑 8 = 0), 組合せ総数:144 ② 推 定 範 囲 : ①の結果 − 4 ≤ 𝑖, 𝑗 ≤ ①の結果 + 4 , 組合せ総数:81 𝑖, 𝑗ともに整数である.①で粗く推定した後に, ②で詳細な推定を行う.逐次追加型と,すべての 性能パラメータを調べる全探索の 2 種類の手法で比 較すると同時に,推定した性能パラメータにより 最適化された理想最適化での実行時間も計測する.. 0.15 逐次追加型のコスト. 逐次追加型. 理想最適化. 図 4 合計実行時間の比較(225 反復) す.理想最適化の実行時間に対して,逐次追加型 は全探索と比較して 66%短縮できた.これは,逐 次追加型のコストが小さい上に推定を早く終える が,全探索では実行時間が大きくなる性能パラメ ータの組合せもすべて実行するからである.. 5. おわりに 複数の性能パラメータを同時に推定できる標本 点逐次追加型性能パラメータ推定法を自動チュー ニング基盤 ppOpen-AT に実装し,評価した.少な い反復で最適値を推定し,最適化後の実行時間は 十分に小さいことを示した.また,合計の実行時 間が全探索と比べて削減されたことを確認した. 性能パラメータのとり得る組合せの増加やより 高次元の推定では,d-Spline の更新に必要となるメ モリ量が増加する.そのため,より軽量な実装を 開発することが今後の課題である. 参考文献 [1] 田中輝雄,片桐孝洋,弓場敏嗣,ソフトウェア自動チ ューニングにおける標本点逐次追加型性能パラメータ 推定法,電子情報通信学会論文誌,Vol.J90-A,pp.281291 (2007). [2] 片桐孝洋,自動チューニング記述専用言語 ppOpenAT/Static の開発,日本応用数理学会 2011 年度年 会,予稿集,pp.187-188 (2011). [3] T. Tanaka, R. Otsuka, A. Fujii, T. Katagiri and T. Imamura, Implementation of d-Spline-based incremental performance parameter estimation method with ppOpen-AT, Scientific Programming, Volume 22, 4, pp.299-307 (2014).. Copyright 2015 Information Processing Society of Japan. All Rights Reserved..

(3)

図 2  拡張した pragma(下線部)を用いた例  能パラメータの増分値を任意に設定できる.  4.  実験  4.1  評価対象  2 次元に拡張した逐次追加型推定法をキャッシュ ブロッキングに対して適用する.キャッシュブロ ッキングとは,キャッシュに収まるようデータを ブロック化し,キャッシュ内のデータを再利用す る手法である.ブロックサイズを推定する性能パ ラメータとする.本実験では,行列行列積へのキ ャッシュブロッキングを自動チューニングする.   4.2  実験環境

参照

関連したドキュメント

機器表に以下の追加必要事項を記載している。 ・性能値(機器効率) ・試験方法等に関する規格 ・型番 ・製造者名

職員参加の下、提供するサービスについて 自己評価は各自で取り組んだあと 定期的かつ継続的に自己点検(自己評価)

○ 我が国でも、政府の「SDGs 推進本部」が 2016 年に「SDGs 実施指針」を決定し、1. 同指針を

性能  機能確認  容量確認  容量及び所定の動作について確 認する。 .

性能  機能確認  容量確認  容量及び所定の動作について確 認する。 .

性能  機能確認  容量確認  容量及び所定の動作について確 認する。 .

性能  機能確認  容量確認  容量及び所定の動作について確 認する。 .

点検方法を策定するにあたり、原子力発電所耐震設計技術指針における機