- 著者
-
西川 尚紀
岩井 啓輔
黒川 恭一
- 出版者
- 一般社団法人電子情報通信学会
- 雑誌
- 電子情報通信学会技術研究報告. VLD, VLSI設計技術 (ISSN:09135685)
- 巻号頁・発行日
- vol.109, no.393, pp.107-112, 2010-01-19
並列計算プラットフォームとしてGPGPUが注目されてり,CUDAがその開発環境として大きなシェアを占めるに至っている.CUDAではスレッド数やスレッドブロック数等のパラメータ決定はプログラマに責任があり,反復実験により最適値を求めているのが現状である.このため,我々は暗号処理のCUDA実装に対してスレッド数等を自動で最適化するモデルの構築を試みている.本稿では,その第一段階として,AESのCUDA実装に対し平文のデータ型,メモリ配置方法,計算粒度を変化させ,これらの条件がパフォーマンスに与える影響について分析を行った結果を示す.その結果,条件の違いにより最大6.6倍の性能差が生じ,(1)上限に近いスレッド数の確保よりもメモリアクセスの最適化を優先する実装が有効(2)16Byte/Threadの計算粒度は4Byte/Thread, 1Byte/Threadに対しGPUのパフォーマンスを引き出しやすい傾向にある,(3)平文のデータ型の違い,平文のメモリ配置方法,計算粒度がパフォーマンスに影響を与える,という知見が得られた.また,unsigned character及びarray of structureとして共有メモリに格納された平文に対して4Byte/Threadの計算粒度でのAES暗号化を行った場合にCPUの最大性能を引き出し,このときCore i7-920 2.66GHz CPU上での通常実装に対して約47倍の高速化が確認された.