Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix #141 Determine --procsPerNode automatically, reuse shared memory communicator, improve output #169

Merged
merged 10 commits into from
Jan 5, 2024

Conversation

vasdommes
Copy link
Collaborator

I added Environment object (initialized at SDPB start) which calculates number of nodes and procs per node by creating an MPI shared memory communicator.

This allowed to make the following improvements:

  • Determine --procsPerNode automatically #141. --procsPerNode option is marked as obsolete and left for backward compatibility (if you set --procsPerNode, SDPB prints warning and ignores it).
  • Print number of MPI processes and nodes at SDPB start.
  • In debug output from timers, now we print node index instead of rank, e.g. node=1 start sdpb.solve instead of (less clear) 128 sdpb.solve.
  • Create shared memory communicator once in Environment and then reuse it.
  • As a byproduct, fix outer_limits crashes if too many processes are used #94: old outer_limits code was always setting procsPerNode to 1, which caused crashes.

Other minor changes:

Fixes #94 outer_limits crashes if too many processes are used
(outer_limits code did not set procsPerNode correctly)

TODO: get rid of procsPerNode option
Running with 6 processes caused crash before.
--procsPerNode is marked as obsolete and left for backward compatibility.
… (debug mode)

After the refactoring, there are two constructors - Timers() and Timers(env, debug).
Old Timers(false) is replaced with Timers(),
old Timers(verbosity >= debug) - with Timers(env, verbosity >= debug).
Print primal dimension, dual dimension and number of SDP blocks at SDP_Solver constructor
@vasdommes vasdommes added this to the 2.6.2 milestone Jan 4, 2024
@vasdommes vasdommes merged commit 3479051 into master Jan 5, 2024
@vasdommes vasdommes deleted the env branch January 5, 2024 01:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

outer_limits crashes if too many processes are used
1 participant