Summary: | net/openmpi2: MPI_Send to self fails (or receive from self fails?) | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | russo | ||||||
Component: | Individual Port(s) | Assignee: | Danilo Egea Gondolfo <danilo> | ||||||
Status: | Closed FIXED | ||||||||
Severity: | Affects Only Me | Flags: | bugzilla:
maintainer-feedback?
(danilo) |
||||||
Priority: | --- | ||||||||
Version: | Latest | ||||||||
Hardware: | amd64 | ||||||||
OS: | Any | ||||||||
Attachments: |
|
Description
russo
2018-09-24 21:41:27 UTC
Turns out that this bug in Ubuntu's OpenMPI was already reported with its cause: https://bugs.launchpad.net/ubuntu/+source/openmpi/+bug/1731938 The issue is "--enable-heterogenous" --- adding this option to the configure for OpenMPI causes the send/receive failure when the receiver and sender are the same processor. The fix would be trivial --- simply remove that option from the configure that FreeBSD's package uses. I have confirmed that removing this option from net/openmpi2/Makefile renders the attached program correct. I should note that this issue was reported to OpenMPI in 2013: https://github.com/open-mpi/ompi/issues/171 and instead of removing the option they just say "works in some releases, not in others. closing due to lack of interest" a few months ago after leaving it open for 5 years. Respectfully request that "--enable-heterogenous" be removed from makefile options for both OpenMPI 2 and OpenMPI 3. Created attachment 197477 [details]
Patch to fix OpenMPI2 by removing --enable-heterogeneous
One more comment: The Github repo for OpenMPI now has this in its README: --enable-heterogeneous Enable support for running on heterogeneous clusters (e.g., machines with different endian representations). Heterogeneous support is disabled by default because it imposes a minor performance penalty. *** THIS FUNCTIONALITY IS CURRENTLY BROKEN - DO NOT USE *** So this should really not be getting used in BSD's makefile, as it makes OpenMPI unreliable. Ok, ONE more comment. The README for OpenMPI at github is at: https://github.com/open-mpi/ompi/blob/master/README Hi, thank you for your research and analysis. I'll commit this fix. A commit references this bug: Author: danilo Date: Tue Sep 25 22:22:38 UTC 2018 New revision: 480703 URL: https://svnweb.freebsd.org/changeset/ports/480703 Log: - Remove --enable-heterogeneous from CONFIGURE_ARGS, this option is broken and causing problems see https://github.com/open-mpi/ompi/blob/master/README#L1387 while here - Bump PORTREVISION - Move USES to the proper section to make portlint happy PR: 231697 Submitted by: russo AT bogodyn.org Changes: head/net/openmpi2/Makefile A commit references this bug: Author: danilo Date: Tue Sep 25 22:25:36 UTC 2018 New revision: 480705 URL: https://svnweb.freebsd.org/changeset/ports/480705 Log: - Remove --enable-heterogeneous from CONFIGURE_ARGS, this option is broken and causing problems see https://github.com/open-mpi/ompi/blob/master/README#L1387 while here - Bump PORTREVISION - Move USES to the proper section to make portlint happy PR: 231697 Submitted by: russo AT bogodyn.org Changes: head/net/openmpi3/Makefile Thank you for your prompt action on this bug. I have confirmed that your change fixes OpenMPI 2 on the test code I posted. Cool, thank you! |