大規模最適化問題、グラフ探索、機械学習やデジタルツインなど

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

SDPA 7.2.1 とマルチスレッド


SDPA 7.2.1 に Schur complement 行列生成のマルチスレッド化を行ってみた。現時点では、OpenMPIntel Threading Building Blocks などで並列化するのとあまり違いは無いが、これからの拡張で差が出てくるはずだ(多分)。

Nehalem マシン
CPU : Intel Core i7-965 (Nehalem) 3.2GHz
メモリ : DDR3-1600 12GB (2GB x 6) トリプルチャンネル
OS : Fedora 10 for X86_64


1: 問題 theta6.dat-s
SDPA 7.2.1 (1スレッド : GotoBLAS 1.28)
55.524s (18反復)
SDPA 7.2.1 (4スレッド : GotoBLAS 1.28)
23.966s (18反復)
SDPA 7.2.1 (4スレッド: Pthread + GotoBLAS 1.28)
16.350s (18反復)

CSDP 6.0.1 (1スレッド : OpenMP + GotoBLAS 1.28)
51.933s (17反復)
CSDP 6.0.1 (4スレッド : OpenMP + GotoBLAS 1.28)
19.617s (17反復)


2: 問題 large.dat-s
SDPA 7.2.1 (1スレッド : GotoBLAS 1.28)
1m59.259s (18反復)
SDPA 7.2.1 (4スレッド : GotoBLAS 1.28)
43.794s (18反復)
SDPA 7.2.1 (4スレッド: Pthread + GotoBLAS 1.28)
34.262s (18反復)

CSDP 6.0.1 (1スレッド : OpenMP + GotoBLAS 1.28)
2m16.980s (19反復)
CSDP 6.0.1 (4スレッド : OpenMP + GotoBLAS 1.28)
46.499s (19反復)