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...