前回と同様に実験を他のマシンでも行ったので、結果を掲載する。キャッシュ構成や容量、メモリバンド幅などが異なる三つの CPU だが、4スレッドでほぼ飽和する。反対に考えれば4スレッドまで並列化すればそこそこ性能は上がっていくようだ。
○実行マシン1:AMD Opteron 2384 (2.7GHz) : メモリ 32GB : CentOS 5.2 for x86_64
○実行マシン2:Intel Core i7 965(3.2GHz) : メモリ 12GB : Fedora 10 for x86_64
○実行マシン3:Intel Xeon 5460 (3.16GHz) : メモリ 48GB : CentOS 5.2 for x86_64
○SDPA 7.2.1.rev7 + GotoBLAS 1.29 + MUMPS 4.8.3 (4 スレッド : OMP_NUM_THREADS=4)
○実験データ
mDIM = 24503
nBLOCK = 3
bLOCKsTRUCT = 153 153 324
CH4.1A1.STO6G.noncore.pqg.dat-s
○実行マシン1
1: Schur complement 行列 : 2 スレッド; GotoBLAS : 4 スレッド
69m39.019s(20反復) = 3.46m / 反復
2: Schur complement 行列 : 4 スレッド; GotoBLAS : 4 スレッド
76m53.589s(26反復) = 2.94m / 反復
3.46 / 2.94 = 1.18倍
○実行マシン2
1: Schur complement 行列 : 2 スレッド; GotoBLAS : 4 スレッド
54m41.980s(21反復) = 2.59m / 反復
2: Schur complement 行列 : 4 スレッド; GotoBLAS : 4 スレッド
51m55.091s(21反復) = 2.45m / 反復
2.59 / 2.45 = 1.06倍
○実行マシン3
1: Schur complement 行列 : 2 スレッド; GotoBLAS : 4 スレッド
64m7.790s(22反復) = 2.94m / 反復
2: Schur complement 行列 : 4 スレッド; GotoBLAS : 4 スレッド
64m15.252s(22反復) = 2.91m / 反復
2.94 / 2.91 = 1.01倍
○実行マシン1:AMD Opteron 2384 (2.7GHz) : メモリ 32GB : CentOS 5.2 for x86_64
○実行マシン2:Intel Core i7 965(3.2GHz) : メモリ 12GB : Fedora 10 for x86_64
○実行マシン3:Intel Xeon 5460 (3.16GHz) : メモリ 48GB : CentOS 5.2 for x86_64
○SDPA 7.2.1.rev7 + GotoBLAS 1.29 + MUMPS 4.8.3 (4 スレッド : OMP_NUM_THREADS=4)
○実験データ
mDIM = 24503
nBLOCK = 3
bLOCKsTRUCT = 153 153 324
CH4.1A1.STO6G.noncore.pqg.dat-s
○実行マシン1
1: Schur complement 行列 : 2 スレッド; GotoBLAS : 4 スレッド
69m39.019s(20反復) = 3.46m / 反復
2: Schur complement 行列 : 4 スレッド; GotoBLAS : 4 スレッド
76m53.589s(26反復) = 2.94m / 反復
3.46 / 2.94 = 1.18倍
○実行マシン2
1: Schur complement 行列 : 2 スレッド; GotoBLAS : 4 スレッド
54m41.980s(21反復) = 2.59m / 反復
2: Schur complement 行列 : 4 スレッド; GotoBLAS : 4 スレッド
51m55.091s(21反復) = 2.45m / 反復
2.59 / 2.45 = 1.06倍
○実行マシン3
1: Schur complement 行列 : 2 スレッド; GotoBLAS : 4 スレッド
64m7.790s(22反復) = 2.94m / 反復
2: Schur complement 行列 : 4 スレッド; GotoBLAS : 4 スレッド
64m15.252s(22反復) = 2.91m / 反復
2.94 / 2.91 = 1.01倍