SlideShare uma empresa Scribd logo
1 de 45
画像処理の高性能計算
名古屋工業大学
福嶋 慶繁
2021/1/21 画像工学(IE)研究会
画像処理に高速化に関する話
画工研の中心の話題の一つである符号化と
高速化のアナロジーに関する話
本日の話 2
画像の高解像度化
アプリケーションの多様化
画素を高速に計算する需要は昔よりも高く
画像処理自体も複雑に
速く,様々なプログラムを高速化するには?
–最適化された関数の提供だけでは対応できなく
–プログラミング言語・コンパイラとして画像処理
をサポート
背景 3
High-Performance Computing
–並列・ベクトル計算等による科学技術計算によ
る高速化
–スパコンによる計算
–GPGPU
計算するもの
–粒子計算
–拡散方程式
–など
高性能計算 4
画像中の画素の計算を並列に,かつキャッ
シュ効率のよい計算する方法を考えること
–演算能力の向上
–データ転送能力の向上
重要な点は下記3つのトレードオフ
–並列性
• 演算能力を上げる
–局所性
• データ転送能力を上げる
–冗長計算
• 両者を満たすために必要な余分な処理
画像処理における高性能計算 5
ムーアの法則に従って集積回路のトランジス
タ数は年々倍増
–多コア,ベクトル演算器,大容量キャッシュに
計算機の高性能化 6
40th Anniversary of the Microprocessor
https://newsroom.intel.com/press-kits/40th-anniversary-of-the-microprocessor/
2011年:Core i7 3960X vs Intel 4004
35万倍
1971年:Intel 4004
トランジスタ2300個
コンシューマ向け最上位 Intel Core i9
9980XEは3.0 GHz,18コア,512ビットベク
トル演算器,FMAユニット2つ搭載
–単純:3.0 GFLOPS
–理想:3.5 TFLOPS (倍精度:1.8TFLOPS)
• 3.0*18*16*2*2
• ターボブーストや増加したL2キャッシュ,SMTを活
用するとさらに性能向上
FLOPS(Floating-point Operations Per Second)
–秒間浮動小数点演算を何回計算できるかの指標
計算機の並列性 7
画像処理の並列化 8
マルチスレッド
並列化
ベクトル
並列化
FLOPS vs float 転送レート 9
0
500
1000
1500
2000
2500
3000
3500
1990 1995 2000 2005 2010 2015 2020
GFLOPS,float
store/s
CPUの計算能力とメモリの転送レートの差は開くばかり
キャッシュが階層構造になるとメモリから
のレイテンシが隠蔽可能
キャッシュ階層とレイテンシ 10
CPU
メモリ
L1 L2 L3
キャッシュ
容量
小 大
アクセス速度
速 遅
1-3 cycles <10 cycles >20 cycles >300 cycles
キャッシュ階層とレイテンシ 11
CPU
L1 L2
1-3
cycles
<10
cycles
>20
cycles
10-20
cycles
過去
現在
CPU Shared Large
L2
CPU
L1
L1
CPU
CPU
CPU
CPU
L1
L1
L1
L1
L2
L2
L2
L2
Shared Large
L3
Core i9 7980XE 12
16 Core
コアのうち,
かなりがキャッ
シュ
画像同士の積和はほぼメモリコピーと同速
– ax+b
• 行列プログラミングで書くと
• Mat a,x,b;
• Add(Mul(a,x),b)
• 画素のスキャン2回.
• これくらいの計算だとメモリコピー2回と計算時間はほぼ一緒
– for
• ai*xi+bi
• スキャン一回で書けば,メモリコピー一回分くらいの計算時間
計算に必要な要素がそろった場合は,一回にループ
ですべて計算すると大きく高速化
– AddやMulの関数を最適化するだけでは,実現不可能
• AddMul関数を作るなどしなければだめ
時間的局所性 13
ぼかして足して
の繰り返し
時間の局所性を
上げるように
コードを書きな
おすと...?
例えばSSIMの計算 14
Method Time [ms]
Naïve 21.01
Proposed 3.30  6.36 times faster
Widely used form
データはキャッシュに収まっている間に再
利用する
–Mat a,b,y;
–y = Mul(a,x);
–blur(y)
–yのデータはメモリに加えて,いったんキャッ
シュに収まるが,そのキャッシュのサイズあふ
れるとメモリからとってこなければいけない
タイリング
–だいたい64x64~128x128画素の処理をすると
キャッシュ効率が良い
データの空間的局所性 15
タイリング 16
Tile-0
Imin: 149
Imax: 219
Full Image: Imin: 0, Imax: 255
Tile-1
Imin: 0
Imax: 210
Tile-15
Imin: 18
Imax: 243
Tile-2
Imin: 3
Imax: 233
Tile-3
Imin: 140
Imax: 177
r
マクロブロックとして小さなブロック画像を処
理することで空間的局所性の向上
問題点
「各ブロックで並列に計算する場合に冗長計算
が必要」
例えばフィルタリング:
畳み込み半径分ブロックの外側の情報も存在し
なければいけない
逐次計算なら問題ない
→順次計算していけばよい
ブロック境界が目立ってもよい処理なら簡単だ
が,ブロック境界を考えると冗長処理が必要
境界部分をオーバー
ラップして再計算
Halide
17
アルゴリズムとスケジューリングの記述が分離
– アルゴリズム
• どのような処理か(What)
• 画像処理の本質を記述
• ハードウェアに依らず単一
– スケジューリング
• どのように処理するか(How)
• 高速化についての記述
• 並列化・ベクトル化・ループ変形・データ構造変形...
• ただし,アルゴリズムの計算結果を変化させない
• ハードウェアに依って適切に変更
Halide 18
マルチプラットフォームに対応
– CPU
• X86, ARM, MIPS, Hexagon, Power-PC...
– GPU
• CUDA, OpenCL, OpenGL, Direct X 12...
– OS
• Linux, Windows, MacOS, Android, iOS...
ハードウェアによったチューニングが容易
– アルゴリズムを変えることなく,様々なハードウェアに依っ
てスケジュールだけを変更可能
– 深層学習の最適化バックエンドはHalideから構成(されてい
た)
Halide 19
void blur(const Image &in, Image &blurred)
{
Image tmp(in.width(), in.height());
for (int y = 0; y < in.height(); y++)
for (int x = 0; x < in.width(); x++)
tmp(x, y) = (in(x - 1, y) + in(x, y) + in(x + 1, y)) / 3;
for (int y = 0; y < in.height(); y++)
for (int x = 0; x < in.width(); x++)
blurred(x, y) = (tmp(x, y - 1) + tmp(x, y) + tmp(x, y + 1)) / 3;
}
C++による3x3ボックスフィルタ 20
void fast_blur(const Image &in, Image &blurred)
{
m128i one_third = _mm_set1_epi16(21846);
#pragma omp parallel for
for (int yTile = 0; yTile < in.height(); yTile += 32)
{
m128i a, b, c, sum, avg;
m128i tmp[(256 / 8) * (32 + 2)];
for (int xTile = 0; xTile < in.width(); xTile += 256)
{
m128i *tmpPtr = tmp;
for (int y = -1; y < 32 + 1; y++)
{
const uint16_t *inPtr = &(in(xTile, yTile + y));
for (int x = 0; x < 256; x += 8)
{
a = _mm_loadu_si128((m128i *)(inPtr - 1));
b = _mm_loadu_si128((m128i *)(inPtr + 1));
c = _mm_load_si128((m128i *)(inPtr));
sum = _mm_add_epi16(_mm_add_epi16(a, b), c);
avg = _mm_mulhi_epi16(sum, one_third);
_mm_store_si128(tmpPtr++, avg);
inPtr += 8;
}
}
tmpPtr = tmp;
for (int y = 0; y < 32; y++)
{
m128i *outPtr = (m128i *)(&(blurred(xTile, yTile + y)));
for (int x = 0; x < 256; x += 8)
{
a = _mm_load_si128(tmpPtr + (2 * 256) / 8);
b = _mm_load_si128(tmpPtr + 256 / 8);
c = _mm_load_si128(tmpPtr++);
sum = _mm_add_epi16(_mm_add_epi16(a, b), c);
avg = _mm_mulhi_epi16(sum, one_third);
_mm_store_si128(outPtr++, avg);
}
}
}
}
}
Intel CPU向けに最適化 21
Func halide_blur(Func in)
{
Func tmp, blurred;
Var x, y, xi, yi;
// The algorithm
tmp(x, y) = (in(x - 1, y) + in(x, y) + in(x + 1, y)) / 3;
blurred(x, y) = (tmp(x, y - 1) + tmp(x, y) + tmp(x, y + 1)) / 3;
// The schedule
blurred.tile(x, y, xi, yi, 256, 32)
.vectorize(xi, 8)
.parallel(y);
tmp.compute_at(blurred, x).vectorize(x, 8);
return blurred;
}
Halideによる3x3ボックスフィルタ
22
アルゴリズム部分
スケジューリング部分
計算機
– CPU : Intel Core i7-8550U
– RAM : 8GB
– OS : Windows 10 Pro
入力画像
– 512x512 グレー画像
ガウシアンフィルタのパラメータ
– σ = 5
– カーネル半径 = 15
Halideの性能 23
Halide vs ナイーブな実装 vs 手作業で最適化 vs OepnCV
– Halide ... 0.406005 ms
– ナイーブ(naive) ... 58.4152 ms
– 手作業最適化(optimized) ... 1.40956 ms
– OpenCV ... 2.16409 ms
実験結果 24
0
10
20
30
40
50
60
70
Halide naive Optimize openCV
time
[ms]
Halide vs ナイーブな実装 vs 手作業で最適化 vs OepnCV
– Halide ... 0.406005 ms
– ナイーブ(naive) ... 58.4152 ms
– 手作業最適化(optimized) ... 1.40956 ms
– OpenCV ... 2.16409 ms
実験結果 25
0
10
20
30
40
50
60
70
Halide naive Optimize openCV
time
[ms]
144倍高速
3.5倍高速
Approximate
Computing
26
ある程度のエラーを許容した高性能計算を考
える方法
画像処理におけるApproximate Computing
–マルチスケール処理
–タイリングの冗長性のカット
–関数近似
–低ランク近似
–etc…
アルゴリズム毎に近似高速化方法は存在する
が,ここでは,画像処理アルゴリズムに依存し
ない汎用的な方法を中心に考える
Approximate Computing 27
並列性
局所性
冗長計算
近似計算
これらを考慮したコード生成可能に
–ただし,Halideは,最適化した結果出力が同一
になるように最適化
–つまり近似を許容しない
–これらを包括した新たな言語設計が必要
高性能計算のために 28
基本的
点の処理
–閾値処理
–輝度変換
エリア処理
–畳み込み
–モルフォロジー
統計情報
–総和
–平均
–分散
画像処理 29
左の組み合わせで画
像処理が設計
個々には高速化の方
法は様々
汎用的な方法は?
マルチスケール処理 30
画像処理
高解像度で
画像処理
低解像度で
画像処理
処理する情報を圧縮(リサイズ)することによる高速化
サイズが小さくなり高速化.キャッシュに収まり更に高速化
アップサンプル
高解像度画像の情報を利用したアップサン
プル
–通常のアップサンプルより高精度
–速度も,超解像等よりもかなり高速
アップサンプル時に高解像度画像のエッジ
情報を利用して,輪郭を維持してアップサ
ンプル
–Joint Bilateral Upsample
–Guided Image Upsample
–Bilateral Guided Upsample
–Local LUT Upsample
Joint Upsample 31
Joint Upsample 32
ダウンサンプル
画像処理
空欄の情報はない
Joint Upsample 33
ダウンサンプル
画像処理
RGBをYとして1チャネルで処理
–処理量が1/3
RGBをR,G,Bとして3チャネルを1チャネルづ
つとして処理
–RGBに依存関係がある処理などの高速化
• r2+b2+g2などの計算がY2で済む
RGBをPCAで変換して2チャンネルで処理
–チャネル数を減らす次元圧縮により高速化
• r2+b2+g2などの計算がX2+Y2で済む
–上記よりは近似量が少なく済む
色変換・次元圧縮 34
冗長処理領域の削減
境界は画像処理結果に
影響する量が少ないた
め近似計算しても影響
が少ない
タイル情報の削減 35
「多コアは境界領域の冗長範囲が拡大」
GPU:数百
CPU:数コア?
–AMD Threadripper 64core128thread
コア数 36
16分割 256分割
量子化・テーブル参照
周波数変換による近似
SVD・EVDによる低ランク近似
関数近似
再帰フィルタによる計算
その他 37
汎用的な高速化
「処理する領域,計算のまびき・圧縮」
RD曲線のように近似精度と情報量のトレードオフ
– 圧縮:近似精度vs圧縮率
– 高速化:近似精度vs速度
キャッシュの場合
– 圧縮:時間的・空間的な相関性を使った削減
– 高速化:キャッシュの空間的,時間的局所性
これらを達成するソフトウェア
– 符号化:エンコーダ
– 高速化:コンパイラ・プログラミング言語
符号化と高速化 38
事例
39
タイルの領域を削減
することによる近似
高速化
プログラミング言語
Halideを拡張して実
現
–汎用的なTiling
• Y. Tsuji and N. Fukushima, "Halide
and OpenMP for Generating High-
Performance Recursive Filters," in
Proc. International Workshop on
Advanced Image Technology (IWAIT),
Jan. 2020
–再帰フィルタ
• H. Takagi, N. Fukushima, "An Efficient
Description with Halide for IIR Gaussian
Filter," in Proc. Asia-Pacific Signal and
Information Processing Association
Annual Summit and Conference
(APSIPA), Dec. 2020
タイリング領域の削減 40
タイリング領域の削減 41
プログラミング言語Halideでは書けない処理の実現
アルゴリズム スケジュール
抽象化した記述
タイリング領域の削減 42
Halideはアルゴリズムとスケジュールに分離
して記述.ただし処理領域を間引くことがで
きない
近似計算が入るためHalideのコードは,アル
ゴリズム・スケジュールが入り混じったコー
ドが出力
Halideのアルゴリズム部にかけばそれなりに
どんな処理も書ける
そのHalideコードの自動生成するプログラミ
ング言語・コンパイラの生成
間引き率を変えながら,画像処理を低解像
度で実行して,アップサンプル
– H. Tajima, T. Tsubokawa, Y. Maeda, and N. Fukushima, "Fast Local LUT Upsampling,"
in Proc. International Conference on Computer Vision Theory and Applications
(VISAPP), Feb. 2020.
エッジを考慮したアップサンプルは,単純
なCubicに比べてかなり良いRDカーブ
アップサンプルによる高速化 43
様々な画像処理を
高性能にアップサ
ンプルするアップ
サンプルアルゴリ
ズム
プログラミング言
語としての設計は
まだ
アップサンプルによる高速化 44
高速化の汎用的な方法をプログラミング言
語,コンパイラに落とすことで,
「Approximated Computing」が可能な画像処
理コンパイラの実現
–アルゴリズムを設計したら,その近似・高速化を
コンパイラに任せることが可能に
–細かな高速化をコンパイラに任せることで,本質
の設計に集中
–性能のトレードオフを取る時間の大幅な削減
–loss関数(PSNRやSSIM)を考慮した計算フローの
最適化
–符号化のような汎用的なツール群をコンパイラ・
プログラミング言語として落としていく
• 最近の深層学習フレームワークは,深層学習特化型の
Approximated Computingコンパイラ
研究の展開 45

