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