From aguilera at santafe-conicet.gov.ar Thu Feb 28 15:21:36 2008
From: aguilera at santafe-conicet.gov.ar (Nestor Aguilera)
Date: Thu, 28 Feb 2008 17:21:36 -0300
Subject: [Csdp] Differences between versions 5 and 6
Message-ID: <489ff382df88de8635adfac55f0b5e42@santafe-conicet.gov.ar>
I have been running the standalone CSDP version 5 on a 1.33 GHz G4
PowerPC (Mac OS X 10.3.9), and now I started using version 6 for G4 -
Mac OS X 10.4, which seems to be working fine on the old operating
system (as hinted in ).
However, there are minor differences in the output, and depending on
the problem, version 6 may take as low as 2/3 of the time version 5
uses for the same problem.
I am curious whether these differences are due to the use of different
compilers or changes in the code: are there any other differences
besides the use of OpenMP? is there a document explaining the changes?
Thanks,
Nestor
From borchers at nmt.edu Thu Feb 28 14:59:28 2008
From: borchers at nmt.edu (Brian Borchers)
Date: Thu, 28 Feb 2008 12:59:28 -0700
Subject: [Csdp] Differences between versions 5 and 6
In-Reply-To: <489ff382df88de8635adfac55f0b5e42@santafe-conicet.gov.ar>
References: <489ff382df88de8635adfac55f0b5e42@santafe-conicet.gov.ar>
Message-ID: <47C712A0.mail4B41C8Q11@login>
>I am curious whether these differences are due to the use of different
>compilers or changes in the code: are there any other differences
>besides the use of OpenMP? is there a document explaining the changes?
Without examining the problems and the output from both versions of
the code, it's difficult to say exactly what could be the cause of
this improvement in performance.
There were relatively few changes to the code between version 5 and
version 6 of CSDP, and on a single processor machine the OpenMP stuff
should make no difference in performance. If you see that both
versions 5 and 6 used about the same number of iterations then I'd bet
that any improvement is due to using a more highly optimized set of
BLAS/LAPACK libraries when the newer version of CSDP was built.
From aguilera at santafe-conicet.gov.ar Thu Feb 28 16:41:41 2008
From: aguilera at santafe-conicet.gov.ar (Nestor Aguilera)
Date: Thu, 28 Feb 2008 18:41:41 -0300
Subject: [Csdp] Differences between versions 5 and 6
In-Reply-To: <47C712A0.mail4B41C8Q11@login>
References: <489ff382df88de8635adfac55f0b5e42@santafe-conicet.gov.ar>
<47C712A0.mail4B41C8Q11@login>
Message-ID: <1c00c2cb0901b3f8836f3a23200df4bc@santafe-conicet.gov.ar>
On 28 Feb 2008, at 16:59, Brian Borchers wrote:
> Without examining the problems and the output from both versions of
> the code, it's difficult to say exactly what could be the cause of
> this improvement in performance.
>
> There were relatively few changes to the code between version 5 and
> version 6 of CSDP, and on a single processor machine the OpenMP stuff
> should make no difference in performance. If you see that both
> versions 5 and 6 used about the same number of iterations then I'd bet
> that any improvement is due to using a more highly optimized set of
> BLAS/LAPACK libraries when the newer version of CSDP was built.
Notice also that the numerical results are slightly different (using
the same single processor).
Thanks,
Nestor
From borchers at nmt.edu Thu Feb 28 16:06:16 2008
From: borchers at nmt.edu (Brian Borchers)
Date: Thu, 28 Feb 2008 14:06:16 -0700
Subject: [Csdp] Differences between versions 5 and 6
In-Reply-To: <1c00c2cb0901b3f8836f3a23200df4bc@santafe-conicet.gov.ar>
References: <489ff382df88de8635adfac55f0b5e42@santafe-conicet.gov.ar>
<47C712A0.mail4B41C8Q11@login>
<1c00c2cb0901b3f8836f3a23200df4bc@santafe-conicet.gov.ar>
Message-ID: <47C72248.mail5851YRH4G@login>
>Notice also that the numerical results are slightly different (using
>the same single processor).
That's not surprising. When code is compiled by different compilers
(or with the same compiler using different optimization options) the
floating point arithmetic operations aren't always performed in the
same order, so the arithmetic can round off differently. These
differences are compounded by if/then branches in the code so that you
can get substantially different answers in the end.
Things get even more complicated when you introduce different
implementations of BLAS/LAPACK that may be using substantially
different algorithms.
From aguilera at santafe-conicet.gov.ar Thu Feb 28 17:15:55 2008
From: aguilera at santafe-conicet.gov.ar (Nestor Aguilera)
Date: Thu, 28 Feb 2008 19:15:55 -0300
Subject: [Csdp] Differences between versions 5 and 6
In-Reply-To: <47C72248.mail5851YRH4G@login>
References: <489ff382df88de8635adfac55f0b5e42@santafe-conicet.gov.ar>
<47C712A0.mail4B41C8Q11@login>
<1c00c2cb0901b3f8836f3a23200df4bc@santafe-conicet.gov.ar>
<47C72248.mail5851YRH4G@login>
Message-ID: <15d4fa499c2ff541d5d82770d9c26692@santafe-conicet.gov.ar>
On 28 Feb 2008, at 18:06, Brian Borchers wrote:
>> Notice also that the numerical results are slightly different (using
>> the same single processor).
>
> That's not surprising. When code is compiled by different compilers
> (or with the same compiler using different optimization options) the
> floating point arithmetic operations aren't always performed in the
> same order, so the arithmetic can round off differently. These
> differences are compounded by if/then branches in the code so that you
> can get substantially different answers in the end.
>
> Things get even more complicated when you introduce different
> implementations of BLAS/LAPACK that may be using substantially
> different algorithms.
In a previous message (December 2007,
),
you mentioned that using second order cone constraints as SDP
constraints could lead to numerical problems. Would you have references
for that?
Thanks,
Nestor
From borchers at nmt.edu Thu Feb 28 16:30:02 2008
From: borchers at nmt.edu (Brian Borchers)
Date: Thu, 28 Feb 2008 14:30:02 -0700
Subject: [Csdp] Differences between versions 5 and 6
In-Reply-To: <15d4fa499c2ff541d5d82770d9c26692@santafe-conicet.gov.ar>
References: <489ff382df88de8635adfac55f0b5e42@santafe-conicet.gov.ar>
<47C712A0.mail4B41C8Q11@login>
<1c00c2cb0901b3f8836f3a23200df4bc@santafe-conicet.gov.ar>
<47C72248.mail5851YRH4G@login>
<15d4fa499c2ff541d5d82770d9c26692@santafe-conicet.gov.ar>
Message-ID: <47C727DA.mail5IB11XUPH@login>
>In a previous message (December 2007,
>),
>you mentioned that using second order cone constraints as SDP
>constraints could lead to numerical problems. Would you have references
>for that?
A simple transformation from SOCP to SDP is discussed in the book by
Nesterov and Nemirovski. I think it's also in Boyd and Vandenberghe.
Because the transformation takes an n element vector in an SOCP
constraint and turns it into an n by n matrix block in an SDP, it's
definitely going to use a lot of memory and will probably slow things
down substantially. Furthermore, when I actually tried this on some
problems from the DIMACS Challenge, I found that the resulting SDP's
were very hard for CSDP and the other available SDP codes to solve-
the primal dual interior point method often just failed to converge.
I'm not aware of any published papers that discuss this though.
From aguilera at santafe-conicet.gov.ar Thu Feb 28 17:52:51 2008
From: aguilera at santafe-conicet.gov.ar (Nestor Aguilera)
Date: Thu, 28 Feb 2008 19:52:51 -0300
Subject: [Csdp] Differences between versions 5 and 6
In-Reply-To: <47C727DA.mail5IB11XUPH@login>
References: <489ff382df88de8635adfac55f0b5e42@santafe-conicet.gov.ar>
<47C712A0.mail4B41C8Q11@login>
<1c00c2cb0901b3f8836f3a23200df4bc@santafe-conicet.gov.ar>
<47C72248.mail5851YRH4G@login>
<15d4fa499c2ff541d5d82770d9c26692@santafe-conicet.gov.ar>
<47C727DA.mail5IB11XUPH@login>
Message-ID: <47d90b2c0245ad74d667017667d00786@santafe-conicet.gov.ar>
On 28 Feb 2008, at 18:30, Brian Borchers wrote:
>> In a previous message (December 2007,
>> ),
>> you mentioned that using second order cone constraints as SDP
>> constraints could lead to numerical problems. Would you have
>> references
>> for that?
>
> A simple transformation from SOCP to SDP is discussed in the book by
> Nesterov and Nemirovski. I think it's also in Boyd and Vandenberghe.
I am using the transformation(s) indicated in notes by Nemirovski
(2002, downloaded from internet).
> Because the transformation takes an n element vector in an SOCP
> constraint and turns it into an n by n matrix block in an SDP, it's
> definitely going to use a lot of memory and will probably slow things
> down substantially. Furthermore, when I actually tried this on some
> problems from the DIMACS Challenge, I found that the resulting SDP's
> were very hard for CSDP and the other available SDP codes to solve-
> the primal dual interior point method often just failed to converge.
> I'm not aware of any published papers that discuss this though.
Is that completely (or almost) solved by using a sparse Cholesky
factorization? Will CSDP have it in the future?
As always, thanks!
Nestor
From borchers at nmt.edu Thu Feb 28 17:02:46 2008
From: borchers at nmt.edu (Brian Borchers)
Date: Thu, 28 Feb 2008 15:02:46 -0700
Subject: [Csdp] Differences between versions 5 and 6
In-Reply-To: <47d90b2c0245ad74d667017667d00786@santafe-conicet.gov.ar>
References: <489ff382df88de8635adfac55f0b5e42@santafe-conicet.gov.ar>
<47C712A0.mail4B41C8Q11@login>
<1c00c2cb0901b3f8836f3a23200df4bc@santafe-conicet.gov.ar>
<47C72248.mail5851YRH4G@login>
<15d4fa499c2ff541d5d82770d9c26692@santafe-conicet.gov.ar>
<47C727DA.mail5IB11XUPH@login>
<47d90b2c0245ad74d667017667d00786@santafe-conicet.gov.ar>
Message-ID: <47C72F86.mail6B213BNNU@login>
>Is that completely (or almost) solved by using a sparse Cholesky
>factorization? Will CSDP have it in the future?
Yes, sparse Cholesky factorization would help. Adding sparse Cholesky
factorization to CSDP has been on the "to-do" list for a long time. Maybe
this summer...