レジスタ最適化を用いたCUDAによる格子ボルツマン法の高速化手法

書誌事項

タイトル別名
  • High-speed Method of Lattice Boltzmann Method on the CUDA Using Registers Optimization

この論文をさがす

抄録

本論文では,CUDA(Compute Unifide Device Architecture)を用いた格子ボルツマン法(LBM:Lattice Boltzmann Method)を高速化するために,メモリアクセス遅延を削減する手法を提案する.格子ボルツマン法は,解析領域を格子に分割し離散化されたボルツマン方程式を解く手法である.ボルツマン方程式の計算は,周囲の格子点の情報を参照するため,メモリアクセスコストが高いメモリバウンドな計算である.このため,LBMのメモリアクセスコストを削減する手法の1つとしてテンポラルブロッキングが用いられている.CUDAによるテンポラルブロッキングを用いた格子ボルツマン法は,ブロックに分割した領域をスレッドブロックに割り当て時間発展方程式を計算する.本計算は,メモリアクセスのコストを抑えるが,シェアードメモリにデータを格納することで,シェアードメモリに対する同期処理やレイテンシによるアクセスコストが処理の大部分を占める.そこで,本論文では,メモリアクセスコストが低いレジスタを用いてテンポラルブロッキングを行うことで処理を高速化する手法を提案する.提案手法は,テンポラルブロッキングにおける複数時間ステップの計算をレジスタ上に保持して行うことで処理を高速化する.

This paper proposes a speed up method of the Lattice Boltzmann Method (LBM) by improving the memory access delay. The LBM is a method of dividing the analysis area to the grid and solving the discretized Boltzmann equation. Calculation of the Boltzmann equation is a memory bound calculations that mean high memory access cost by referring to the surrounding grid points. For this reason, the temporal blocking method is one of the reducing methods of the memory access cost for the LBM. The LBM using temporal blocking by the CUDA calculates the time evolution equation by assigning divided areas to thread blocks. This calculation reduces the access cost to store the data in the shared memory. However, the synchronization and the memory access latency of shared memory occupy the majority of processing. Therefore, this presentation proposes a speed up method of temporal blocking using the registers whose access cost is low. The proposed method accelerates by storing calculation in the registers over multiple time steps of temporal blocking.

収録刊行物

詳細情報 詳細情報について

  • CRID
    1050846638660809600
  • NII論文ID
    170000149563
  • NII書誌ID
    AA11464814
  • ISSN
    18827802
  • Web Site
    http://id.nii.ac.jp/1001/00190191/
  • 本文言語コード
    ja
  • 資料種別
    article
  • データソース種別
    • IRDB
    • CiNii Articles

問題の指摘

ページトップへ