C++ AMPを用いたGPUプログラミングwiki
首都大学東京 田川研究室
C++ AMP 目次へ
どのくらい速くなるのか。
CPUでの処理にはMicrosoft Basic Render Driver を用いているので、完全にCPUように最適化されたコードではありませんが。以下比較結果です。


30倍速程度の加速率となっています。比較に用いた計算は、当研究室ホームページのResultsに上がっているつむじ風のシミュレーションです。
CPUに対する最適化を施したコードではありませんが、GPUに対してもキャッシュメモリを用いていない等最適化されているわけではありませんので、妥当な結果かと思います。理論性能以上の差が開いているのは、GPUは単に演算器が多いだけでなく並列計算に最適化されたプロセッサである点が効いているかと思います。
ちなみに総格子数200万以上になってくると、処理時間が線形に増加していきますが、これはフルHDの解像度と何か関係があるんですかね。