Mais conteúdo relacionado

Mais procurados

研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門ryos36
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門Fixstars Corporation
 
最適化超入門
最適化超入門最適化超入門
最適化超入門Takami Sato
 
計算スケジューリングの効果~もし,Halideがなかったら?~
計算スケジューリングの効果~もし,Halideがなかったら?~計算スケジューリングの効果~もし,Halideがなかったら?~
計算スケジューリングの効果~もし,Halideがなかったら?~Norishige Fukushima
 
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説Takateru Yamagishi
 
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜京大 マイコンクラブ
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編Fixstars Corporation
 
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AIChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AIShota Imai
 
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例Fixstars Corporation
 
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII
 
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門masayoshi takahashi
 
HalideでつくるDomain Specific Architectureの世界
HalideでつくるDomain Specific Architectureの世界HalideでつくるDomain Specific Architectureの世界
HalideでつくるDomain Specific Architectureの世界Fixstars Corporation
 
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方Fixstars Corporation
 
モデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留するモデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留するTakahiro Kubo
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情Yuta Kikuchi
 
Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門Fixstars Corporation
 
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages. Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages. Satoshi Kato
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編Fixstars Corporation
 

Mais procurados (20)

研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
 
最適化超入門
最適化超入門最適化超入門
最適化超入門
 
