OpenMPI Builds for MacOS 10.8 and Earlier, Targetting GCC
Christopher Nielsen
mascguy at rochester.rr.com
Tue May 4 16:45:14 UTC 2021
I’m currently reviewing the build logs for openmpi-* subports, which are failing to build for older MacOS releases.
And it looks like the issue relates to the use of the various AVX* instruction sets:
CCLD liblocal_ops_avx2.la
<stdin>:1015:20: error: invalid operand for instruction
vmovdqu64 (%rdi), %ymm0
^~~~~
<stdin>:1019:12: error: invalid operand for instruction
vmovdqu64 %ymm0, -32(%rsi)
^~~~~
<stdin>:1127:20: error: invalid operand for instruction
vmovdqu64 (%rdi), %ymm0
^~~~~
<stdin>:1131:12: error: invalid operand for instruction
vmovdqu64 %ymm0, -32(%rsi)
^~~~~
[…etc…]
We can fix the problem by disabling use of those instructions, via a configure flag. The simplest approach would be to disable them across-the-board, albeit with a slight performance penalty. Or we can add conditional logic to disable them for those older releases.
There’s something curious though: These instructions are supported for GCC 5 and 6, on MacOS 10.8. But GCC releases from 7 on, don’t seem to. (All GCC releases are working for later MacOS releases, though.)
So… do our GCC 7+ releases for MacOS 10.8 and earlier, not include AVX* support? If not, would it be feasible to patch them?
On a mostly-unrelated note, I’m also seeing a tremendous number of warnings related to unused compilation arguments. For example:
clang: warning: argument unused during compilation: '-I /opt/local/include/LegacySupport'
clang: warning: argument unused during compilation: '-I /opt/local/include'
clang: warning: argument unused during compilation: '-I /opt/local/include'
clang: warning: argument unused during compilation: '-I /usr/local/include'
clang: warning: argument unused during compilation: '-I /usr/local/include'
clang: warning: argument unused during compilation: '-I /opt/local/include/LegacySupport'
clang: warning: argument unused during compilation: '-I .'
clang: warning: argument unused during compilation: '-I /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_science_openmpi/openmpi-gcc9/work/openmpi-4.1.0/opal/datatype'
clang: warning: argument unused during compilation: '-I ../../opal/include'
clang: warning: argument unused during compilation: '-I ../../ompi/include'
clang: warning: argument unused during compilation: '-I ../../oshmem/include'
clang: warning: argument unused during compilation: '-I ../../opal/mca/hwloc/hwloc201/hwloc/include/private/autogen'
clang: warning: argument unused during compilation: '-I ../../opal/mca/hwloc/hwloc201/hwloc/include/hwloc/autogen'
clang: warning: argument unused during compilation: '-I ../../ompi/mpiext/cuda/c'
clang: warning: argument unused during compilation: '-I ../..'
clang: warning: argument unused during compilation: '-I /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_science_openmpi/openmpi-gcc9/work/openmpi-4.1.0/opal/include'
clang: warning: argument unused during compilation: '-I /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_science_openmpi/openmpi-gcc9/work/openmpi-4.1.0/orte/include'
clang: warning: argument unused during compilation: '-I ../../orte/include'
clang: warning: argument unused during compilation: '-I /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_science_openmpi/openmpi-gcc9/work/openmpi-4.1.0/ompi/include'
clang: warning: argument unused during compilation: '-I /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_science_openmpi/openmpi-gcc9/work/openmpi-4.1.0/oshmem/include'
Given the includes for LegacySupport, is this being caused by that portgroup…?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-dev/attachments/20210504/6c1ee74d/attachment.htm>
More information about the macports-dev
mailing list