Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Jan 2021 03:10:37 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 252597] net/openmpi compile error with AVX
Message-ID:  <bug-252597-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D252597

            Bug ID: 252597
           Summary: net/openmpi compile error with AVX
           Product: Ports & Packages
           Version: Latest
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: danilo@FreeBSD.org
          Reporter: xxjack12xx@gmail.com
          Assignee: danilo@FreeBSD.org
             Flags: maintainer-feedback?(danilo@FreeBSD.org)

When AVX is on, the compilation fails.

make showconfig
=3D=3D=3D> The following configuration options are available for openmpi-4.=
1.0_1:
     AVX=3Don: Enable AVX instructions
     DEBUG=3Doff: Build with debugging support
     IPV6=3Doff: IPv6 protocol support
     SLURM=3Don: Enable SLURM support
     TORQUE=3Don: Enable Torque support


Making all in mca/op/avx
gmake[4]: Entering directory
'/d2/obj/d2/ports/net/openmpi/work/openmpi-4.1.0/ompi/mca/op/avx'
  CCLD     liblocal_ops_avx.la
  CC       liblocal_ops_avx512_la-op_avx_functions.lo
op_avx_functions.c:454:5: error: always_inline function '_mm512_loadu_si512'
requires target feature 'avx512f',
      but would be inlined into function 'ompi_op_avx_2buff_max_int8_t_avx5=
12'
that is compiled without support
      for 'avx512f'
    OP_AVX_FUNC(max, i, 8,    int8_t, max)
    ^
op_avx_functions.c:124:5: note: expanded from macro 'OP_AVX_FUNC'
    OP_AVX_AVX512_FUNC(name, type_sign, type_size, type, op);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20
\
    ^
op_avx_functions.c:69:29: note: expanded from macro 'OP_AVX_AVX512_FUNC'
            __m512i vecA =3D  _mm512_loadu_si512((__m512*)in);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
\
                            ^
op_avx_functions.c:454:5: error: always_inline function '_mm512_loadu_si512'
requires target feature 'avx512f',
      but would be inlined into function 'ompi_op_avx_2buff_max_int8_t_avx5=
12'
that is compiled without support
      for 'avx512f'
op_avx_functions.c:124:5: note: expanded from macro 'OP_AVX_FUNC'
    OP_AVX_AVX512_FUNC(name, type_sign, type_size, type, op);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20
\
    ^
op_avx_functions.c:71:29: note: expanded from macro 'OP_AVX_AVX512_FUNC'
            __m512i vecB =3D  _mm512_loadu_si512((__m512*)out);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20
\
                            ^
op_avx_functions.c:454:5: error: always_inline function '_mm512_max_epi8'
requires target feature 'avx512bw',
      but would be inlined into function 'ompi_op_avx_2buff_max_int8_t_avx5=
12'
that is compiled without support
      for 'avx512bw'
op_avx_functions.c:124:5: note: expanded from macro 'OP_AVX_FUNC'
    OP_AVX_AVX512_FUNC(name, type_sign, type_size, type, op);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20
\
    ^
op_avx_functions.c:72:27: note: expanded from macro 'OP_AVX_AVX512_FUNC'
            __m512i res =3D _mm512_##op##_ep##type_sign##type_size(vecA, ve=
cB);=20
\
                          ^
<scratch space>:261:1: note: expanded from here
_mm512_max_epi8
^
op_avx_functions.c:454:5: error: always_inline function '_mm512_storeu_si51=
2'
requires target feature
      'avx512f', but would be inlined into function
'ompi_op_avx_2buff_max_int8_t_avx512' that is compiled
      without support for 'avx512f'
op_avx_functions.c:124:5: note: expanded from macro 'OP_AVX_FUNC'
    OP_AVX_AVX512_FUNC(name, type_sign, type_size, type, op);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20
\
    ^