計算スケジューリングの効果~もし,Halideがなかったら?~
計算スケジューリングの効果~もし,Halideがなかったら?~計算スケジューリングの効果~もし,Halideがなかったら?~
計算スケジューリングの効果~もし,Halideがなかったら?~
 
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
 
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
 
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AIChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
 
プログラムを高速化する話
プログラムを高速化する話プログラムを高速化する話
プログラムを高速化する話
 
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
 
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
 
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
 
HalideでつくるDomain Specific Architectureの世界
HalideでつくるDomain Specific Architectureの世界HalideでつくるDomain Specific Architectureの世界
HalideでつくるDomain Specific Architectureの世界
 
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
 
モデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留するモデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留する
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
 
Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門
 
明日使えないすごいビット演算
明日使えないすごいビット演算明日使えないすごいビット演算
明日使えないすごいビット演算
 
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages. Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
 

Semelhante a 画像処理の高性能計算

第11回 配信講義 計算科学技術特論B(2022)
第11回 配信講義 計算科学技術特論B(2022)第11回 配信講義 計算科学技術特論B(2022)
第11回 配信講義 計算科学技術特論B(2022)RCCSRENKEI
 
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能MITSUNARI Shigeo
 
Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011finalMikio Kubo
 
TPC-DSから学ぶPostgreSQLの弱点と今後の展望
TPC-DSから学ぶPostgreSQLの弱点と今後の展望TPC-DSから学ぶPostgreSQLの弱点と今後の展望
TPC-DSから学ぶPostgreSQLの弱点と今後の展望Kohei KaiGai
 
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsPL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsKohei KaiGai
 
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)Takeshi Yamamuro
 
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)智啓 出川
 
