Topics
    製品情報
    Menu

    IBM Power System S822LC for HPC

    性能事例

    量子力学系ユーザ実アプリケーションでの性能事例

    研究に使っているプログラムの疑似プログラムを使い行列をCPU で生成、それを GPU に転送して、GPUで行列ベクトル積を計算したケースと、CPUだけで計算したケースの時間を測定して比較した事例です。これは、2016年12月19日(月)開催された「HPC、ディープラーニング性能検証事例セミナー」で発表されました。

    現行システムの“Firestone” (*1)と 最新鋭の“Minsky” (*2)をベンチマークに使用
    (*1) Power Systems S822LC for High Performance Computing/ Model 8335-GTA
    (*2) Power Systems S822LC for High Performance Computing / Model 8335-GTB

     

    1)小さな行列計算の場合
    最新鋭サーバーの“Minsky”では、CPUでの計算が11.51GFlops、GPUでの計算が188.60GFLOPSで、CPUの約16倍という結果。

    2)大きな行例計算の場合
    データ転送の負荷が非常に大きいと考えられるGPUの計算では、CPUとGPU間の転送時間が課題になる。CPU-GPU間の高速メモリアクセスを実現する、NVIDIAのNVLinkが高速の転送を実現し、予想をはるかに上回る14.84GFLOPSで、“Firestone”の約3倍という結果が出た。

    研究用プログラムの計算時間を約1/20に劇的に短縮
    疑似プログラムではなく、研究に使っている実プログラムによる実測も行った。24コアのPOWER8 CPUを搭載した“Firestone”を使って、計算時間を実測したところ、所要時間の96%がdgemmを使う行列の計算であり、チューニングを行えば高速化を実現できる割合が非常に高いことがわかったという。

    研究用のプログラム自体を改良できることもわかった。これまでは、2列の計算を異なるノードで計算していたものを、1つのノードで列を増やして一緒に計算できることに着目し実装。その結果、ある行列計算では、463GFLOPSという性能限界(性能限界の理論値:576GFLOPS)に近い性能を引き出すことができた。また、研究者にとって重要な、計算の所要時間も約1/20に短縮でき、大きな収穫を得た。

    Minsky+GPUのテストから見えた、計算時間を1/43に短縮する可能性
    IBM POWER8の最新モデル“Minsky”を使って行列計算式を変更すると、463GFLOPSだった処理能力が・・・(※続きはセミナーレポートをご覧ください)