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

In-place処理に基づく離散ウェーブレット変換のCUDAによる高速化の検討

N/A
N/A
Protected

Academic year: 2021

シェア "In-place処理に基づく離散ウェーブレット変換のCUDAによる高速化の検討"

Copied!
1
0
0

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

全文

(1)HPCS2013 2013/1/15. 2013年ハイパフォーマンスコンピューティングと計算科学シンポジウム High Performance Computing Symposium 2013. In-place 処理に基づく離散ウェーブレット変換の CUDA による高速化の検討 生澤 拓也 1 1. 1. 伊野 文彦 2. 大阪大学基礎工学部情報科学科,2 大阪大学大学院情報科学研究科. はじめに. 離散ウェーブレット変換(DWT)は周波数解析手法の 1 つ であり,ノイズ除去やデータ圧縮などに応用されている.こ れらの応用は実時間処理を求めていて,DWT の高速化が必 要である.そこで,高いメモリ帯域幅を持つ GPU による高 速化がなされている. Laan ら [1] は,計算量の少ないリフティング方式による DWT を統合開発環境 CUDA 上に実装している.リフティン グ方式では,不連続なメモリ領域のみを 1 度に更新できるた め,単純な実装はメモリコアレッシングを実現できず性能が 低い.そこで,この既存手法は連続領域を更新できるようデー タを並び替えたのちに,グローバルメモリに書き出す.しか し,入力領域および出力領域を区別する必要があり,リフティ ング方式の特長である in-place 処理を実現できない. そこで本研究では,DWT の高速化を目的として,in-place 処理を実現できるリフティング方式の CUDA 実装を検討す る.リフティング方式を構成する一連の処理のうち,in-place 処理を妨げるデータの並び替えについてメモリコアレッシン グを実現する.. 2. 萩原 兼一 2. ウェーブレット・リフティング. n 個の要素からなる入力を x = x0 , x1 , . . . , xn−1 とすると, DWT が出力する低域成分 c = c0 , c1 , . . . , cn/2−1 および高域 成分 d = d0 , d1 , . . . , dn/2−1 は次式で与えられる. dt. =. x2t+1 −. t+k−1 ∑. pi x2i. (1). ui di. (2). 図 1: フェーズ 2 の動作例 フェーズ 2 グローバルメモリに書き出した低域成分および 高域成分のうち,連続領域に存在する集合の集合を先頭から それぞれ Lj および Hj (j = 0, 1, . . . , m − 1) とする(図 1). フェーズ 2 の初期状態では,Lj = Cj および Hj = Dj であ る.以下の処理を m = 1 になるまで繰り返す.. 1. H2t および L2t+1 (0 ≤ t ≤ m/2 − 1) を交換する.各ス レッドブロックは H2t および L2t+1 が内包する集合のう ち 1 対の交換を担当する.フェーズ 1 にて示した通り, これらの集合に対する読み書きはメモリコアレッシング の条件を満たせる.. i=t−k. ct. =. x2t +. t+k ∑ i=t−k+1. 2. Lt = L2t ∪L2t+1 ,Ht = H2t ∪H2t+1 (0 ≤ t ≤ m/2−1) 3. m = m/2. ここで,0 ≤ t ≤ n/2 − 1 であり,定数 p,u および k は基底 図 1 はフェーズ 2 の動作例を m = 8 として示している.図 関数により定まる. 中の矢印は,1 個のスレッドブロックが担当する交換を表す. リフティング方式は in-place 処理を実現するために,x2t+1 実験 および x2t の領域をそれぞれ dt および ct として上書きする. 4 したがって,c および d の各要素は交互に配置される. 提案手法の性能を評価するために,実行時間に関して既存 c0 , d0 , c1 , d1 , . . . , cn/2−1 , dn/2−1 (3) 手法と比較した.実験に使用した GPU は NVIDIA GeForce GTX 470 であり,CUDA バージョンは 4.2 である.使用した この結果,単純には入力および出力の双方に対するメモリコ データは 8192 × 8192 画素からなる 2 次元画像であり,ウェー アレッシングは両立できない. ブレットは Daslauriers-Dubuc(13,7) である. 提案手法は既存手法と比較しておよそ 1/4 の性能であり, 3 提案手法 実行時間は 17.6 ミリ秒から 64.9 ミリ秒に増加した.性能が 提案手法は式 (3) の要素列を in-place 処理にて以下のよう 低下した原因は並び替え処理のオーバヘッドにあり,グロー に並び替える. バルメモリの参照量が 5.3 倍に増えたことによる.なお,メ c0 , c1 , . . . , cn/2−1 , d0 , d1 , . . . , dn/2−1 (4) モリコアレッシングのおかげでメモリ帯域幅に関する実行効 さらに,この並び替えにおいてメモリコアレッシングを実現 率は 83.4%に達しているため,参照量を削減することが性能 することにより実行効率の高い DWT 実装を実現する.並び 改善のために必要である. 今後の課題としては,グローバルメモリの参照量を削減で 替えは以下に挙げる 2 つのフェーズにより処理する. きる並び替えの実現が挙げられる. フェーズ 1 入力データ x を m 個に分割し,各々をスレッド ブロックに割り当てる.各スレッドブロックは共有メモリ上 参考文献 で低域成分の集合 Ci および高域成分の集合 Di を生成する. [1] W.J. van der Laan, A.C. Jalba, and J.B.T.M. ここで,Ci および Di はそれぞれ i 番目のスレッドブロック Roerdink, “Accelerating Wavelet Lifting on Graphics が生成した集合を表す.メモリコアレッシングがなされるよ Hardware Using CUDA,” IEEE Trans. Parallel and Distributed Systems, 22(1):132–146, Jan. 2011. うに,Ci および Di をグローバルメモリに書き出す.つまり, k を自然数として各集合は 32k 個の要素を内包する. ⓒ 2013 Information Processing Society of Japan. 69.

(2)

参照

関連したドキュメント

使用アスファルト St.As.. こで、可視吸光分析による定量分析を試みた。試験練り材と

平成 27 年 2 月 17 日に開催した第 4 回では,図-3 の基 本計画案を提案し了承を得た上で,敷地 1 の整備計画に

生した(クリップゲージで確認) 。剥離発生前までの挙動は,損傷 による差異が確認されず,両供試体ともに,荷重で比較して,補強

実験は,硫酸アンモニウム(NH 4 ) 2 SO 4 を用いて窒素 濃度として約 1000 ㎎/ℓとした被検水を使用し,回分 方式で行った。条件は表-1

(16) に現れている「黄色い」と「びっくりした」の 2 つの繰り返しは, 2.1

友人同士による会話での CN と JP との「ダロウ」の使用状況を比較した結果、20 名の JP 全員が全部で 202 例の「ダロウ」文を使用しており、20 名の CN

計算で求めた理論値と比較検討した。その結果をFig・3‑12に示す。図中の実線は

これはつまり十進法ではなく、一進法を用いて自然数を表記するということである。とは いえ数が大きくなると見にくくなるので、.. 0, 1,