【関東GPGPU勉強会#4】GTX 1080でComputer Vision アルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Vision アルゴリズムを色々動かしてみるYasuhiro Yoshimura
 
Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)Shintaro Fukushima
 
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013Ryo Sakamoto
 
第12回 配信講義 計算科学技術特論B(2022)
第12回 配信講義 計算科学技術特論B(2022)第12回 配信講義 計算科学技術特論B(2022)
第12回 配信講義 計算科学技術特論B(2022)RCCSRENKEI
 
200625material naruse
200625material naruse200625material naruse
200625material naruseRCCSRENKEI
 
なにわテック20180127
なにわテック20180127なにわテック20180127
なにわテック20180127Natsutani Minoru
 
第3回 配信講義 計算科学技術特論B(2022)
第3回 配信講義 計算科学技術特論B(2022)第3回 配信講義 計算科学技術特論B(2022)
第3回 配信講義 計算科学技術特論B(2022)RCCSRENKEI
 
200730material fujita
200730material fujita200730material fujita
200730material fujitaRCCSRENKEI
 
【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今Developers Summit
 
文献紹介:Token Shift Transformer for Video Classification
文献紹介:Token Shift Transformer for Video Classification文献紹介:Token Shift Transformer for Video Classification
文献紹介:Token Shift Transformer for Video ClassificationToru Tamaki
 
