= DDエミュレーション手法の性能について = いわゆるdouble-doubleエミュレーション手法により、四倍精度演算を利用して、ファインマンループの数値積分を計算した場合の演算性能について。 ACAT2010での発表と論文の時点から、CypressアーキテクチャGPUでの演算性能がさらに向上したので、結果をまとめる。 == ソースコード == {{{ VARI xx, yy, cnt4; VARJ x30_1, gw30; VARF res; CONST tt, ramda, fme, fmf, s, one; zz = x30_1*cnt4; d = -xx*yy*s-tt*zz*(one-xx-yy-zz)+(xx+yy)*ramda**2 + (one-xx-yy-zz)*(one-xx-yy)*fme**2+zz*(one-xx-yy)*fmf**2; res += gw30/d**2; }}} == 結果 == || || N=256 || N=512 || N=1024 || N=2048|| note || ||Core i7 || 63.6 || 63.7 || 63.7 || || 2670MHz 1 core || ||GRAPE-DR|| 2234 || 3106 || 3840 || 4365 || 380MHz 512 core|| ||RV770 || 5220 || 5694 || 5977 || 6058 || 850MHz 160 core|| ||Cypress || 9395 || 12958 || 15497 || 16938 || 850MHz 320 core|| ||Cypress FMA|| || || 23981 || 27270 || 850MHz 320 core|| 性能はMFLOPS。28N^3^演算として評価した。Cypressでは、FMA命令を使うことでDD乗算が2.5倍ほど高速化するため非常に効率がよい。 1 coreのCPUと比べると400倍以上高速となった。 == 行列乗算のテスト実装 == 四倍精度での行列乗算をGPUでテスト的に実装してみた。単精度倍精度の結果を含めて[wiki:MatrixMultiply]を参照のこと