op_avx_functions.c:73:13: note: expanded from macro 'OP_AVX_AVX512_FUNC'
            _mm512_storeu_si512((__m512*)out, res);=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
\
            ^
op_avx_functions.c:455:5: error: always_inline function '_mm512_loadu_si512'
requires target feature 'avx512f',
      but would be inlined into function 'ompi_op_avx_2buff_max_uint8_t_avx=
512'
that is compiled without
      support for 'avx512f'
    OP_AVX_FUNC(max, u, 8,   uint8_t, max)
    ^
op_avx_functions.c:124:5: note: expanded from macro 'OP_AVX_FUNC'
    OP_AVX_AVX512_FUNC(name, type_sign, type_size, type, op);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20
\
    ^
op_avx_functions.c:69:29: note: expanded from macro 'OP_AVX_AVX512_FUNC'
            __m512i vecA =3D  _mm512_loadu_si512((__m512*)in);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
\
                            ^
op_avx_functions.c:455:5: error: always_inline function '_mm512_loadu_si512'
requires target feature 'avx512f',
      but would be inlined into function 'ompi_op_avx_2buff_max_uint8_t_avx=
512'
that is compiled without
      support for 'avx512f'
op_avx_functions.c:124:5: note: expanded from macro 'OP_AVX_FUNC'
    OP_AVX_AVX512_FUNC(name, type_sign, type_size, type, op);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20
\
    ^
op_avx_functions.c:71:29: note: expanded from macro 'OP_AVX_AVX512_FUNC'
            __m512i vecB =3D  _mm512_loadu_si512((__m512*)out);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20
\
                            ^
op_avx_functions.c:455:5: error: always_inline function '_mm512_max_epu8'
requires target feature 'avx512bw',
      but would be inlined into function 'ompi_op_avx_2buff_max_uint8_t_avx=
512'
that is compiled without
      support for 'avx512bw'
op_avx_functions.c:124:5: note: expanded from macro 'OP_AVX_FUNC'
    OP_AVX_AVX512_FUNC(name, type_sign, type_size, type, op);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20
\
    ^
op_avx_functions.c:72:27: note: expanded from macro 'OP_AVX_AVX512_FUNC'
            __m512i res =3D _mm512_##op##_ep##type_sign##type_size(vecA, ve=
cB);=20
\
                          ^
<scratch space>:10:1: note: expanded from here
_mm512_max_epu8
^
op_avx_functions.c:455:5: error: always_inline function '_mm512_storeu_si51=
2'
requires target feature
      'avx512f', but would be inlined into function
'ompi_op_avx_2buff_max_uint8_t_avx512' that is compiled
      without support for 'avx512f'
op_avx_functions.c:124:5: note: expanded from macro 'OP_AVX_FUNC'
    OP_AVX_AVX512_FUNC(name, type_sign, type_size, type, op);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20
\
    ^
op_avx_functions.c:73:13: note: expanded from macro 'OP_AVX_AVX512_FUNC'
            _mm512_storeu_si512((__m512*)out, res);=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
\
            ^
op_avx_functions.c:456:5: error: always_inline function '_mm512_loadu_si512'
requires target feature 'avx512f',
      but would be inlined into function 'ompi_op_avx_2buff_max_int16_t_avx=
512'
that is compiled without
      support for 'avx512f'
    OP_AVX_FUNC(max, i, 16,  int16_t, max)
    ^
op_avx_functions.c:124:5: note: expanded from macro 'OP_AVX_FUNC'
    OP_AVX_AVX512_FUNC(name, type_sign, type_size, type, op);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20
\
    ^
op_avx_functions.c:69:29: note: expanded from macro 'OP_AVX_AVX512_FUNC'
            __m512i vecA =3D  _mm512_loadu_si512((__m512*)in);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
\
                            ^
op_avx_functions.c:456:5: error: always_inline function '_mm512_loadu_si512'
requires target feature 'avx512f',
      but would be inlined into function 'ompi_op_avx_2buff_max_int16_t_avx=
