CGER-I163-2023_計算で挑む環境研究
66/140

のデータを、一度に、速く取り出してくるにはどうしたらよいのでしょう? 両方を同時に満たそうとすると、マシンはものすごく高価になってしまいます。このように、現代のスパコンはあっちを立てればこっちが立たない、さまざまなトレードオフの中で、最適なマシンを作っていかなければいけないのです。また、近年は、もともと画像処理用に特化した補助装置であったグラフィック演算装置(GPU)を科学計算に用いるようになりました。GPUはトレードオフがある中で思い切った取捨選択を行い、消費電力性能や計算速度を向上することに成功しました。でも、同時に苦手なことがあるというのも確かです。 さて、コンピュータの世界では絶え間なく性能を伸ばすために、大胆な進化を何度も行ってきたわけですが、それではそのコンピュータの上で動作させる気象・気候モデルはそのままでよいのでしょうか? 答えはNOです。ソフトウェア側も絶えず変革しなければ、最新のスパコンの性能を活かすことはできません。とはいえ、私たちがモデルの高速化のために行ってきた基本の二つの手法は、前述のコンピュータの性能トレードオフと密接に関連しているため、あまり変化していないともいえます。 一つは「並列化」です。今のスパコンはCPUを何千、何万と並べて、計算を同時並列で行うことで計算速度を向上させています。前述のとおり、CPUの内側にもさらに複数のコアがあり、さらにそのコアの中でSIMDというしくみによって一度に複数のデータを並列で処理しようとします。 モデルを開発する側は、用いるアルゴリズムの中にデータを独立して処理できる部分、すなわち「並列性」を見いだす必要があります。しかも、現代のコンピュータのスタイルに合わせて、「階層化された並列性」をうまく作り出す必要があるのです。たとえば、私たちの開発する大気モデルNICAM(Nonhydrostatic ICosahedral Atmospheric Model)では、大気を水平方向に大きく分割して別々のCPUに割り当て、さらに鉛直方向の大気の層を別々のコアに割り当て、水平方向に並んだ格子点をなるべく同じ方法で計算しています。04現代のスパコンで気候シミュレーションを高速化したい

元のページ  ../index.html#66

このブックを見る