[mlpack] maximum problem size for PrimalDualSolver?

Ryan Curtin ryan at ratml.org
Wed Aug 28 20:02:57 EDT 2019


On Wed, Aug 28, 2019 at 04:41:46PM -0700, Joe Dinius wrote:
> Hello,
> 
> I have setup a (sparse) SDP problem where the solution is 289x289 with 67
> sparse constraints.  When trying to solve this problem with the ensmallen
> PrimalDualSolver, I receive the following error message:
> 
> error: arma::memory::acquire(): out of memory
> unknown location(0): fatal error in "sdp_nominal_test": std::bad_alloc:
> std::bad_alloc
> 
> It appears that my problem is consuming too much memory which makes me
> wonder:  How big a problem can the PrimalDualSolver handle?  Has such a
> benchmark been established?

Hey Joe,

Thanks for the report.  I'm not sure if anyone has benchmarked the
PrimalDualSolver to see what it can do.  Can you share the details of
the code so that we can see where the bottleneck is that is resulting in
the attempted huge memory allocation?

My guess is that somewhere, there is some memory blowup that's likely
unnecessary and could be fixed.

> As a bonus:  Is there any way to solve this problem?  Preliminary web
> searches give me little hope of a simple solution, but I am hopeful that
> there is something that someone on this list can point out.

I suspect it's fixable, but it might take a little bit of digging.

If you like to get your hands dirty, compile with debugging symbols and
run through gdb or another debugger; if it's gdb, you can just do 'catch
throw' and then run the program, and when the out of memory exception
happens, there will be a backtrace and it should be clearer what's going
on.

If you don't like to get your hands dirty, that's perfectly ok, and I'll
take a look if you can supply some code to reproduce the issue. :)

Thanks!

Ryan

-- 
Ryan Curtin    | "A present for my friends... at Thanksgiving."
ryan at ratml.org |   - Bruce


More information about the mlpack mailing list