Item type |
Trans(1) |
公開日 |
2016-02-26 |
タイトル |
|
|
タイトル |
GPUを用いた格子ボルツマン法のループ展開を利用した同期オーバヘッド削減による高速化 |
タイトル |
|
|
言語 |
en |
|
タイトル |
Speedup of the Lattice Boltzmann Method Using Loop Transformation for Reducing Synchronization Overhead on GPU |
言語 |
|
|
言語 |
jpn |
キーワード |
|
|
主題Scheme |
Other |
|
主題 |
[発表概要] |
資源タイプ |
|
|
資源タイプ識別子 |
http://purl.org/coar/resource_type/c_6501 |
|
資源タイプ |
journal article |
著者所属 |
|
|
|
千葉工業大学情報工学科 |
著者所属 |
|
|
|
千葉工業大学情報工学科 |
著者所属 |
|
|
|
千葉工業大学情報工学科 |
著者所属 |
|
|
|
千葉工業大学情報工学科 |
著者所属(英) |
|
|
|
en |
|
|
Department of Computer Science, Chiba Institute of Technology |
著者所属(英) |
|
|
|
en |
|
|
Department of Computer Science, Chiba Institute of Technology |
著者所属(英) |
|
|
|
en |
|
|
Department of Computer Science, Chiba Institute of Technology |
著者所属(英) |
|
|
|
en |
|
|
Department of Computer Science, Chiba Institute of Technology |
著者名 |
鈴木, 宏明
富永, 浩文
中村, あすか
前川, 仁孝
|
著者名(英) |
Hiroaki, Suzuki
Hirobumi, Tominaga
Asuka, Nakamura
Yoshitaka, Maekawa
|
論文抄録 |
|
|
内容記述タイプ |
Other |
|
内容記述 |
本研究では,GPUを用いた格子ボルツマン法を高速化するために,ループ展開を利用して,GPUの実行効率を向上する手法を提案する.GPUを用いた格子ボルツマン法は,時間ステップごとにカーネルを起動し,複数のスレッドブロックが時間発展方程式を求解することで流体の流れを解析する.スレッドブロックは,メモリアクセスのコストを少なくするために,計算に必要なデータをグローバルメモリからシェアードメモリに格納し,シェアードメモリにあるデータのみ参照して計算する.シェアードメモリとグローバルメモリ間のデータ転送のようなスレッド間の同期処理は,計算時間の大部分を占めるため,オーバヘッドになる.そこで本研究では,同期オーバヘッドを削減するために,ループ展開を用いることで複数ステップ分の計算を1つのカーネルに割り当てる.本手法は,1回の時間ステップでシェアードメモリに格納するデータは多くなるが,グローバルメモリとシェアードメモリ間のデータ転送の回数やスレッド間の同期回数を削減できるため,高速化できる.最後に,提案手法の有効性をGeForce TITAN Blackで評価した.評価の結果,ループ展開した格子ボルツマン法は,ループ展開しない格子ボルツマン法に比べ,最大約3.1倍高速化することを確認した. |
論文抄録(英) |
|
|
内容記述タイプ |
Other |
|
内容記述 |
This study proposes a speedup method by improving an efficiency of calculation of the Lattice Boltzmann Method on GPU using loop transformation. This method creates GPU kernels at each time step and analyzes fluid flow. GPU kernel creates thread blocks and calculates time evolution equations. Thread blocks store a data from global memory to shared memory in order to reduce a cost of memory access. Therefore, this method calculates by referring only the data in shared memory. Synchronization between threads, such as data transfer between global memory and shared memory is overhead in order to occupy the majority of calculations. So, this study assigns calculation of multiple time steps to one GPU kernel using loop transformation in order to reduce synchronization overhead. The proposed method stores more data in shared memory compared with the conventional method in a single time step. However, it is possible to reduce synchronization times of threads and data transfer between global memory and shared memory. Finally, the results of the evaluation using GeForce TITAN Black shows the proposed method gives us about 3.1 times speedup compared with the conventional method. |
書誌レコードID |
|
|
収録物識別子タイプ |
NCID |
|
収録物識別子 |
AA11464814 |
書誌情報 |
情報処理学会論文誌プログラミング(PRO)
巻 9,
号 1,
p. 11-11,
発行日 2016-02-26
|
ISSN |
|
|
収録物識別子タイプ |
ISSN |
|
収録物識別子 |
1882-7802 |
出版者 |
|
|
言語 |
ja |
|
出版者 |
情報処理学会 |