[Ipopt] MA86 and MA97 Segfault with OpenMP
Jonathan Hogg
jonathan.hogg at stfc.ac.uk
Thu May 23 04:05:54 EDT 2013
First question, does adding FC=ifort ADD_FCFLAGS="-openmp" to configure
and recompiling from scratch fix things?
If not, is it possible to supply me with a copy of your code so I can
attempt to reproduce the problem? I can't recall whether the Ipopt
driver shipped with the option to dump matrices, but if it did a matrix
dump of iteration zero might be easier?
Thanks,
Jonathan.
On 23/05/13 04:32, Breannan Smith wrote:
> Further investigation reveals that this problem arises with the Intel
> compiler suite but not with the GCC suite. More concretely:
>
> # Configuring/building with the Intel compiler suite leads to a
> segfault with MA86 and MA97 for hs071_main
> ../configure CXX=icpc CC=icc F77=ifort ADD_CFLAGS="-openmp"
> ADD_FFLAGS="-openmp" ADD_CXXFLAGS="-openmp"
>
> # Configuring/building with the GCC suite works with MA86 and MA97 for
> hs071_main
> ../configure CXX=g++ CC=gcc F77=gfortran ADD_CFLAGS="-fopenmp"
> ADD_FFLAGS="-fopenmp" ADD_CXXFLAGS="-fopenmp"
>
> For reference, I have run these tests with GCC 4.6.3 and ICC 13.1.1
> 20130313.
>
> Best regards,
> Breannan Smith
> smith at cs.columbia.edu <mailto:smith at cs.columbia.edu>
>
>
>
> On Wed, May 22, 2013 at 12:59 PM, Breannan Smith
> <smith at cs.columbia.edu <mailto:smith at cs.columbia.edu>> wrote:
>
> Dear Ipopt Community,
>
> I'm attempting to run Ipopt-3.11.0 with the parallel HSL solvers
> (http://www.hsl.rl.ac.uk/ipopt/) on 64-bit Linux with Intel's
> compilers (version 13.1.1 20130313), but I encounter a segfault if
> I execute Ipopt with MA86 or MA97 with OpenMP enabled. I am
> configuring Ipopt with:
>
> ../configure CXX=icpc CC=icc F77=ifort ADD_CFLAGS=-openmp
> ADD_FFLAGS=-openmp ADD_CXXFLAGS=-openmp
> --with-blas="-L$MKLROOT/lib -lmkl_intel_lp64 -lmkl_sequential
> -lmkl_core"
>
> I am building the HSL libraries with Ipopt as described in
> the documentation (that is copying coinhsl into ThirdParty/HSL).
>
> If I then modify the C++ test example hs071_main.cpp to use ma97
> (e.g. app->Options()->SetStringValue( "linear_solver", "ma97" )),
> build, and execute, the code segfaults in
> hsl_mc78_integer_mp_mc78_col_counts_integer_ (backtrace included
> below). This same example runs fine with ma27, ma57, and mumps.
>
> Any thoughts, tips, tricks, or suggestions as to the cause of this
> segfault?
>
> Thanks, I'm happy to run more tests or provide more details!
>
> Best regards,
> Breannan Smith
> smith at cs.columbia.edu <mailto:smith at cs.columbia.edu>
>
> The backtrace:
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007ffff71b9701 in hsl_mc78_integer_mp_mc78_col_counts_integer_ ()
> from
> /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/ThirdParty/HSL/.libs/libcoinhsl.so.1
> (gdb) bt
> #0 0x00007ffff71b9701 in
> hsl_mc78_integer_mp_mc78_col_counts_integer_ ()
> from
> /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/ThirdParty/HSL/.libs/libcoinhsl.so.1
> #1 0x00007ffff729b031 in hsl_ma97_double_mp_get_nzl_ ()
> from
> /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/ThirdParty/HSL/.libs/libcoinhsl.so.1
> #2 0x00007ffff7298d9e in hsl_ma97_double_mp_compute_order_ ()
> from
> /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/ThirdParty/HSL/.libs/libcoinhsl.so.1
> #3 0x00007ffff72962ea in hsl_ma97_double_mp_analyse_double_ ()
> from
> /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/ThirdParty/HSL/.libs/libcoinhsl.so.1
> #4 0x00007ffff72cd1c1 in ma97_analyse_d ()
> from
> /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/ThirdParty/HSL/.libs/libcoinhsl.so.1
> #5 0x00007ffff7adf37e in
> Ipopt::Ma97SolverInterface::InitializeStructure(int, int, int
> const*, int const*) ()
> from
> /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
> #6 0x00007ffff7ad2e19 in
> Ipopt::TSymLinearSolver::InitializeStructure(Ipopt::SymMatrix
> const&) ()
> from
> /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
> #7 0x00007ffff7ad1a35 in
> Ipopt::TSymLinearSolver::MultiSolve(Ipopt::SymMatrix const&,
> std::vector<Ipopt::SmartPtr<Ipopt::Vector const>,
> std::allocator<Ipopt::SmartPtr<Ipopt::Vector const> > >&,
> std::vector<Ipopt::SmartPtr<Ipopt::Vector>,
> std::allocator<Ipopt::SmartPtr<Ipopt::Vector> > >&, bool, int) ()
> from
> /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
> #8 0x00007ffff7ac2d1f in
> Ipopt::StdAugSystemSolver::MultiSolve(Ipopt::SymMatrix const*,
> double, Ipopt::Vector const*, double, Ipopt::Vector const*,
> double, Ipopt::Matrix const*, Ipopt::Vector const*, double,
> Ipopt::Matrix const*, Ipopt::Vector const*, double,
> std::vector<Ipopt::SmartPtr<Ipopt::Vector const>,
> std::allocator<Ipopt::SmartPtr<Ipopt::Vector const> > >&,
> std::vector<Ipopt::SmartPtr<Ipopt::Vector const>,
> std::allocator<Ipopt::SmartPtr<Ipopt::Vector const> > >&,
> std::vector<Ipopt::SmartPtr<Ipopt::Vector const>,
> std::allocator<Ipopt::SmartPtr<Ipopt::Vector const> > >&,
> std::vector<Ipopt::SmartPtr<Ipopt::Vector const>,
> std::allocator<Ipopt::SmartPtr<Ipopt::Vector const> > >&,
> std::vector<Ipopt::SmartPtr<Ipopt::Vector>,
> std::allocator<Ipopt::SmartPtr<Ipopt::Vector> > >&,
> std::vector<Ipopt::SmartPtr<Ipopt::Vector>,
> std::allocator<Ipopt::SmartPtr<Ipopt::Vector> > >&,
> std::vector<Ipopt::SmartPtr<Ipopt::Vector>,
> std::allocator<Ipopt::SmartPtr<Ipopt::Vector> > >&,
> std::vector<Ipopt::SmartPtr<Ipopt::Vector>,
> std::allocator<Ipopt::SmartPtr<Ipopt::Vector> > >&, bool, int) ()
> from
> /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
> #9 0x00007ffff79e81c2 in
> Ipopt::AugSystemSolver::Solve(Ipopt::SymMatrix const*, double,
> Ipopt::Vector const*, double, Ipopt::Vector const*, double,
> Ipopt::Matrix const*, Ipopt::Vector const*, double, Ipopt::Matrix
> const*, Ipopt::Vector const*, double, Ipopt::Vector const&,
> Ipopt::Vector const&, Ipopt::Vector const&, Ipopt::Vector const&,
> Ipopt::Vector&, Ipopt::Vector&, Ipopt::Vector&, Ipopt::Vector&,
> bool, int) ()
> from
> /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
> #10 0x00007ffff7a558d6 in
> Ipopt::LeastSquareMultipliers::CalculateMultipliers(Ipopt::Vector&, Ipopt::Vector&)
> ()
> from
> /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
> #11 0x00007ffff79fea70 in
> Ipopt::DefaultIterateInitializer::least_square_mults(Ipopt::Journalist
> const&, Ipopt::IpoptNLP&, Ipopt::IpoptData&,
> Ipopt::IpoptCalculatedQuantities&,
> Ipopt::SmartPtr<Ipopt::EqMultiplierCalculator> const&, double) ()
> from
> /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
> #12 0x00007ffff7a02862 in
> Ipopt::DefaultIterateInitializer::SetInitialIterates() ()
> from
> /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
> #13 0x00007ffff7a195c2 in
> Ipopt::IpoptAlgorithm::InitializeIterates() ()
> from
> /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
> #14 0x00007ffff7a127e1 in Ipopt::IpoptAlgorithm::Optimize(bool) ()
> from
> /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
> #15 0x00007ffff798a542 in Ipopt::IpoptApplication::call_optimize() ()
> from
> /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
> #16 0x00007ffff7989ca0 in
> Ipopt::IpoptApplication::OptimizeNLP(Ipopt::SmartPtr<Ipopt::NLP>
> const&, Ipopt::SmartPtr<Ipopt::AlgorithmBuilder>&) ()
> from
> /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
> #17 0x00007ffff7989978 in
> Ipopt::IpoptApplication::OptimizeNLP(Ipopt::SmartPtr<Ipopt::NLP>
> const&) ()
> from
> /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
> #18 0x00007ffff79898fa in
> Ipopt::IpoptApplication::OptimizeTNLP(Ipopt::SmartPtr<Ipopt::TNLP>
> const&) ()
> from
> /proj/cg/users/smith/research_current/gr/code/libs/Ipopt-3.11.0/build/Ipopt/src/Interfaces/.libs/libipopt.so.1
> #19 0x0000000000402047 in main ()
>
>
>
>
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
--
Scanned by iCritical.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/ipopt/attachments/20130523/6ac5fcde/attachment.html>
More information about the Ipopt
mailing list