wiki:DDemulation

Version 4 (modified by nakasato, 14 years ago) (diff)

--

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
Cypress 9395 12958 15497 16938 850MHz
Cypress FMA 23981 27270 850MHz

性能はMFLOPS。28N3演算として評価した。Cypressでは、FMA命令を使うことでDD乗算が2.5倍ほど高速化するため非常に効率がよい。

行列乗算のテスト実装

MatrixMultiplyを参照のこと

Attachments (1)

Download all attachments as: .zip