[Coin-discuss] ClpCholesky

Andreas Waechter andreasw at watson.ibm.com
Wed May 2 18:46:53 EDT 2007


Hi Kish,

I added some things (trunk version) in the configuration script and 
Makefiles so that you can now compile with WSMP support.  For this, you 
need to use the --with-wsmp flag, where you specify all linker flags that 
are necessary to link with the WSMP library.

Yes, the Linux version of the WSMP library requires the Intel Fortran 
runtime libraries, but I think that you can contact the WSMP developer 
Anshul Gupta, and he will be able to help you use WSMP on Linux even when 
you don't have the Intel compiler.

I have not added anything in support of UFL in the configure script or 
Makefiles...

Regards,

Andreas



On Tue, 1 May 2007, Kish Shen wrote:

> On Thursday 12 April 2007 15:03, Andreas Waechter wrote:
>> Hi Paul,
>>
>> I think the problem is that the makefiles are not set up to compile the
>> WSMP interface code (nor the UFL code).  If you need it, I can fix that.
>>
>> Instead of clogging the mailing list, we should probably communicate via
>> the Clp Trac system.  Please submit a ticket there, and let me know which
>> version of Clp you are using (trunk?).  Once you submitted the ticket,
>> please send me a message.
>>
>> Cheers
>>
>> Andreas
>>
>
> Hi,
>
> I have been trying the different Cholesky codes, by hacking the Makefile to compile the
> various code. It would be very nice if they can be compiled without any hacking...
>
> The DOxygen documentation for the UFL code mentions that you need the UFL AMD code,
> and also optionally CHOLMOD. I have been able to use the UFL code, and got much better
> performance than the default ClpCholeskyBase for solving problems.
>
> However, I was not able to get the CHOLMOD code working, with CLP_USE_CHOLMOD
> defined (and linking in the right libraries) along with UFL_BARRIER, I get a segmentation
> fault when I try to solve a problem. I posted a message about this on the CLP mailing list
> a month or so ago, and did not get any replies....
>
> Is this CHOLMOD code expected to give more performance imporvements over using
> UFL_BARRIER alone?
>
> I also tried to use WSSMP code.   This seems to require some external code, but I could not
> find any mention of this in the DOxygen documentation. Does this use the WSSMP from IBM?
> I could not link it this code successfully with libClp -- I am compiling on Linux with gcc
> compiler. From what I can tell, the WSSMP Linux library for IA32 requires an Intel compiler.
> Am I correct?
>
> Thanks in advance for any help/information!
>
> Cheers,
>
> Kish Shen
>
>> On Wed, 11 Apr 2007, Paul Enders wrote:
>>
>>> If I define "#define WSSMP_BARRIER 1"  as below I get the following error
>>> :"...undefined reference to
>>> `ClpCholeskyWssmp::ClpCholeskyWssmp(int)'collect2: ld returned 1 exit status
>>> make: *** [clp_solver] Error 1". When I skip the #define it will compile and
>>> solve, but using the Dense method.
>>>
>>> I have issues figuring it out, would anybody have a suggestion or an example
>>> where this works?
>>>
>>> In a post in March there was a suggestion to use "ClpCholeskyUfl.hpp" but I
>>> also did not get that to work.
>>>
>>> Any help would be appreciated.
>>>
>>> Thanks,
>>>
>>> Paul
>>>
>>> #include<string>
>>> #include<iostream>
>>> #include<fstream>
>>> #include <cstdlib>
>>> #include "ClpInterior.hpp"
>>> #include "ClpSimplex.hpp"
>>> #include "ClpCholeskyWssmp.hpp"
>>> #include "ClpCholeskyDense.hpp"
>>>
>>> #define WSSMP_BARRIER 1
>>>
>>> using namespace std;
>>> int main(){
>>> string MPSName = "LP_60.mps";
>>> ClpInterior model;
>>> model.readMps(MPSName.c_str(),1,1);
>>> #ifdef WSSMP_BARRIER
>>> ClpCholeskyWssmp * cholesky = new ClpCholeskyWssmp();
>>> #else
>>> ClpCholeskyDense * cholesky = new ClpCholeskyDense();
>>> #endif
>>>
>>> model.setCholesky(cholesky);
>>> model.primalDual();
>>> cout << "Objective Value= " << model.getObjValue() << "\n";
>>>
>>> system("PAUSE");
>>>
>>> return(1);
>>>
>>> }
>>>
>>>
>>> _______________________________________________
>>> Coin-discuss mailing list
>>> Coin-discuss at list.coin-or.org
>>> http://list.coin-or.org/mailman/listinfo/coin-discuss
>>>
>> _______________________________________________
>> Coin-discuss mailing list
>> Coin-discuss at list.coin-or.org
>> http://list.coin-or.org/mailman/listinfo/coin-discuss
>>
> _______________________________________________
> Coin-discuss mailing list
> Coin-discuss at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-discuss
>



More information about the Coin-discuss mailing list