Upload
Download free for 30 days
Login
Submit Search
高速化のポイント
Download as PPTX, PDF
1 like
462 views
ryos36
画像処理での高速化のポイント。途中で力尽きてます。
Engineering
Read more
1 of 23
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
More Related Content
PPTX
OverlayFS を使って Raspberry Pi を Network Bootする
KokiMakita1
KEY
ソーシャルゲームログ解析基盤のMongoDB活用事例
知教 本間
PDF
CouchDB JP & BigCouch
Yohei Sasaki
PPT
RubyとPost Gis
ngi group.
PDF
Webサーバの性能測定
Ryo Maruyama
PDF
Bgworkerで簡易クラスタ管理
Masahiko Sawada
PDF
lilo.linux.or.jp の話 (2017年12月)
Kazuhiro Nishiyama
PDF
20120721_ishkawa
Yosuke Ishikawa
OverlayFS を使って Raspberry Pi を Network Bootする
KokiMakita1
ソーシャルゲームログ解析基盤のMongoDB活用事例
知教 本間
CouchDB JP & BigCouch
Yohei Sasaki
RubyとPost Gis
ngi group.
Webサーバの性能測定
Ryo Maruyama
Bgworkerで簡易クラスタ管理
Masahiko Sawada
lilo.linux.or.jp の話 (2017年12月)
Kazuhiro Nishiyama
20120721_ishkawa
Yosuke Ishikawa
What's hot
(20)
PPTX
ぼくの考えた最強のpipeline構成
Naoto Nishizono
PDF
alieaters_tokyo_20200325_yoshimura
Masaki Yoshimura
PPTX
ギブミーパフォーマンス!〜DBスキーマを変更して高速化した話〜
iPride Co., Ltd.
PDF
コンピューターネットワーク入門
Yusuke Miyazaki
PPTX
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
basicinc_dev
PDF
思い通りにいかないのがWebなんて 割り切りたくないから (Gunma.web #4 2011/02/12)
parrotstudio
PPTX
Ctb57 with god7
kingtomo
PDF
Rubyによるお手軽分散処理
maebashi
PDF
Rubyで実はwritev(2) が使われているはなし
Masaki Matsushita
PPTX
これだけMakefile (Basics of makefile)
seichi23
PPTX
Mmo game networking_1
Katsutoshi Makino
PDF
Cocoa勉強会#33-意外に楽に使えるlibcurl
Masayuki Nii
PPTX
Stream2の基本
shigeki_ohtsu
PDF
2日間Fabricを触った俺が 色々解説してみる
airtoxin Ishii
PPT
処理概要図&構築手順書1124
Kazuki Miura
PDF
Road to ggplot2再入門
nocchi_airport
PDF
データベース実践入門読書会スペシャル #nseg
ko ty
PDF
PIC RoR Heroku
mgwsuzuki
PPTX
Gunosy.go#2 package/compress
Shunsuke Aihara
PDF
机上の Kubernetes - 形式手法で見るコンテナオーケストレーション #NGK2016B
y_taka_23
ぼくの考えた最強のpipeline構成
Naoto Nishizono
alieaters_tokyo_20200325_yoshimura
Masaki Yoshimura
ギブミーパフォーマンス!〜DBスキーマを変更して高速化した話〜
iPride Co., Ltd.
コンピューターネットワーク入門
Yusuke Miyazaki
HUで6000万pvのトラフィックを捌くまでに起ったことをありのままに話すぜ
basicinc_dev
思い通りにいかないのがWebなんて 割り切りたくないから (Gunma.web #4 2011/02/12)
parrotstudio
Ctb57 with god7
kingtomo
Rubyによるお手軽分散処理
maebashi
Rubyで実はwritev(2) が使われているはなし
Masaki Matsushita
これだけMakefile (Basics of makefile)
seichi23
Mmo game networking_1
Katsutoshi Makino
Cocoa勉強会#33-意外に楽に使えるlibcurl
Masayuki Nii
Stream2の基本
shigeki_ohtsu
2日間Fabricを触った俺が 色々解説してみる
airtoxin Ishii
処理概要図&構築手順書1124
Kazuki Miura
Road to ggplot2再入門
nocchi_airport
データベース実践入門読書会スペシャル #nseg
ko ty
PIC RoR Heroku
mgwsuzuki
Gunosy.go#2 package/compress
Shunsuke Aihara
机上の Kubernetes - 形式手法で見るコンテナオーケストレーション #NGK2016B
y_taka_23
Ad
Viewers also liked
(9)
PPTX
数値計算のための Python + FPGA
ryos36
PPTX
Analog Devices の IP コアを使う
ryos36
PPTX
20周遅れ
ryos36
PPTX
SDSoC でストリーム
ryos36
PPTX
SDSoC と Vivado
ryos36
PPTX
Zynq + Vivado HLS入門
narusugimoto
PPTX
Polyphony IO まとめ
ryos36
PDF
How to Make Awesome SlideShares: Tips & Tricks
SlideShare
PDF
Getting Started With SlideShare
SlideShare
数値計算のための Python + FPGA
ryos36
Analog Devices の IP コアを使う
ryos36
20周遅れ
ryos36
SDSoC でストリーム
ryos36
SDSoC と Vivado
ryos36
Zynq + Vivado HLS入門
narusugimoto
Polyphony IO まとめ
ryos36
How to Make Awesome SlideShares: Tips & Tricks
SlideShare
Getting Started With SlideShare
SlideShare
Ad
Similar to 高速化のポイント
(14)
PPTX
nftables: the Next Generation Firewall in Linux
Tomofumi Hayashi
PDF
Scalable Cooperative File Caching with RDMA-Based Directory Management
Junya Arai
PDF
[db analytics showcase Sapporo 2017] A15: Pythonでの分散処理再入門 by 株式会社HPCソリューションズ ...
Insight Technology, Inc.
PPTX
ビッグデータとioDriveの夕べ:ドリコムのデータ分析環境のお話
Tokoroten Nakayama
PDF
Bossan dentoo
kubo39
PDF
NSG フローログを支える技術 - NVF Advanced Flow Logging
順也 山口
PDF
Richard high performance fuzzing ja
PacSecJP
PPTX
Checkpointing Algorithms on In-memory DBMS
Sho Nakazono
PDF
Osc2011 Do
Kazuhisa Hara
PDF
Wacode 忙しいバイオインフォマティシャンのための時短ワンライナー
Caru Shi
PPTX
OLD_Lt traffic analyse_OLD
@ otsuka752
PDF
Firefox 3.1 In Depth (?)
dynamis
PDF
lua_nginx_module JSON-RPC 2.0 Batch Request
mosa siru
PDF
PHPデプロイツールの世界
Yuuki Takezawa
nftables: the Next Generation Firewall in Linux
Tomofumi Hayashi
Scalable Cooperative File Caching with RDMA-Based Directory Management
Junya Arai
[db analytics showcase Sapporo 2017] A15: Pythonでの分散処理再入門 by 株式会社HPCソリューションズ ...
Insight Technology, Inc.
ビッグデータとioDriveの夕べ:ドリコムのデータ分析環境のお話
Tokoroten Nakayama
Bossan dentoo
kubo39
NSG フローログを支える技術 - NVF Advanced Flow Logging
順也 山口
Richard high performance fuzzing ja
PacSecJP
Checkpointing Algorithms on In-memory DBMS
Sho Nakazono
Osc2011 Do
Kazuhisa Hara
Wacode 忙しいバイオインフォマティシャンのための時短ワンライナー
Caru Shi
OLD_Lt traffic analyse_OLD
@ otsuka752
Firefox 3.1 In Depth (?)
dynamis
lua_nginx_module JSON-RPC 2.0 Batch Request
mosa siru
PHPデプロイツールの世界
Yuuki Takezawa
More from ryos36
(14)
PPTX
Pycairo を使ってみる その1
ryos36
PPTX
ストーリーとは
ryos36
PPTX
CNN でテニス選手の動きを解析する
ryos36
PPTX
Polyphony の行く末(2018/3/3)
ryos36
PPTX
Polyphony の並列化
ryos36
PPTX
Polyphony 新機能ツアー
ryos36
PPTX
Polyphony: Python ではじめる FPGA
ryos36
PPTX
Stellaris を使った組み込みアプリ開発ガイド
ryos36
PPTX
研究者のための Python による FPGA 入門
ryos36
PPTX
PYNQ 祭り: Pmod のプログラミング
ryos36
PPTX
90分 Scheme to C(勝手に抄訳版)
ryos36
PPTX
並列計算への道 2015年版
ryos36
PDF
NiosII と RTOS について
ryos36
PPTX
Synthesijer で作るFORTH仮想マシン
ryos36
Pycairo を使ってみる その1
ryos36
ストーリーとは
ryos36
CNN でテニス選手の動きを解析する
ryos36
Polyphony の行く末(2018/3/3)
ryos36
Polyphony の並列化
ryos36
Polyphony 新機能ツアー
ryos36
Polyphony: Python ではじめる FPGA
ryos36
Stellaris を使った組み込みアプリ開発ガイド
ryos36
研究者のための Python による FPGA 入門
ryos36
PYNQ 祭り: Pmod のプログラミング
ryos36
90分 Scheme to C(勝手に抄訳版)
ryos36
並列計算への道 2015年版
ryos36
NiosII と RTOS について
ryos36
Synthesijer で作るFORTH仮想マシン
ryos36
高速化のポイント
1.
画像処理での高速化のポイント (有)シンビー 2016/7/13
2.
高速化のポイント • ボトルネックを探す – プロファイリング •
データの依存関係 • メモリの配置 – キャッシュとバースト転送 • パイプライン – レイテンシー • 並列に処理 • パイプライン(もう一度) – 最低限必要なデータがそろっていれば先に始められる
3.
ボトルネックを探す ボトル ネック
4.
処理時間の多いところ 関数名 処理時間 func0 7516 func1
1 func2 504 func3 341458 func4 121 0 100000 200000 300000 400000 func4 func3 func2 func1 func0 処理時間 処理時間 ボトルネック
5.
プロファイリング(gcc) • 関数呼び出しのたびに回数を記録 – 呼び出し回数の多い関数はインライン化すること で処理スピードの向上が期待できる •
定期的に実行アドレスを記録 – 処理しているアドレスから関数を特定し時間のか かっている処理(ボトルネック)を割り出す。 – ボトルネックの処理が改善対象になる
6.
プロファイリング(RTOS) • 定期的に実行アドレスを記録 – 処理しているアドレスから関数を特定し時間のか かっている処理(ボトルネック)を割り出す。 –
実行アドレスのすべてを記録できないのである程 度の幅ができる。 – ボトルネックの処理を推察し、それが改善対象に なる *1 *1 すべての RTOS がこの方法をとっているというわけではありません。 典型例ということで。
7.
プロファイリング(RTOS) アドレス 関数名 処理時間 0x0000
func0 7517 func1 0x4000 func2 342083 func3 func4 0x8000 func5 3668 func6 func7 func8 ボトルネック プロファイリングの解像度が低いとボトルネックを正確に出せないことも。 => さらに絞って解像度をあげる func2 あるいは func3 あるいは func4
8.
プロファイリング(RTOS) 解像度をあげて特定 アドレス 関数名 処理時間 0x0000
func0 func1 0x4000 func2 504 func3 341458 func4 121 0x8000 func5 func6 func7 func8 ボトルネック
9.
プロファイリング(回数) ボトルネック? RTOS では関数の呼び出し回数を計測することが困難なこともある アドレス 関数名
処理時間 処理回数 0x0000 func0 7517 17583 func1 3048 0x4000 func2 342083 55 func3 2346 func4 4140 0x8000 func5 3668 31 func6 3478 func7 223 func8 3654
10.
データの依存関係 P(0, 0) P(0, 1) この中間の色をバイリニア でもとめる場合、、、 P(1,
0) P(1, 1)
11.
データの依存関係 • ターゲットの色は次の色に依存する – P(0,
0) – P(1, 0) – P(0, 1) – P(1, 1) • 依存しているデータは、すべてのデータがそ ろわないと計算できない
12.
データの依存関係 処理方式によっては依存するデータが広範囲に及ぶこともある
13.
データの依存関係と高速化 • すべてのデータはそろっているか? – データを早くそろえることで高速化 •
データは一括でとれるか? – データをすばやく連続的にとることで高速化
14.
メモリの配置 • メモリを連続にしておくことで高速化が期待で きる。 – CPU
のキャッシュが効く • ペリフェラルによっては L2 キャッシュを共有可能 – バス的にはバースト転送が可能
15.
パイプライン • 処理を細かくして並列化する技術 – 粒度の設定が重要 –
ストールしないようにする • パイプライン化で長い処理時間での処理数を 期待できる – 処理時間を短縮するわけではない
16.
パイプラインと高速化 • パイプライン化である種の高速化が期待でき る • レイテンシはあがることもある
17.
並列に処理 • データの依存度がないところは並列に処理可 能
18.
並列に処理 依存関係がなければ 並列に処理可能
19.
並列処理 A = X
+ Y; B = Z + X; 依存関係がないので 並列に処理可能
20.
並列に処理して高速化 • 並列に処理することで高速化が期待できる
21.
パイプライン(もう一度) 画像的にすべてのデータがそろっ てなくても処理を先にできる データの到着順 まだ到着していないデータ
22.
パイプラインと高速化 • 最低限必要なデータがそろっていれば先に始 められる • 先に始めることで(最後のデータ到着後から 最初の計算結果出力までの)レイテンシの短 縮が見込める
23.
力尽きたのでこの辺で
Download