2015年度GPGPU実践プログラミング 第4回 GPUでの並列プログラミング(ベクトル和,移動平均,差分法)
2015年度GPGPU実践プログラミング 第4回 GPUでの並列プログラミング(ベクトル和,移動平均,差分法)2015年度GPGPU実践プログラミング 第4回 GPUでの並列プログラミング(ベクトル和,移動平均,差分法)
2015年度GPGPU実践プログラミング 第4回 GPUでの並列プログラミング(ベクトル和,移動平均,差分法)智啓 出川
 
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...Toru Tamaki
 

Semelhante a 画像処理の高性能計算 (20)

第11回 配信講義 計算科学技術特論B(2022)
第11回 配信講義 計算科学技術特論B(2022)第11回 配信講義 計算科学技術特論B(2022)
第11回 配信講義 計算科学技術特論B(2022)
 
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
 
Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011final
 
TPC-DSから学ぶPostgreSQLの弱点と今後の展望
TPC-DSから学ぶPostgreSQLの弱点と今後の展望TPC-DSから学ぶPostgreSQLの弱点と今後の展望
TPC-DSから学ぶPostgreSQLの弱点と今後の展望
 
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsPL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
 
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
 
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
 
【関東GPGPU勉強会#4】GTX 1080でComputer Vision アルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Vision アルゴリズムを色々動かしてみる
 
Gurobi python
Gurobi pythonGurobi python
Gurobi python
 
Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)
 
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
 
第12回 配信講義 計算科学技術特論B(2022)
第12回 配信講義 計算科学技術特論B(2022)第12回 配信講義 計算科学技術特論B(2022)
第12回 配信講義 計算科学技術特論B(2022)
 
200625material naruse
200625material naruse200625material naruse
200625material naruse
 
なにわテック20180127
なにわテック20180127なにわテック20180127
なにわテック20180127
 
第3回 配信講義 計算科学技術特論B(2022)
第3回 配信講義 計算科学技術特論B(2022)第3回 配信講義 計算科学技術特論B(2022)
第3回 配信講義 計算科学技術特論B(2022)
 
200730material fujita
200730material fujita200730material fujita
200730material fujita
 
【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今
 
文献紹介:Token Shift Transformer for Video Classification
文献紹介:Token Shift Transformer for Video Classification文献紹介:Token Shift Transformer for Video Classification
文献紹介:Token Shift Transformer for Video Classification
 
2015年度GPGPU実践プログラミング 第4回 GPUでの並列プログラミング(ベクトル和,移動平均,差分法)
2015年度GPGPU実践プログラミング 第4回 GPUでの並列プログラミング(ベクトル和,移動平均,差分法)2015年度GPGPU実践プログラミング 第4回 GPUでの並列プログラミング(ベクトル和,移動平均,差分法)
2015年度GPGPU実践プログラミング 第4回 GPUでの並列プログラミング(ベクトル和,移動平均,差分法)
 
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
 

Mais de Norishige Fukushima

多チャンネルバイラテラルフィルタの高速化
多チャンネルバイラテラルフィルタの高速化多チャンネルバイラテラルフィルタの高速化
多チャンネルバイラテラルフィルタの高速化Norishige Fukushima
 
3次元計測とフィルタリング
3次元計測とフィルタリング3次元計測とフィルタリング
3次元計測とフィルタリングNorishige Fukushima
 
デプスセンサとその応用
デプスセンサとその応用デプスセンサとその応用
デプスセンサとその応用Norishige Fukushima
 
複数台のKinectV2の使い方
複数台のKinectV2の使い方複数台のKinectV2の使い方
複数台のKinectV2の使い方Norishige Fukushima
 
