Submit Search
Upload
JIT Code Profiling with VTune
•
1 like
•
1,629 views
MITSUNARI Shigeo
Follow
How to profile JIT code with VTune
Read less
Read more
Technology
Report
Share
Report
Share
1 of 12
Download now
Download to read offline
Recommended
Python と型アノテーション
Python と型アノテーション
K Yamaguchi
Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)
Tetsuya Morimoto
静的型付け言語Python
静的型付け言語Python
kiki utagawa
Pythonと型チェッカー
Pythonと型チェッカー
Tetsuya Morimoto
20170131 python3 6 PEP526
20170131 python3 6 PEP526
masahitojp
Effective Java 輪読会 項目45-48
Effective Java 輪読会 項目45-48
Appresso Engineering Team
わんくま東京#38 LT 「Func<> と ref / out 小咄」
わんくま東京#38 LT 「Func<> と ref / out 小咄」
Takeshi Kiriya
Cプログラムを異なるマイコンで動作させる際のエンディアンとビットフィールドの取り扱い
Cプログラムを異なるマイコンで動作させる際のエンディアンとビットフィールドの取り扱い
Gou Sawada
Recommended
Python と型アノテーション
Python と型アノテーション
K Yamaguchi
Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)
Tetsuya Morimoto
静的型付け言語Python
静的型付け言語Python
kiki utagawa
Pythonと型チェッカー
Pythonと型チェッカー
Tetsuya Morimoto
20170131 python3 6 PEP526
20170131 python3 6 PEP526
masahitojp
Effective Java 輪読会 項目45-48
Effective Java 輪読会 項目45-48
Appresso Engineering Team
わんくま東京#38 LT 「Func<> と ref / out 小咄」
わんくま東京#38 LT 「Func<> と ref / out 小咄」
Takeshi Kiriya
Cプログラムを異なるマイコンで動作させる際のエンディアンとビットフィールドの取り扱い
Cプログラムを異なるマイコンで動作させる際のエンディアンとビットフィールドの取り扱い
Gou Sawada
Swift の3大プロトコルを眺めてみる #love_swift
Swift の3大プロトコルを眺めてみる #love_swift
Tomohiro Kumagai
Emcpp0506
Emcpp0506
Takatoshi Kondo
Go1.18 Genericsを試す
Go1.18 Genericsを試す
asuka y
Spock's world
Spock's world
Takuma Watabiki
Effective Modern C++ 勉強会#1 Item3,4
Effective Modern C++ 勉強会#1 Item3,4
Takashi Hoshino
Code Contracts の紹介
Code Contracts の紹介
ゆぽ
Haswellサーベイと有限体クラスの紹介
Haswellサーベイと有限体クラスの紹介
MITSUNARI Shigeo
条件分岐とcmovとmaxps
条件分岐とcmovとmaxps
MITSUNARI Shigeo
MS Officeファイル暗号化のマスター鍵を利用したバックドアとその対策
MS Officeファイル暗号化のマスター鍵を利用したバックドアとその対策
MITSUNARI Shigeo
Emcjp item21
Emcjp item21
MITSUNARI Shigeo
フラグを愛でる
フラグを愛でる
MITSUNARI Shigeo
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
MITSUNARI Shigeo
llvm入門
llvm入門
MITSUNARI Shigeo
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
GoogleのSHA-1のはなし
GoogleのSHA-1のはなし
MITSUNARI Shigeo
130522 rt講習会(説明用)
130522 rt講習会(説明用)
openrtm
Windows Phone 7はじめました
Windows Phone 7はじめました
Akira Hatsune
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
Atomu Hidaka
Dart / Flutter コードファイルジェネレート入門
Dart / Flutter コードファイルジェネレート入門
cch-robo
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
Atomu Hidaka
130329 02
130329 02
openrtm
Ansibleでネットワーク機器の状態確認を自動化してみよう
Ansibleでネットワーク機器の状態確認を自動化してみよう
akira6592
More Related Content
What's hot
Swift の3大プロトコルを眺めてみる #love_swift
Swift の3大プロトコルを眺めてみる #love_swift
Tomohiro Kumagai
Emcpp0506
Emcpp0506
Takatoshi Kondo
Go1.18 Genericsを試す
Go1.18 Genericsを試す
asuka y
Spock's world
Spock's world
Takuma Watabiki
Effective Modern C++ 勉強会#1 Item3,4
Effective Modern C++ 勉強会#1 Item3,4
Takashi Hoshino
Code Contracts の紹介
Code Contracts の紹介
ゆぽ
What's hot
(6)
Swift の3大プロトコルを眺めてみる #love_swift
Swift の3大プロトコルを眺めてみる #love_swift
Emcpp0506
Emcpp0506
Go1.18 Genericsを試す
Go1.18 Genericsを試す
Spock's world
Spock's world
Effective Modern C++ 勉強会#1 Item3,4
Effective Modern C++ 勉強会#1 Item3,4
Code Contracts の紹介
Code Contracts の紹介
Viewers also liked
Haswellサーベイと有限体クラスの紹介
Haswellサーベイと有限体クラスの紹介
MITSUNARI Shigeo
条件分岐とcmovとmaxps
条件分岐とcmovとmaxps
MITSUNARI Shigeo
MS Officeファイル暗号化のマスター鍵を利用したバックドアとその対策
MS Officeファイル暗号化のマスター鍵を利用したバックドアとその対策
MITSUNARI Shigeo
Emcjp item21
Emcjp item21
MITSUNARI Shigeo
フラグを愛でる
フラグを愛でる
MITSUNARI Shigeo
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
MITSUNARI Shigeo
llvm入門
llvm入門
MITSUNARI Shigeo
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
GoogleのSHA-1のはなし
GoogleのSHA-1のはなし
MITSUNARI Shigeo
Viewers also liked
(9)
Haswellサーベイと有限体クラスの紹介
Haswellサーベイと有限体クラスの紹介
条件分岐とcmovとmaxps
条件分岐とcmovとmaxps
MS Officeファイル暗号化のマスター鍵を利用したバックドアとその対策
MS Officeファイル暗号化のマスター鍵を利用したバックドアとその対策
Emcjp item21
Emcjp item21
フラグを愛でる
フラグを愛でる
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
llvm入門
llvm入門
プログラムを高速化する話
プログラムを高速化する話
GoogleのSHA-1のはなし
GoogleのSHA-1のはなし
Similar to JIT Code Profiling with VTune
130522 rt講習会(説明用)
130522 rt講習会(説明用)
openrtm
Windows Phone 7はじめました
Windows Phone 7はじめました
Akira Hatsune
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
Atomu Hidaka
Dart / Flutter コードファイルジェネレート入門
Dart / Flutter コードファイルジェネレート入門
cch-robo
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
Atomu Hidaka
130329 02
130329 02
openrtm
Ansibleでネットワーク機器の状態確認を自動化してみよう
Ansibleでネットワーク機器の状態確認を自動化してみよう
akira6592
Android4.2徹底解剖!
Android4.2徹底解剖!
leverages_event
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
NTT DATA Technology & Innovation
Visual studio de debug
Visual studio de debug
Kazushi Kamegawa
2015 summercamp 04
2015 summercamp 04
openrtm
Titanium実装最初の一歩.
Titanium実装最初の一歩.
Yasuhiro Matsubayashi
2013 06-22osc nagoya-netmf
2013 06-22osc nagoya-netmf
Atomu Hidaka
Jubatus分類器の活用テクニック
Jubatus分類器の活用テクニック
JubatusOfficial
JIT のコードを読んでみた
JIT のコードを読んでみた
y-uti
JJavaプログラム実行の仕組みと、高速・安定動作に向けた取り組み
JJavaプログラム実行の仕組みと、高速・安定動作に向けた取り組み
日本Javaユーザーグループ
201110 01 Polytech Center 1
201110 01 Polytech Center 1
openrtm
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
You&I
Python Autotest pdc2008w
Python Autotest pdc2008w
Takayuki Shimizukawa
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
ThinReports
Similar to JIT Code Profiling with VTune
(20)
130522 rt講習会(説明用)
130522 rt講習会(説明用)
Windows Phone 7はじめました
Windows Phone 7はじめました
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
Dart / Flutter コードファイルジェネレート入門
Dart / Flutter コードファイルジェネレート入門
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
130329 02
130329 02
Ansibleでネットワーク機器の状態確認を自動化してみよう
Ansibleでネットワーク機器の状態確認を自動化してみよう
Android4.2徹底解剖!
Android4.2徹底解剖!
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Visual studio de debug
Visual studio de debug
2015 summercamp 04
2015 summercamp 04
Titanium実装最初の一歩.
Titanium実装最初の一歩.
2013 06-22osc nagoya-netmf
2013 06-22osc nagoya-netmf
Jubatus分類器の活用テクニック
Jubatus分類器の活用テクニック
JIT のコードを読んでみた
JIT のコードを読んでみた
JJavaプログラム実行の仕組みと、高速・安定動作に向けた取り組み
JJavaプログラム実行の仕組みと、高速・安定動作に向けた取り組み
201110 01 Polytech Center 1
201110 01 Polytech Center 1
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
Python Autotest pdc2008w
Python Autotest pdc2008w
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
More from MITSUNARI Shigeo
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル
MITSUNARI Shigeo
暗認本読書会13 advanced
暗認本読書会13 advanced
MITSUNARI Shigeo
暗認本読書会12
暗認本読書会12
MITSUNARI Shigeo
暗認本読書会11
暗認本読書会11
MITSUNARI Shigeo
暗認本読書会10
暗認本読書会10
MITSUNARI Shigeo
暗認本読書会9
暗認本読書会9
MITSUNARI Shigeo
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
MITSUNARI Shigeo
暗認本読書会8
暗認本読書会8
MITSUNARI Shigeo
暗認本読書会7
暗認本読書会7
MITSUNARI Shigeo
暗認本読書会6
暗認本読書会6
MITSUNARI Shigeo
暗認本読書会5
暗認本読書会5
MITSUNARI Shigeo
暗認本読書会4
暗認本読書会4
MITSUNARI Shigeo
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
MITSUNARI Shigeo
私とOSSの25年
私とOSSの25年
MITSUNARI Shigeo
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装
MITSUNARI Shigeo
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
MITSUNARI Shigeo
楕円曲線と暗号
楕円曲線と暗号
MITSUNARI Shigeo
HPC Phys-20201203
HPC Phys-20201203
MITSUNARI Shigeo
BLS署名の実装とその応用
BLS署名の実装とその応用
MITSUNARI Shigeo
More from MITSUNARI Shigeo
(20)
暗号技術の実装と数学
暗号技術の実装と数学
範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル
暗認本読書会13 advanced
暗認本読書会13 advanced
暗認本読書会12
暗認本読書会12
暗認本読書会11
暗認本読書会11
暗認本読書会10
暗認本読書会10
暗認本読書会9
暗認本読書会9
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
暗認本読書会8
暗認本読書会8
暗認本読書会7
暗認本読書会7
暗認本読書会6
暗認本読書会6
暗認本読書会5
暗認本読書会5
暗認本読書会4
暗認本読書会4
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
私とOSSの25年
私とOSSの25年
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
楕円曲線と暗号
楕円曲線と暗号
HPC Phys-20201203
HPC Phys-20201203
BLS署名の実装とその応用
BLS署名の実装とその応用
Recently uploaded
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
Recently uploaded
(10)
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
JIT Code Profiling with VTune
1.
JIT Code Profiling
with VTune Cybozu Labs 2011/10/1 光成滋生 x86/x64最適化勉強会2
2.
内容 プロファイラの紹介 JITコードプロファイルの問題点 原因 対策 結果 2011/10/1
2 /12
3.
CodeAnalyst vs. VTune
CodeAnalyst(AMD) VTune(Intel) 値段 無料,Intel CPUでも利用可 有料 高機能で分かりにくい GUI シンプルで分かりやすい (情報が多すぎる) アンドキュメント JITコード 環境によって ヘルプに載ってる プロファイルAPI 動いたり動かなかったり 安定性 安心して使える 非常によく落ちる 2011/10/1 3 /12
4.
JITコードプロファイルの問題点 多用するとプロファイラが役に立たない
一番食ってる部分が[Unknown stack frame(s)] 2011/10/1 4 /12
5.
原因 プロファイラは実行時のeipを記録し,終了時に シンボル情報を使ってソースコードと対応づける
実行時生成されたコードはプロセス終了時に消える どこかのスタックやヒープを指してるeipばかり記録される シンボル情報には含まれない(知りようがない) → プロファイラがそれらの情報を解析できない 2011/10/1 5 /12
6.
対策 プロファイラにJITコードの情報を伝えればよい どうやって?
関数ポインタとサイズ,表示用の名前を与えさえすれば CodeAnalystやVTuneはそういうAPIを持っている 今回はWindows用VTuneでのやりかたを紹介 2011/10/1 6 /12
7.
VTune用APIを使う準備 インクルードパス <インストールパス>/Intel/VTune
Amplifier XE/include ライブラリパス <インストールパス>/Intel/VTune Amplifier XE/lib{32,64} プログラムの先頭 #include "jitprofiling.h" #pragma comment(lib, "libittnotify.lib") #pragma comment(lib, "jitprofiling.lib") 2011/10/1 7 /12
8.
設定方法(1/2) ユーティリティ関数を用意した void SetJitCode(void
*ptr, size_t size, const char *name){ iJIT_Method_Load jmethod = {0}; jmethod.method_id = iJIT_GetNewMethodID(); jmethod.class_file_name = ""; jmethod.source_file_name = __FILE__; jmethod.method_load_address = ptr; jmethod.method_size = (unsigned int)size; jmethod.line_number_size = 0; jmethod.method_name = const_cast<char*>(name); iJIT_NotifyEvent(iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED, (void*)&jmethod); } SetJitCode(関数ポインタ, サイズ, 名前);で呼び出す 2011/10/1 8 /12
9.
設定方法(1/2) 例えばこんな感じ static const
struct { const Xbyak::CodeGenerator& g, const char *name; } tbl[] = { { genAdd, "ZmZ_2::add" }, { genAddNC, "ZmZ_2::addNC" }, ... }; for (size_t i = 0; i < tblN - 1; i++) { SetJitCode(tbl[i].g.getCode(),tbl[i].g.getSize(),tbl[i].name); } プログラム終了前にプロファイラに知らせる iJIT_NotifyEvent(iJVM_EVENT_TYPE_SHUTDOWN, NULL); 2011/10/1 9 /12
10.
最初の例
JIT生成された関数 が見える! 関数をクリックすると… 2011/10/1 10 /12
11.
JIT生成されたコード 中身も見える! 2011/10/1
11 /12
12.
説明とコード CodeAnalystとVTuneの両方のやりかたを書いた http://homepage1.nifty.com/herumi/prog/profile.html
(プロファイラを使おう) http://github.com/herumi/opti/ (サンプルコード) 2011/10/1 12 /12
Download now