You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// If no information, assign a cost proportional to the matrix
// size. This should balance out memory use when doing a timing
// run.
auto schur_sizes(schur_block_sizes());
for(size_t block = 0; block < schur_sizes.size(); ++block)
{
result.emplace_back(schur_sizes[block] * schur_sizes[block], block);
}
In reality, RAM usage is something like 2#(B) + 5#(PSD) + 2#(Schur) + 2#(Bilinear pairing), usually dominated by B matrix (in code - free_var_matrix). We should use this estimate instead of currently used #(Schur).
The text was updated successfully, but these errors were encountered:
vasdommes
added a commit
to vasdommes/sdpb
that referenced
this issue
Jul 5, 2023
Currently Schur block size is used as a block cost to balance RAM during a timing run.
See https://github.com/davidsd/sdpb/blob/6ad4c404e5a208a44c606598fdd5f3c7fea089b4/src/sdp_solve/Block_Info/read_block_costs.cxx#L49C1-L59C6:
In reality, RAM usage is something like
2#(B) + 5#(PSD) + 2#(Schur) + 2#(Bilinear pairing)
, usually dominated by B matrix (in code -free_var_matrix
). We should use this estimate instead of currently used#(Schur)
.The text was updated successfully, but these errors were encountered: