= DDエミュレーション手法の性能について = いわゆるdouble-doubleエミュレーション手法により、四倍精度演算を利用して、ファインマンループの数値積分を計算した場合の演算性能について。 SWoPP2009での発表からはRV770に加えてCypressアーキテクチャのGPUでの性能評価により、 さらにACAT2010での発表と論文の時点から、CypressアーキテクチャGPUでの演算性能が向上したので結果をまとめる。 == SWoPP2009 == [attachment:wiki:WikiStart:Swopp2009.pdf Swopp2009発表の研究報告] == ACAT2010論文 == [attachment:ACAT2010_Nakasato.pdf] : ACAT2010の発表論文 preliminary version == 演算性能 == || || 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倍以上高速となった。 == 消費電力あたり == || || MFLOPS || MFLOPS/W || W (nominal) || ||Core i7 || 63.7 || 2.12 || 30W || ||GRAPE-DR|| 4365 || 87.3 || 50W || ||RV770 || 6058 || 37.9 || 160W || ||Cypress FMA|| 27270 || 145.1 || 188W || == 行列乗算のテスト実装 == 四倍精度での行列乗算をGPUでテスト的に実装してみた。単精度倍精度の結果を含めて[wiki:MatrixMultiply]を参照のこと == ソースコード == {{{ 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; }}}