-
Notifications
You must be signed in to change notification settings - Fork 1
Partitions implementation in reconverse #97
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
Conversation
include/converse.h
Outdated
@@ -929,4 +915,95 @@ extern "C" { | |||
|
|||
void registerTraceInit(void (*fn)(char **argv)); | |||
|
|||
//partitions | |||
#if CMK_HAS_PARTITION |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where is the CMK_HAS_PARTITION
defined?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just pushed a commit to add the definition in charm-config.h. It's really only needed in the charm build so I put it there.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like it should work. Has it been tested with anything that actually uses partitions?
I am trying to run the partition test located in charm/tests/charm++/partitions, but the example command doesn't seem to make sense to me. It is |
It needs to be able to slice along process boundaries. So, if that was a non-smp build, that command line would work. You would need a more carefully constructed line with +p and +ppn to do the same in an smp build. It wouldn't work at all in multicore. |
That test program requires creating P/2 partitions if you have P PEs. I ran the test with 2 PEs on 1 process in standalone mode, and with 4 PEs on 2 processes with LCI, and both worked. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good.
Implements support for partitions (multiple instances of Charm++ running on the same communication and machine layer), including command-line definitions of partitions and messaging functions between partitions. Does not include topological-aware partitions.