これはCfCA流体学校2025の資料である。
GPUはCPUに対して高い電力性能比(performance per watt)を持ち、HPC(High Performance Computing)の分野では特に採用が進んでいる。近年のスーパーコンピュータの多くはアクセラレータとしてGPUを搭載しており、大規模数値シミュレーションにおいて重要な役割を果たしている。
ここでは流体コードをOpenACCを用いてGPU移植する方法を解説する。ただし、実習時間内でコードを完全に移植することまでは目的としない。流体学校のアカウントは学校終了後も1週間程度は利用できるので、興味のある人はここで学んだ内容をもとに開発を進め、コードを完成させてジョブを投入してほしい。
GPU加速化に向けてまずは並列計算の基礎から講義する。
次に実際のコードを使ってどのようにコードをGPUを移植するのかをみる。
Hands-on Training Fortran + OpenACC
GPU移植そのものに関して情報が豊富
流体計算でのやり方が書かれている。基本的なことは今でも同じだが、この講義のほうが少しアップデートされている。