300 likes | 448 Views
SDPA: Leading-edge Software for SDP. 2008/10/14 @ Informs ’ 08. SDPA (SemiDefinite Programming Algorithm) Project. Open Source Software to solve SemiDefinite Programming Since the 1 st release in 1995, it has kept high quality
E N D
SDPA:Leading-edge Software for SDP 2008/10/14 @ Informs ’08
SDPA (SemiDefinite Programming Algorithm) Project • Open Source Software to solveSemiDefinite Programming • Since the 1st release in 1995, it has kept high quality • In 2008, the latest version SDPA 7 was released and has been updated continuously • Many software for more advantage
SDPA Family SDPARA (Parallel with MPI) SDPARA-C SDPA-C (Matrix Completion) SDPA SDPA-M (Matlab Interface) accessible onSDPA Online Solver as Web service SDPA-GMP(Multiple Precision)
Outline of this talk • SDP and the improvements of SDPA7 • Parallel with MPI • Multiple Precision • Online Solver • Future Works
Applications of SDP • Control Theory • Lyapnov condition • Combinatorial Optimization • Max Cut • Theta function • Quantum Chemistry • Reduced Density Matrix
Computation for Search Direction Schur complement matrix ⇒ Cholesky Factorizaiton Exploitation of Sparsity in
SDPA 7 • SDPA7 resolves bottlenecks of SDPA6 • Introduce sparse Cholesky factorization for the Schur complement matrix • Adopt new data structure • Reduce memory space for temporary variables • Introduce configure script for easier installation
Sparsity pattern of Schur complement matrix • Sparse Schur complement matrix • minimum degree ordering to minimize the number of fill-in • Fully dense Schur complement matrix
New Data Structure • For multiple diagonal structure • SDPA6 • stores nonzero elements of each block • stores all blocks • SDPA 7 • stores nonzero elements of each block • stores only nonzero blocks
r2S_broydenTri300.dat-s Sparse Schur New Data Structure Efficient Temporary Xeon 2.80GHz, 2GB memory, Linux 2.4
Configure script • Easier installation $./configure –with-blas=”-lblas”–with-lapack=”-llapack” $ make $ make install • We can link with Optimized BLAS, i.e., ATLAS, GotoBLAS, Intel MKL
Matlab Interface • SDPA-M is the Matlab interface • [mDIM,nBLOCK,bLOCKsTRUCT,c,F] = read_data(’example1.dat-s’); • [objVal,x,X,Y,INFO] = sdpam(mDIM,nBLOCK,bLOCKsTRUCT,c,F,OPTION); • SeDuMi Input interface • [At,b,c,K] = fromsdpa(’example1.dat-s’); • [x,y,info] = sedumiwrap(At,b,c,K,[],pars); • Current version is for only LP and SDP cones • Parameter control is based on SDPA
Extremely Large Problem and Bottlenecks We replace these two bottlenecks by parallel computation The largest size requires 8.6GB memory Opteron 246 2.0GHz 6GB Memory
Exploitation of Sparsityin SDPA • We change the formula by row-wise • We keep this scheme on parallel computation F1 F2 F3
Row-wise distribution for evaluation of the Schur complement matrix • 4 CPU is available • Each CPU computes only their assigned rows • . • No communication between CPUs • Efficient memory management
Parallel Cholesky factorization • We adopt Scalapack for the Cholesky factorization of the Schur complement matrix • We redistribute the matrix from row-wise to two-dimensional block-cyclic-distribtuion Redistribution
Computation Time for NH3 TSUBAME@Tokyo-TechOpteron 880 (2.4GHz) 32GB memory/node
Scalability for LiF Comp B 43 times Chol B 46 times Total 28 times TSUBAME@Tokyo-TechOpteron 880 (2.4GHz) 32GB memory/node Row-wise distribution for Comp B is very effective
Multiple Precision • SDPA uses ‘double’ precision • 53 significant bit • almost 8 digit • SDPA 7 result (gpp124-1 from SDPLIB) • Objective Function (Only 5 digits)-7.3430761748645921e+00(Primal)-7.3430800814821620e+00(Dual) • Feasibility5.45696821063e-12 (Primal)1.68252292320e-07 (Dual) • Some applications requires more accuracy
SDPA-GMP • GMP: Gnu Multiple Precision Library • Arbitrary fixed precision • ‘double’ precision is replaced by GMP • Ultra High Accuracy by long computation time
Comparison on SDPA and SDPA-GMP(384bit) SDPA(7.1.0) Relative gap 5.3201361904260111e-07 Objective Function -7.3430761748645921e+00 (Primal) -7.3430800814821620e+00 (Dual) Feasibility 5.45696821063e-12 (Primal) 1.68252292320e-07 (Dual) Computation time 0.14 sec. (20 iterations) SDPA-GMP(7.1.0) Relative gap 1.7163710368162993e-26 Objective Function -7.3430762652465377e+00 (Primal) -7.3430762652465377e+00 (Dual) Feasibility 2.0710194844721e-57 (Primal) 1.2329417039702e-29 (Dual) Computation time 228.95 sec. (59 iterations) gpp124-1(SDPLIB)
SDPA Online Solver • SDPA Online Solver will offer SDPA/SDPARA/SDPARA-C via the Internet. User Interface 1.Input 2.Ninf-G 3.SDPARA on PC cluster 4.Solution Internet
To use Online Solver • Users without parallel environment can use SDPARA/SDPARA-C. • No Charge. • Registration via the Internet is required so that passwords to protect users data will be generated automatically. • Access SDPA Project Home Page.[SDPA Online for your future.]http://sdpa.indsys.chuo-u.ac.jp/sdpa/
Conclusion • The latest version 7 attains higher performance than version 6 • Parallel Solver enables us to solve extremely large SDPs • Matrix Completion is useful for Structural Sparsity • SDPA-GMP generates ultra high accuracy solution • Online Solver provides powerful computation resources via the Internet
Future works • Callable Library of SDPA7 • Automatic Selection from SDPA/SDPARA/SDPARA-C