512'
that is compiled without
      support for 'avx512f'
op_avx_functions.c:124:5: note: expanded from macro 'OP_AVX_FUNC'
    OP_AVX_AVX512_FUNC(name, type_sign, type_size, type, op);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20
\
    ^
op_avx_functions.c:71:29: note: expanded from macro 'OP_AVX_AVX512_FUNC'
            __m512i vecB =3D  _mm512_loadu_si512((__m512*)out);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20
\
                            ^
op_avx_functions.c:456:5: error: always_inline function '_mm512_max_epi16'
requires target feature 'avx512bw',
      but would be inlined into function 'ompi_op_avx_2buff_max_int16_t_avx=
512'
that is compiled without
      support for 'avx512bw'
op_avx_functions.c:124:5: note: expanded from macro 'OP_AVX_FUNC'
    OP_AVX_AVX512_FUNC(name, type_sign, type_size, type, op);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20
\
    ^
op_avx_functions.c:72:27: note: expanded from macro 'OP_AVX_AVX512_FUNC'
            __m512i res =3D _mm512_##op##_ep##type_sign##type_size(vecA, ve=
cB);=20
\
                          ^
<scratch space>:22:1: note: expanded from here
_mm512_max_epi16
^
op_avx_functions.c:456:5: error: always_inline function '_mm512_storeu_si51=
2'
requires target feature
      'avx512f', but would be inlined into function
'ompi_op_avx_2buff_max_int16_t_avx512' that is compiled
      without support for 'avx512f'
op_avx_functions.c:124:5: note: expanded from macro 'OP_AVX_FUNC'
    OP_AVX_AVX512_FUNC(name, type_sign, type_size, type, op);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20
\
    ^
op_avx_functions.c:73:13: note: expanded from macro 'OP_AVX_AVX512_FUNC'
            _mm512_storeu_si512((__m512*)out, res);=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
\
            ^
op_avx_functions.c:457:5: error: always_inline function '_mm512_loadu_si512'
requires target feature 'avx512f',
      but would be inlined into function
'ompi_op_avx_2buff_max_uint16_t_avx512' that is compiled without
      support for 'avx512f'
    OP_AVX_FUNC(max, u, 16, uint16_t, max)
    ^
op_avx_functions.c:124:5: note: expanded from macro 'OP_AVX_FUNC'
    OP_AVX_AVX512_FUNC(name, type_sign, type_size, type, op);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20
\
    ^
op_avx_functions.c:69:29: note: expanded from macro 'OP_AVX_AVX512_FUNC'
            __m512i vecA =3D  _mm512_loadu_si512((__m512*)in);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
\
                            ^
op_avx_functions.c:457:5: error: always_inline function '_mm512_loadu_si512'
requires target feature 'avx512f',
      but would be inlined into function
'ompi_op_avx_2buff_max_uint16_t_avx512' that is compiled without
      support for 'avx512f'
op_avx_functions.c:124:5: note: expanded from macro 'OP_AVX_FUNC'
    OP_AVX_AVX512_FUNC(name, type_sign, type_size, type, op);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20
\
    ^
op_avx_functions.c:71:29: note: expanded from macro 'OP_AVX_AVX512_FUNC'
            __m512i vecB =3D  _mm512_loadu_si512((__m512*)out);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20
\
                            ^
op_avx_functions.c:457:5: error: always_inline function '_mm512_max_epu16'
requires target feature 'avx512bw',
      but would be inlined into function
'ompi_op_avx_2buff_max_uint16_t_avx512' that is compiled without
      support for 'avx512bw'
op_avx_functions.c:124:5: note: expanded from macro 'OP_AVX_FUNC'
    OP_AVX_AVX512_FUNC(name, type_sign, type_size, type, op);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20
\
    ^
op_avx_functions.c:72:27: note: expanded from macro 'OP_AVX_AVX512_FUNC'
            __m512i res =3D _mm512_##op##_ep##type_sign##type_size(vecA, ve=
