For posterity’s sake, I profiled memory allocation throughout my JuMP call. Here is the corresponding gist.
Summary of findings:
- Data generation requires 15MB of memory allocation.
- JuMP allocates ~600 MB at the
solve()
call - Another ~600 MB are allocated at the
MathProgBase.initialize()
call. - These two lines account for almost the entire 1.22GB that are allocated for the entire optimization.
- When breaking down the
MathProgBase.initialize()
call, it appears that the second-order derivative computation is what is driving this, as it accounts for 79% of the allocated memory.
As Miles mentioned above, this doesn’t seem to be unintended behavior, but looks more like an issue with the second-order derivatives being too dense. This may also be what is driving @mauro’s problem, too.