[Csdp] Puzzling result using icc

Brian Borchers borchers at nmt.edu
Fri Aug 21 22:42:00 EDT 2009


I compiled CSDP with icc 11.1 and MKL, using 
 
CFLAGS=-O3 -m64 -openmp -DBIT64 -DUSEOPENMP -DNOSHORTS -DSETNUMTHREADS -I../include

and

LIBS=-openmp -L../lib -lsdp -mkl -lm

Note that you definitely want to use -DSETNUMTHREADS with MKL.  
 
When I ran Ron's E.sdp problem, with default values of all parameters, I got:

... 
Iter: 20 Ap: 9.60e-01 Pobj:  3.2920448e-01 Ad: 9.17e-01 Dobj:  3.2920447e-01 
Success: SDP solved
Primal objective value: 3.2920448e-01 
Dual objective value: 3.2920447e-01 
Relative primal infeasibility: 8.79e-15 
Relative dual infeasibility: 1.23e-09 
Real Relative Gap: -2.72e-09 
XZ Relative Gap: 6.69e-09 
DIMACS error measures: 3.39e-14 0.00e+00 1.57e-09 0.00e+00 -2.72e-09 6.69e-09

These results show that the problem was solved to the normal accuracy 
targets of 1.0e-8 on all six DIMACS errors.  

Running it with printlevel=3, and default values of all other parameters, 
and using grep to look for "Fnorm of X", I saw:

Fnorm of X is 1.873982e+04 
Fnorm of X is 1.873982e+04 
Fnorm of X is 1.891526e+04 
Fnorm of X is 1.469458e+04 
Fnorm of X is 2.860880e+04 
Fnorm of X is 4.750280e+04 
Fnorm of X is 1.129837e+05 
Fnorm of X is 4.467977e+05 
Fnorm of X is 7.839744e+05 
Fnorm of X is 6.408787e+05 
Fnorm of X is 2.132815e+05 
Fnorm of X is 7.048864e+04 
Fnorm of X is 4.257257e+04 
Fnorm of X is 1.557785e+04 
Fnorm of X is 5.985611e+03 
Fnorm of X is 8.371113e+02 
Fnorm of X is 5.692609e+01 
Fnorm of X is 9.267769e+00 
Fnorm of X is 8.620088e+00 
Fnorm of X is 8.614897e+00 
Fnorm of X is 8.565328e+00
 
This is completely normal behavior- CSDP is keeping the barrier parameter
large (and thus making X stay very far away from singularity) until 
primal and dual feasibility are reached.  Then it reduces the barrier 
parameter and Fnorm of X can decrease.  
 
I don't really know what else I can do to help here- I've solved the
problem using CSDP compiled with both gcc and icc 11.1 and gotten the
same answer either way.  I haven't tried to build the code with icc
11.0 because doesn't seem to be available from Intel's web site any
more, and so I haven't been able to reproduce Ron's problem with a
crash in the first iteration.  Perhaps it would go away if Ron updated
to 11.1.  I've also solved the problem with my quadruple precision
version of CSDP and essentially the same result.

Ron- to answer your other question, my quadruple precision version of CSDP
was compiled using an older version of icc (version 8.xx as I recall.)  
 



More information about the Csdp mailing list