Fix memory issue in MOI's interface #87
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
_scalecoef
was called (byscalecoef
) with a wrong parameterd
forPositiveSemidefiniteConeTriangle
sets. Instead ofd=n
where n is the number of rows/columns of the PSD matrix, it was called withn*(n+1)/2
. Furthermore_scalecoef
was memory inefficient.As a result the
MOI
interface was having memory issues when n > 1000 (see example below).This PR avoids this issue by a different implementation of
_scalecoef
which does not needd
.Example
Download
SDPLIB
's equalG51.jld2.zip and compare the execution time & memory requirements of theMOI
wrapper for the following code before and after the PR