Comparison between Blur Transfer and Blur Re-Generation in Depth Image Based ...
Comparison between Blur Transfer and Blur Re-Generation in Depth Image Based ...Comparison between Blur Transfer and Blur Re-Generation in Depth Image Based ...
Comparison between Blur Transfer and Blur Re-Generation in Depth Image Based ...Norishige Fukushima
 
Non-essentiality of Correlation between Image and Depth Map in Free Viewpoin...
Non-essentiality of Correlation between Image and Depth Map in Free Viewpoin...Non-essentiality of Correlation between Image and Depth Map in Free Viewpoin...
Non-essentiality of Correlation between Image and Depth Map in Free Viewpoin...Norishige Fukushima
 
コンピュテーショナルフォトグラフティの基礎
コンピュテーショナルフォトグラフティの基礎コンピュテーショナルフォトグラフティの基礎
コンピュテーショナルフォトグラフティの基礎Norishige Fukushima
 
ガイデットフィルタとその周辺
ガイデットフィルタとその周辺ガイデットフィルタとその周辺
ガイデットフィルタとその周辺Norishige Fukushima
 
Popcntによるハミング距離計算
Popcntによるハミング距離計算Popcntによるハミング距離計算
Popcntによるハミング距離計算Norishige Fukushima
 
コンピューテーショナルフォトグラフィ
コンピューテーショナルフォトグラフィコンピューテーショナルフォトグラフィ
コンピューテーショナルフォトグラフィNorishige Fukushima
 
OpenCVの拡張ユーティリティ関数群
OpenCVの拡張ユーティリティ関数群OpenCVの拡張ユーティリティ関数群
OpenCVの拡張ユーティリティ関数群Norishige Fukushima
 

Mais de Norishige Fukushima (13)

多チャンネルバイラテラルフィルタの高速化
多チャンネルバイラテラルフィルタの高速化多チャンネルバイラテラルフィルタの高速化
多チャンネルバイラテラルフィルタの高速化
 
3次元計測とフィルタリング
3次元計測とフィルタリング3次元計測とフィルタリング
3次元計測とフィルタリング
 
デプスセンサとその応用
デプスセンサとその応用デプスセンサとその応用
デプスセンサとその応用
 
複数台のKinectV2の使い方
複数台のKinectV2の使い方複数台のKinectV2の使い方
複数台のKinectV2の使い方
 
Libjpeg turboの使い方
Libjpeg turboの使い方Libjpeg turboの使い方
Libjpeg turboの使い方
 
Comparison between Blur Transfer and Blur Re-Generation in Depth Image Based ...
Comparison between Blur Transfer and Blur Re-Generation in Depth Image Based ...Comparison between Blur Transfer and Blur Re-Generation in Depth Image Based ...
Comparison between Blur Transfer and Blur Re-Generation in Depth Image Based ...
 
Non-essentiality of Correlation between Image and Depth Map in Free Viewpoin...
Non-essentiality of Correlation between Image and Depth Map in Free Viewpoin...Non-essentiality of Correlation between Image and Depth Map in Free Viewpoin...
Non-essentiality of Correlation between Image and Depth Map in Free Viewpoin...
 
コンピュテーショナルフォトグラフティの基礎
コンピュテーショナルフォトグラフティの基礎コンピュテーショナルフォトグラフティの基礎
コンピュテーショナルフォトグラフティの基礎
 
ガイデットフィルタとその周辺
ガイデットフィルタとその周辺ガイデットフィルタとその周辺
ガイデットフィルタとその周辺
 
Popcntによるハミング距離計算
Popcntによるハミング距離計算Popcntによるハミング距離計算
Popcntによるハミング距離計算
 
コンピューテーショナルフォトグラフィ
コンピューテーショナルフォトグラフィコンピューテーショナルフォトグラフィ
コンピューテーショナルフォトグラフィ
 
OpenCVの拡張ユーティリティ関数群
OpenCVの拡張ユーティリティ関数群OpenCVの拡張ユーティリティ関数群
OpenCVの拡張ユーティリティ関数群
 
WebP入門
WebP入門WebP入門
WebP入門
 

画像処理の高性能計算