cB);=20
\
                          ^
<scratch space>:34:1: note: expanded from here
_mm512_max_epu16
^
op_avx_functions.c:457:5: error: always_inline function '_mm512_storeu_si51=
2'
requires target feature
      'avx512f', but would be inlined into function
'ompi_op_avx_2buff_max_uint16_t_avx512' that is compiled
      without support for 'avx512f'
op_avx_functions.c:124:5: note: expanded from macro 'OP_AVX_FUNC'
    OP_AVX_AVX512_FUNC(name, type_sign, type_size, type, op);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20
\
    ^
op_avx_functions.c:73:13: note: expanded from macro 'OP_AVX_AVX512_FUNC'
            _mm512_storeu_si512((__m512*)out, res);=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
\
            ^
op_avx_functions.c:458:5: error: always_inline function '_mm512_loadu_si512'
requires target feature 'avx512f',
      but would be inlined into function 'ompi_op_avx_2buff_max_int32_t_avx=
512'
that is compiled without
      support for 'avx512f'
    OP_AVX_FUNC(max, i, 32,  int32_t, max)
    ^
op_avx_functions.c:124:5: note: expanded from macro 'OP_AVX_FUNC'
    OP_AVX_AVX512_FUNC(name, type_sign, type_size, type, op);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20
\
    ^
op_avx_functions.c:69:29: note: expanded from macro 'OP_AVX_AVX512_FUNC'
            __m512i vecA =3D  _mm512_loadu_si512((__m512*)in);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
\
                            ^
op_avx_functions.c:458:5: error: always_inline function '_mm512_loadu_si512'
requires target feature 'avx512f',
      but would be inlined into function 'ompi_op_avx_2buff_max_int32_t_avx=
512'
that is compiled without
      support for 'avx512f'
op_avx_functions.c:124:5: note: expanded from macro 'OP_AVX_FUNC'
    OP_AVX_AVX512_FUNC(name, type_sign, type_size, type, op);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20
\
    ^
op_avx_functions.c:71:29: note: expanded from macro 'OP_AVX_AVX512_FUNC'
            __m512i vecB =3D  _mm512_loadu_si512((__m512*)out);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20
\
                            ^
op_avx_functions.c:458:5: error: always_inline function '_mm512_max_epi32'
requires target feature 'avx512f',
      but would be inlined into function 'ompi_op_avx_2buff_max_int32_t_avx=
512'
that is compiled without
      support for 'avx512f'
op_avx_functions.c:124:5: note: expanded from macro 'OP_AVX_FUNC'
    OP_AVX_AVX512_FUNC(name, type_sign, type_size, type, op);=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20
\
    ^
op_avx_functions.c:72:27: note: expanded from macro 'OP_AVX_AVX512_FUNC'
            __m512i res =3D _mm512_##op##_ep##type_sign##type_size(vecA, ve=
cB);=20
\
                          ^
<scratch space>:46:1: note: expanded from here
_mm512_max_epi32
^
fatal error: too many errors emitted, stopping now [-ferror-limit=3D]
20 errors generated.
gmake[4]: *** [Makefile:1991: liblocal_ops_avx512_la-op_avx_functions.lo] E=
rror
1
gmake[4]: Leaving directory
'/d2/obj/d2/ports/net/openmpi/work/openmpi-4.1.0/ompi/mca/op/avx'
gmake[3]: *** [Makefile:3555: all-recursive] Error 1
gmake[3]: Leaving directory
'/d2/obj/d2/ports/net/openmpi/work/openmpi-4.1.0/ompi'
gmake[2]: *** [Makefile:1901: all-recursive] Error 1
gmake[2]: Leaving directory '/d2/obj/d2/ports/net/openmpi/work/openmpi-4.1.=
0'
=3D=3D=3D> Compilation failed unexpectedly.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-252597-7788>