【論文100本ノックの61】私の研究開発ツール―第 22 回― CUDA (Compute Unified Device Architechture)
1 目 的
点群に関する研究論文を読み、点群処理に関する知識を得るとともに、新たな研究のための気づきを得る。
2 はじめに
100本計画の61本目として、和文6ページの本論文(記事)を読む。
3 対象論文と要約
3.1 対象論文
私の研究開発ツール―第 22 回― CUDA (Compute Unified Device Architechture)
電気通信大学 映像情報メディア学会誌: 映像情報メディア 63.4 (2009): 465-470. 2009
3.2 研究内容
(社会的ニーズ)
様々な分野で、高速処理可能なプログラミングコードが常に望まれている。
(提案)
CUDAの紹介
3.3 ツールの概要
(1)一般的な高速処理
・コード最適化
・マルチコア化
・コンピュータのクラスタ化
・専用ハードウェア化
(2)GPUとは
並列性の高い計算に特化したデータ並列処理デバイス
(3)CUDA(Compute Unified Device Architecture)とは
グラフィクスAPIに対応付けずにデータの並列化処理デバイスとしてGPUでの計算の命令や管理を行う。
(4)CUDAモデル
・プログラミングモデル…コンパイルされたプログラムをブロック化し、状況に応じて並列処理と逐次処理を使い分ける
・メモリーモデル…デバイス上で実行されるスレッドは、レジスタやローカルメモリ等にアクセスする。
(5)CUDAプログラミング基礎
・プログラム構造…ホスト実行コードとカーネル実行コードに分類
(6)処理速度の向上
様々な事項を考慮する必要があるが、最も重要な事項は次のとおり。
・共有メモリーへのアクセスにおけるバンク衝突
・グローバルメモリーへの結合アクセス
・ブロックの総数の設定
・ブロックあたりのスレッド数
4 出現用語
5 おわりに
DirectXに続き、CUDAの紹介記事。
DirectX(Direct3D)ではGPUの使用が前提とのことで読んでみた。
点群処理は、点数が増えることで指数関数的に計算量が増加する場合が多い。
そのため、多くの研究論文で、「GPUによる高速化が今後の課題」などとされる。
しかし、多くの場合、その課題は放置されたままであるが、これはGPUを実際に使える研究者があまり多くないことを指しているかもしれない。
6 今後調査したい事項
「私の研究開発ツール」シリーズ