Enviar búsqueda
Cargar
Jubatusによるアセンブリ実行速度の自動チューニング
•
7 recomendaciones
•
14,905 vistas
Takayuki Muranushi
Seguir
Jubatusの回帰分析を使って、 アセンブリプログラムのエミュレートされた実行速度を自動チューニングしてみました。
Leer menos
Leer más
Datos y análisis
Denunciar
Compartir
Denunciar
Compartir
1 de 15
Descargar ahora
Descargar para leer sin conexión
Recomendados
Chapter 8 ボルツマンマシン - 深層学習本読み会
Chapter 8 ボルツマンマシン - 深層学習本読み会
Taikai Takeda
ディープボルツマンマシン入門〜後半〜
ディープボルツマンマシン入門〜後半〜
sakaizawa
Deeplearning4.4 takmin
Deeplearning4.4 takmin
Takuya Minagawa
深層学習(講談社)のまとめ 第8章
深層学習(講談社)のまとめ 第8章
okku apot
ディープボルツマンマシン入門
ディープボルツマンマシン入門
Saya Katafuchi
制限ボルツマンマシン入門
制限ボルツマンマシン入門
佑馬 斎藤
Jubatus Hackathon
Jubatus Hackathon
__john_smith__
相撲
相撲
JubatusOfficial
Más contenido relacionado
Destacado
チーム:大杉さんの壮大な夢
チーム:大杉さんの壮大な夢
JubatusOfficial
興味ありそうなもの検索
興味ありそうなもの検索
JubatusOfficial
忙しい人のためのニコ動案内を作ってみてる
忙しい人のためのニコ動案内を作ってみてる
Keisuke Ogaki
Jubatusハンズオン資料
Jubatusハンズオン資料
Preferred Networks
jubatusのECサイトへの適応 #jubatus_hackathon
jubatusのECサイトへの適応 #jubatus_hackathon
Tokoroten Nakayama
Jubatusでuserとbrandのレコメンドを試してみた話
Jubatusでuserとbrandのレコメンドを試してみた話
JubatusOfficial
小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみた
JubatusOfficial
jubarecommenderの紹介
jubarecommenderの紹介
JubatusOfficial
単語コレクター(文章自動校正器)
単語コレクター(文章自動校正器)
JubatusOfficial
新聞から今年の漢字を予測する
新聞から今年の漢字を予測する
JubatusOfficial
jubabanditの紹介
jubabanditの紹介
JubatusOfficial
Jubatus 新機能ハイライト
Jubatus 新機能ハイライト
JubatusOfficial
JubaQLご紹介
JubaQLご紹介
JubatusOfficial
かまってちゃん小町
かまってちゃん小町
JubatusOfficial
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
JubatusOfficial
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
JubatusOfficial
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
JubatusOfficial
Jubaanomalyについて
Jubaanomalyについて
JubatusOfficial
Jubakit の紹介
Jubakit の紹介
kmaehashi
発言小町からのプロファイリング
発言小町からのプロファイリング
JubatusOfficial
Destacado
(20)
チーム:大杉さんの壮大な夢
チーム:大杉さんの壮大な夢
興味ありそうなもの検索
興味ありそうなもの検索
忙しい人のためのニコ動案内を作ってみてる
忙しい人のためのニコ動案内を作ってみてる
Jubatusハンズオン資料
Jubatusハンズオン資料
jubatusのECサイトへの適応 #jubatus_hackathon
jubatusのECサイトへの適応 #jubatus_hackathon
Jubatusでuserとbrandのレコメンドを試してみた話
Jubatusでuserとbrandのレコメンドを試してみた話
小町のレス数が予測できるか試してみた
小町のレス数が予測できるか試してみた
jubarecommenderの紹介
jubarecommenderの紹介
単語コレクター(文章自動校正器)
単語コレクター(文章自動校正器)
新聞から今年の漢字を予測する
新聞から今年の漢字を予測する
jubabanditの紹介
jubabanditの紹介
Jubatus 新機能ハイライト
Jubatus 新機能ハイライト
JubaQLご紹介
JubaQLご紹介
かまってちゃん小町
かまってちゃん小町
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
コンテンツマーケティングでレコメンドエンジンが必要になる背景とその活用
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
まだCPUで消耗してるの?Jubatusによる近傍探索のGPUを利用した高速化
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
データ圧縮アルゴリズムを用いたマルウェア感染通信ログの判定
Jubaanomalyについて
Jubaanomalyについて
Jubakit の紹介
Jubakit の紹介
発言小町からのプロファイリング
発言小町からのプロファイリング
Jubatusによるアセンブリ実行速度の自動チューニング
1.
#jubatus_hackathon http://connpass.com/event/8233/ jubatusによるアセンブリ
実行速度の自動チューニング @nushio & @kumagi
2.
mission: スーパーコンピュータで走る プログラムを自動的に早くする。
3.
その1:融合加乗算(fmadd)を使う 1クロックあたり2演算! a
b c fmadd a*b+c
4.
その2:命令を一杯詰め込む before after
fmadd ←クロック add mul fmadd add mul fmadd add mul fmadd add mul fmadd add mul fmadd fmadd 各命令にはレイテンシがある ため、毎クロック演算機を無 駄なく使うためには、依存関 係のない演算を次々に投入 せねばならない。
5.
その3:キャッシュを使う 演算機 キャッシュ
• 主メモリは大容量だが、ア クセスに時間がかかる。 • 比較的小さなキャッシュに 頻繁に使うデータは置き、 なるべくキャッシュミスせ ずに使いまわす必要があ る。 メモリ
6.
チューニング対象: 各命令について・・・ fmadd
add fmadd • 命令実行の 優先度? • キャッシュに 残す優先 度?
7.
• 優先度0.11 •
優先度0.30 • 優先度0.97 • 優先度0.79 • 優先度0.56 • 優先度0.25 • 優先度0.84 • 優先度0.23 • ・・・ 1万行くらいのアセンブリ CPUエミュレータ 実行結果: 49881クロックです • アセンブリの各行に対し 命令実行の優先度と、 キャッシュに残す優先度 を指定すると、実行過程 をシミュレートし、所要時 間を見積もってくれるエ ミュレータを作った。
8.
CPUエミュレータ クロック数 (成績)
• 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • ・・・ • ランダムに生成した優先度リス トとクロック数の組が沢山あれ ば、・・・ Regression • Jubatusにより未知の優先度リストに 対してもクロック数が推定できる!
9.
CPUエミュレータ クロック数 (成績)
• 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • ・・・ でも・・・ Regression 本当にやりたいのはこっち。 (良いクロック数を出すプログラムを探す) 逆問題?難しい?
10.
CPUエミュレータ クロック数 (成績)
• 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • ・・・ ×重み ×重み ×重み ×重み ×重み ×重み ・・・・ Regression 内部状態は jubadumpツールで 覗けます! Jubatusの線形回帰分析機は、 入力ベクトルと内部の重みの内積で出力を推定している。 重みが大きい成分ほど、クロックを大きくするのに貢献している(悪影響)。
11.
CPUエミュレータ クロック数 (成績)
• 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • ・・・ ×重み ×重み ×重み ×重み ×重み ×重み ・・・・ ×‐1= Regression • 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • ・・・ 重みに-1を掛け算。 若干の正規化を施したのち優先度として採用!
12.
CPUエミュレータ クロック数 (成績)
• 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • ・・・ ×重み ×重み ×重み ×重み ×重み ×重み ・・・・ ×-1= (&正規化) Regression • 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • 優先度 • ・・・ プログラム生成 追加 まさにオンライン学習!
13.
ランダム生成と対決! Random Jubatus
(最速) クロック数 70000~ 26919 35000~ 27768 テスト回数5000 50 コア数64コア1コア 所要時間3時間くらい1時間くらい
14.
実行完了までのクロック数 (←小さいほど良い) 生成したプログラムの数
Random Jubatus
15.
Jubatus makes it
faster, faster! Jubatusなら素早く、速くなる! Jubatusの手軽さはやっぱり凄かった! 皆様ありがとうございました!
Descargar ahora