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

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

SDPA と三つのマシン その2

2009年03月12日 14時22分38秒 | Weblog
○実行マシン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 では、Schur complement 行列の計算部分をマルチスレッド化している。例えば4スレッドが全部 F3 式で計算しているときれいに4スレッドで計算していることになるが、F1 と F3 式が混合している場合では、F1 式を行うスレッドが他の3スレッドを一時停止させて、このスレッドから GotoBLAS 等を呼び出して4スレッドで dgemm 等を行う。そうすると同時に動作しているのは4スレッドでも停止中も含むと最大で8スレッドが同時に生成されていることになる。よってこの場合では以下のように numactl で 4 つのコアを指定するのはあまり好ましくないことがわかる(8つを指定した方が良い)。しかし何も設定しなくても十分高速に実行されている(kernel は結構賢い)。

ここで問題を二つ用意する。
1: D256.dat ; 密から疎な制約行列までが混合された問題。F1, F2, F3 式の計算式も全て含まれる。
2: theta6.dat-s ; 1行だけ F2 式で計算。残りの行は全て F3 式で計算を行う。

問題1;
○マシン1
A: numactl --membind=0 --cpunodebind=0; 28.987s
B: numactl --localalloc; 20.063s
C: numactl -i all --physcpubind=0,2,4,6; 29.504s
D: numactl -i all --physcpubind=1,2,3,4; 1m34.788s
E: numactl -i all --physcpubind=0,2,4,6,1,3,5,7; 19.914s
F: 指定なし; 20.292s

○マシン2
A: numactl --localalloc; 18.084s
B: numactl -i all --physcpubind=0,1,2,3; 18.095s
C: 指定なし; 18.025s

○マシン3
A: numactl --localalloc; 18.022s
B: numactl --physcpubind=0,2,4,6; 24.152s
C: numactl --physcpubind=0,1,2,3; 24.155s
D: numactl --physcpubind=0,2,4,6,1,3,5,7; 17.834s
E: numactl --physcpubind=0,1,2,3,4,5,6,7; 17.985s
F: 指定なし; 17.942s

問題2;
○マシン1
A: numactl --membind=0 --cpunodebind=0; 24.282s
B: numactl --localalloc; 25.627s
C: numactl -i all --physcpubind=0,2,4,6; 26.040s
D: numactl -i all --physcpubind=0,1,2,3; 6m4.398s
E: numactl -i all --physcpubind=0,2,4,6,1,3,5,7; 25.833s
F: 指定なし; 25.610s

○マシン2
A: numactl --localalloc; 16.680s
B: numactl -i all --physcpubind=0,1,2,3; 15.849s
C: 指定なし; 15.855s

○マシン3
A: numactl --localalloc; 23.917s
B: numactl --physcpubind=0,2,4,6; 23.835s
C: numactl --physcpubind=0,1,2,3; 24.158s
D: numactl --physcpubind=0,2,4,6,1,3,5,7; 23.893s
E: numactl --physcpubind=0,1,2,3,4,5,6,7; 23.901s
F: 指定なし; 23.824s
コメント (1)
この記事をはてなブックマークに追加