前回の記事までで、PGIコンパイラー( Open ACC)イメージをSingularityで使えるようになった。

Z620とZ820の2つのサーバーは、CPU、メモリ、GPUの環境は異なるが、同じイメージが使えるようになっている。各々の環境は次の通り。

・Z620:Xeon E5-1620 3.6GHz、64GBメモリ、GeForce GTX TITAN

・Z820:Xeon E5-2643 3.3GHz、24GBメモリ、GeForce GTX 1080

 

上記2台のサーバで同じOpen ACCのプログラム(単精度、倍精度)を動かして、性能を見てみようと思う。

 

(1)課題のプログラム

・特に自分が適切な問題を持っていないので、「Open ACC 基本と実践」の第5章のライプニッツの公式で円周率を求める問題をコンパイル・実行した。以下が本のカバー。

・ライプニッツの公式で円周率を単精度(float)と倍精度(double)で求めるサンプルが乗っている。

・コンパイル時には、GTX TITANでは-ta=tesla:cc35、GTX 1080では-ta=tesla:cc60オプションでコンパイル。

 

(2)実行結果

・以下に実行結果をまとめた。

 

(3)考察

・2台とも単精度と倍精度との差がほとんどないように見えることが疑問。

 特にGTX 1080は、単精度、倍精度演算用のシェだー数からして1/32の差が出ると考えていたのだが。(GTX TITANの場合は、1/2程度か?)

・また、CPUのみ(C:行)とGPU(OpenMP:行)との差が40〜60倍も少し大きいように思われる。

・今後、別の課題を使って、性能については更に検証していく。