最適化問題に対する超高速&安定計算

クラスタ計算機やスーパーコンピュータ上での大規模最適化問題やグラフ探索などの研究のお話が中心

SDPA-QD と SDPA-DD

2009年03月22日 00時33分59秒 | Weblog
最近流行している多倍長計算(高精度計算)であるが、SDPA では以下のソフトウェアを採用している。GMP を採用しているのは SDPA-GMP, QD (疑似 8 倍精度), DD (疑似 4 倍精度)を採用しているのが、それぞれ SDPA-QD, SDPA-DD となる。

ライブラリ GMP (任意精度ライブラリ)
http://gmplib.org/
指数部は 32 or 64bit, 仮数部は 64bit 単位で指定する

ライブラリ qd (擬似 4倍、8倍精度ライブラリ)
http://www.cs.berkeley.edu/~yozo/
qd (仮数部 212bit), dd (仮数部 106bit)

○実験結果 (gpp124-4.dat-s)
SDPA 7.2.1.rev8(仮数部53bit) ; 0.120s ; relative gap = +4.5142123662482953e-09
SDPA-GMP 7.1.2(仮数部256bit) ; 1m33.775s ; relative gap = 9.0228025522551977e-11
SDPA-QD 7.1.2(仮数部212bit) ; 1m4.486s ; relative gap = 9.0228025522551977e-11
SDPA-DD 7.1.2(仮数部106bit) ; 7.299s ; relative gap = 9.0219191406178191e-11

仮数部の値が近いのが原因なのか SDPA-GMP と SDPA-QD の実行時間には差はあまりない(GMP は結構優秀)。SDPA-QD は SDPA-GMP, SDPA-DD よりはかなり高速であるが、通常の SDPA と比較すると数十倍以上の差がある。結局 SDPA では4倍精度程度で十分であり、SDPA-DD の高速化が大きな課題になる。

○実行マシン:Intel Core i7 965(3.2GHz) : メモリ 12GB : Fedora 10 for x86_64
○パラメータファイル
200 unsigned int maxIteration;
1.0E-10 double 0.0 <epsilonStar; 1.0E5 double upperBound;
0.1 double 0.0 <= betaStar < 1.0;
0.2 double 0.0 <= betaBar < 1.0, betaStar <= betaBar;
0.9 double 0.0 <gammaStar < 1.0;
コメント (4)
この記事をはてなブックマークに追加