-
Notifications
You must be signed in to change notification settings - Fork 70
opal/cma: improve Linux CMA detection #1306
Conversation
:bot:milestone:v2.0.1 This commit enables Linux CMA support by default. This will help shared memory performance. |
Test FAILed. |
1 similar comment
Test FAILed. |
Build Failed with XL compiler! Please review the log, and get in touch if you have questions. Gist: https://gist.github.com/1e504c62707ca698974c73d9950275fd |
Build Failed with GNU compiler! Please review the log, and get in touch if you have questions. Gist: https://gist.github.com/8d5398ba793aa2bc4494abc3b6f7da49 |
Opps, error in three-way merge. Fixing. |
Test FAILed. |
Test FAILed. |
This commit improves the CMA detection when the installed glibc doesn't have support for CMA. In this case we need to verify that the syscall numbers in opal/include/opal/sys/cma.h are valid for the architecture. This verification is done by attempting to use CMA while including the internal header. This was back-ported to v2.0.x from master and does not include support for ARMv8. Signed-off-by: Nathan Hjelm <hjelmn@me.com> (cherry picked from commit open-mpi/ompi@4a2bd83) Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
Threw away the merged version and just updated to master - the summary stuff. |
Test PASSed. |
looks good. @jsquyres you may want to double check the configury change. |
postponing this to 2.1 |
|
||
# If the user specifically requests CMA go ahead and enable it even | ||
# if the glibc version does not support process_vm_readv | ||
if test "x$with_cma" = "xyes" || test "$ompi_check_cma_happy" = "yes" ; then |
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 don't quite grok this: why would we enable CMA if $ompi_check_cma_happy isn't yes?
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.
Probably can be improved but it doesn't hurt. This only happens if the user tries to force CMA using --with-cma=yes. The user will get a compile-time error if they try to force CMA to be enabled and either 1) we do not have the syscall numbers, or 2) the syscall numbers are wrong.
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.
That's not really the way we do this in the rest of OMPI. If the user specifies --with-FOO[=yes]
and we can't compile/link with FOO support, then configure should fail (vs. failing much later in the make
).
I realize this is already on master, but it might still be worth strengthening the master version, too. |
Please see open-mpi/ompi#1997. |
@hjelmn I have merged open-mpi/ompi#1997 to master -- do you want to pull that commit in here? |
The |
This repo is now closed. |
This commit improves the CMA detection when the installed glibc doesn't
have support for CMA. In this case we need to verify that the syscall
numbers in opal/include/opal/sys/cma.h are valid for the architecture.
This verification is done by attempting to use CMA while including the
internal header.
This was back-ported to v2.0.x from master and does not include
support for ARMv8.
Signed-off-by: Nathan Hjelm hjelmn@me.com
(cherry picked from commit open-mpi/ompi@4a2bd83)
Signed-off-by: Nathan Hjelm hjelmn@lanl.gov