[COIN-DISCUSS] Problems with MPI application using COIN/C++

YANG YUAN erry.yuan at gmail.com
Wed Jun 20 15:14:46 EDT 2007


Hi Alan,

Thanks for the suggestion, I tried it. looks like it is not the problem. "
mpicxx.h" is not involved in this app.

Thanks again, yang


On 6/20/07, Alan King <kingaj at us.ibm.com> wrote:
>
>
> I saw this problem with MPICH and C++ in another context.  I had to insert
> the following directive
>
> #define MPICH_SKIP_MPICXX
>
> Maybe this, or something similar, will work for you, too.
>
> Alan
>
> Alan King
> Math Sciences
> IBM Thomas J Watson Research Center
> 914-945-1236
> http://www.research.ibm.com/people/k/kingaj/
>
>
>   *"YANG YUAN" <erry.yuan at gmail.com>*
> Sent by: coin-discuss-bounces at list.coin-or.org
>
> 06/20/2007 01:00 PM   Please respond to
> Discussions about open source software for Operations Research        <
> coin-discuss at list.coin-or.org>
>
>    To
> coin-discuss at list.coin-or.org  cc
>   Subject
> [COIN-DISCUSS] Problems with MPI application using COIN
>
>
>
>
>
> Hi,
>
> I am working on a MPI application using COIN-cbc, clp as solvers. The COIN
> shared libraries have been made using gcc, however, my own MPI program
> together with COIN failed to compile using mpicc (a compiler and linker
> constructed for MPI application). Instead, i use the intel C++ compiler
> "icpc" together with some necessary MPI lib and include files. Fortunately,
> the compilation and linking are fine, but on the other hand, probably it is
> one of the reason that causes the following errors.
>
> If I add the link flags -cxxlib-gcc or -shared while linking my program
> with COIN shared libraries. the executable can be successfully generated.
> However, everytime i run it, it directly gives me a seg fault even without
> getting into the main function. it is proved by no output of the first
> "printf", as shown below.
>
> #include ***
>
> int
> main (int argc, char *argv[])
> {
>   printf ("Beginning of the code.\n");
> ......
> }
>
>
>
> If I get rid of the link flags -cxxlib-gcc or -shared, the above seg fault
> is gone. and the Coin utility functions seem to work fine, but it fails to
> solve a simple MIP problem with output "Cbc: LP relaxation is infeasible or
> too expensive". I write the MIP out, actually the problem is ok and it can
> be solved very easily.
>
> I am suspecting that there might exist some linking errors, so that
> although the libraries (-lCbc -lCgl -lOsiClp -lOsiCbc -lOsi -lClp
> -lCoinUtils) have been linked, they don't function well. I sense the usage
> of shared libraries might also be a problem, but so far i have no luck in
> finding what's wrong. If you have any idea or some experience with using MPI
> and COIN together, please kindly provide me some directions. Any suggestion
> is extremely appreciated!
>
> Thanks!
>
> yang
>
> p.s. The following is the makefile i am using:
>
> /******************************************
>
> D2BAC=$(HOME)/D2-MPI
>
> CXX = icpc
>
> # C++ Compiler options
> CXXFLAGS = -O2 -unroll0 -mp1 -w -ip
> # -cxxlib-gcc -gcc-version=323
>
> # additional C++ Compiler options for linking
> CXXLINKFLAGS =
> #-Wl,--rpath -Wl,/home/osu4502/Coin-Cbc/lib -cxxlib-gcc
>
> # Directory with COIN header files
> COININCDIR = $(HOME)/Coin-Cbc-T1/include
>
> # Directory with COIN libraries
> COINLIBDIR = $(HOME)/Coin-Cbc-T1/lib
>
> # Directory with C library and header files
> CINCDIR = /usr/local/intel-8.0-20040716/include/c++
> CLIBDIR = /usr/local/intel-8.0-20040716/lib
>
> # Libraries necessary to link with Clp
> LIBS = -L$(COINLIBDIR) -lCbc -lCgl -lOsiClp -lOsiCbc -lOsi -lClp
> -lCoinUtils \
>        -lm -lc \
>        `cat $(COINLIBDIR)/cgl_addlibs.txt` \
>        `cat $(COINLIBDIR)/osi_addlibs.txt` \
>        `cat $(COINLIBDIR)/clp_addlibs.txt` \
>        `cat $(COINLIBDIR)/coinutils_addlibs.txt`
>
> # ------------------------------------------------------------
>
> clean :
>        /bin/rm -rf *.o *~
>
> realclean :
>        /bin/rm -rf *.o *~
>        /bin/rm -rf *.mps *.ord *.sos *.lp *.sav *.net *.msg
>
> # ------------------------------------------------------------
>
> d2alg: d2algFuncsV2.o  d2algMainV2.o COINInterface.o
>        $(CXX) $(CXXLINKFLAGS) d2algMainV2.o d2algFuncsV2.o COINInterface.o -o d2alg  $(MPI_LIBS) $(LIBS)
> COINInterface.o: $(D2BAC)/ COINInterface.c
>        $(CXX) -c $(MPI_CFLAGS) $(CXXFLAGS) -I$(COININCDIR)
> $(D2BAC)/COINInterface.c -o COINInterface.o
> d2algMainV2.o: $(D2BAC)/ d2algMainV2.c
>        $(CXX) -c $(MPI_CFLAGS) $(CXXFLAGS) -I$(COININCDIR)
> $(D2BAC)/d2algMainV2.c -o d2algMainV2.o
> d2algFuncsV2.o: $(D2BAC)/ d2algFuncsV2.c
>        $(CXX) -c $(MPI_CFLAGS) $(CXXFLAGS) -I$(CINCDIR) -I$(COININCDIR)
> $(D2BAC)/d2algFuncsV2.c -o d2algFuncsV2.o
> _______________________________________________
> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/coin-discuss/attachments/20070620/ec3161c6/attachment.html>


More information about the Coin-discuss mailing list