[dpdk-dev] Build failures in 21.11-rc2

7 messages, 4 authors, 2021-11-09 · open the first message on its own page

[dpdk-dev] Build failures in 21.11-rc2

From: Lance Richardson <hidden>
Date: 2021-11-09 15:53:39

21.11-rc2 builds are failing on CentOS 8.4, apparently because
the intrinsic _mm512_set_epi8() is not defined in the GCC
headers (see example below).

Perhaps code using _mm512_set_epi8() could be reworked to
avoid that intrinsic, or maybe support could be detected at build
configuration time and definitions for them could be provided in
DPDK headers.

Here is a GCC patch to add this intrinsic:
https://www.mail-archive.com/gcc-patches@gcc.gnu.org/msg188664.html

BTW, GCC 10.2.1 (via "scl enable gcc-toolset-10") is able to build
21.11-rc2 successfully on CentOS 8.4.

    Lance

# gcc --version
gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1)
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

In file included from ../lib/hash/rte_thash_gfni.h:16,
                 from ../lib/hash/rte_thash.h:27,
                 from ../lib/hash/rte_thash.c:7:
../lib/hash/rte_thash_x86_gfni.h: In function ‘__rte_thash_gfni’:
../lib/hash/rte_thash_x86_gfni.h:59:24: error: implicit declaration of
function ‘_mm512_set_epi8’; did you mean ‘_mm512_set1_epi8’?
[-Werror=implicit-function-declaration]
  __m512i permute_idx = _mm512_set_epi8(7, 6, 5, 4, 7, 6, 5, 4,
                        ^~~~~~~~~~~~~~~
                        _mm512_set1_epi8

Re: [dpdk-dev] Build failures in 21.11-rc2

From: David Marchand <hidden>
Date: 2021-11-09 15:57:51

On Tue, Nov 9, 2021 at 4:53 PM Lance Richardson
[off-list ref] wrote:
21.11-rc2 builds are failing on CentOS 8.4, apparently because
the intrinsic _mm512_set_epi8() is not defined in the GCC
headers (see example below).
Thanks for reporting Lance.
It rings a bell, think it was mentionned in the past.
Perhaps code using _mm512_set_epi8() could be reworked to
avoid that intrinsic, or maybe support could be detected at build
configuration time and definitions for them could be provided in
DPDK headers.

Here is a GCC patch to add this intrinsic:
https://www.mail-archive.com/gcc-patches@gcc.gnu.org/msg188664.html

BTW, GCC 10.2.1 (via "scl enable gcc-toolset-10") is able to build
21.11-rc2 successfully on CentOS 8.4.

    Lance

# gcc --version
gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1)
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

In file included from ../lib/hash/rte_thash_gfni.h:16,
                 from ../lib/hash/rte_thash.h:27,
                 from ../lib/hash/rte_thash.c:7:
../lib/hash/rte_thash_x86_gfni.h: In function ‘__rte_thash_gfni’:
../lib/hash/rte_thash_x86_gfni.h:59:24: error: implicit declaration of
function ‘_mm512_set_epi8’; did you mean ‘_mm512_set1_epi8’?
[-Werror=implicit-function-declaration]
  __m512i permute_idx = _mm512_set_epi8(7, 6, 5, 4, 7, 6, 5, 4,
                        ^~~~~~~~~~~~~~~
                        _mm512_set1_epi8
Vladimir, can you reimplement this part without relying on _mm512_set_epi8?
Thanks.



-- 
David Marchand

Re: [dpdk-dev] Build failures in 21.11-rc2

From: Thomas Monjalon <hidden>
Date: 2021-11-09 16:08:08

09/11/2021 16:57, David Marchand:
On Tue, Nov 9, 2021 at 4:53 PM Lance Richardson
[off-list ref] wrote:
quoted
21.11-rc2 builds are failing on CentOS 8.4, apparently because
the intrinsic _mm512_set_epi8() is not defined in the GCC
headers (see example below).
Thanks for reporting Lance.
It rings a bell, think it was mentionned in the past.
CI compilation was passing:
http://mails.dpdk.org/archives/test-report/2021-November/238534.html
I would like to better understand.

[...]
quoted
Here is a GCC patch to add this intrinsic:
https://www.mail-archive.com/gcc-patches@gcc.gnu.org/msg188664.html

BTW, GCC 10.2.1 (via "scl enable gcc-toolset-10") is able to build
21.11-rc2 successfully on CentOS 8.4.

    Lance

# gcc --version
gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1)
[...]
quoted
../lib/hash/rte_thash_x86_gfni.h:59:24: error: implicit declaration of
function ‘_mm512_set_epi8’; did you mean ‘_mm512_set1_epi8’?
What is different in your setup compared to the CI?

Re: [dpdk-dev] Build failures in 21.11-rc2

From: Lance Richardson <hidden>
Date: 2021-11-09 16:12:35

Do the machines used for the CentOS 8 CI builds support AVX512?

The failing build is on an Ice Lake server with:
     meson -Dmachine=native build
     ninja -C build

On Tue, Nov 9, 2021 at 11:08 AM Thomas Monjalon [off-list ref] wrote:
09/11/2021 16:57, David Marchand:
quoted
On Tue, Nov 9, 2021 at 4:53 PM Lance Richardson
[off-list ref] wrote:
quoted
21.11-rc2 builds are failing on CentOS 8.4, apparently because
the intrinsic _mm512_set_epi8() is not defined in the GCC
headers (see example below).
Thanks for reporting Lance.
It rings a bell, think it was mentionned in the past.
CI compilation was passing:
http://mails.dpdk.org/archives/test-report/2021-November/238534.html
I would like to better understand.

[...]
quoted
quoted
Here is a GCC patch to add this intrinsic:
https://www.mail-archive.com/gcc-patches@gcc.gnu.org/msg188664.html

BTW, GCC 10.2.1 (via "scl enable gcc-toolset-10") is able to build
21.11-rc2 successfully on CentOS 8.4.

    Lance

# gcc --version
gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1)
[...]
quoted
quoted
../lib/hash/rte_thash_x86_gfni.h:59:24: error: implicit declaration of
function ‘_mm512_set_epi8’; did you mean ‘_mm512_set1_epi8’?
What is different in your setup compared to the CI?

Re: [dpdk-dev] Build failures in 21.11-rc2

From: Thomas Monjalon <hidden>
Date: 2021-11-09 16:15:12

09/11/2021 17:12, Lance Richardson:
Do the machines used for the CentOS 8 CI builds support AVX512?
Probably not. OK thank you.
The failing build is on an Ice Lake server with:
     meson -Dmachine=native build
     ninja -C build

On Tue, Nov 9, 2021 at 11:08 AM Thomas Monjalon [off-list ref] wrote:
quoted
09/11/2021 16:57, David Marchand:
quoted
On Tue, Nov 9, 2021 at 4:53 PM Lance Richardson
[off-list ref] wrote:
quoted
21.11-rc2 builds are failing on CentOS 8.4, apparently because
the intrinsic _mm512_set_epi8() is not defined in the GCC
headers (see example below).
Thanks for reporting Lance.
It rings a bell, think it was mentionned in the past.
CI compilation was passing:
http://mails.dpdk.org/archives/test-report/2021-November/238534.html
I would like to better understand.

[...]
quoted
quoted
Here is a GCC patch to add this intrinsic:
https://www.mail-archive.com/gcc-patches@gcc.gnu.org/msg188664.html

BTW, GCC 10.2.1 (via "scl enable gcc-toolset-10") is able to build
21.11-rc2 successfully on CentOS 8.4.

    Lance

# gcc --version
gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1)
[...]
quoted
quoted
../lib/hash/rte_thash_x86_gfni.h:59:24: error: implicit declaration of
function ‘_mm512_set_epi8’; did you mean ‘_mm512_set1_epi8’?
What is different in your setup compared to the CI?

Re: [dpdk-dev] Build failures in 21.11-rc2

From: Lance Richardson <hidden>
Date: 2021-11-09 16:22:57

Based on the CI build logs, the target architecture was Skylake, which
supports AVX512 but doesn't support GFNI.

On Tue, Nov 9, 2021 at 11:15 AM Thomas Monjalon [off-list ref] wrote:
09/11/2021 17:12, Lance Richardson:
quoted
Do the machines used for the CentOS 8 CI builds support AVX512?
Probably not. OK thank you.
quoted
The failing build is on an Ice Lake server with:
     meson -Dmachine=native build
     ninja -C build

On Tue, Nov 9, 2021 at 11:08 AM Thomas Monjalon [off-list ref] wrote:
quoted
09/11/2021 16:57, David Marchand:
quoted
On Tue, Nov 9, 2021 at 4:53 PM Lance Richardson
[off-list ref] wrote:
quoted
21.11-rc2 builds are failing on CentOS 8.4, apparently because
the intrinsic _mm512_set_epi8() is not defined in the GCC
headers (see example below).
Thanks for reporting Lance.
It rings a bell, think it was mentionned in the past.
CI compilation was passing:
http://mails.dpdk.org/archives/test-report/2021-November/238534.html
I would like to better understand.

[...]
quoted
quoted
Here is a GCC patch to add this intrinsic:
https://www.mail-archive.com/gcc-patches@gcc.gnu.org/msg188664.html

BTW, GCC 10.2.1 (via "scl enable gcc-toolset-10") is able to build
21.11-rc2 successfully on CentOS 8.4.

    Lance

# gcc --version
gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1)
[...]
quoted
quoted
../lib/hash/rte_thash_x86_gfni.h:59:24: error: implicit declaration of
function ‘_mm512_set_epi8’; did you mean ‘_mm512_set1_epi8’?
What is different in your setup compared to the CI?

Re: [dpdk-dev] Build failures in 21.11-rc2

From: Medvedkin, Vladimir <hidden>
Date: 2021-11-09 16:44:17

Hi all,

It looks like the problem caused by the lack of _mm512_set1_epi8() 
implementation inside the gcc8, however _mm512_set1_epi[16,32,64] has 
been implemented.
I replaced it with _mm512_set1_epi32 and on gcc8 it builds fine. I'll 
send a fix soon.

On 09/11/2021 17:22, Lance Richardson wrote:
Based on the CI build logs, the target architecture was Skylake, which
supports AVX512 but doesn't support GFNI.

On Tue, Nov 9, 2021 at 11:15 AM Thomas Monjalon [off-list ref] wrote:
quoted
09/11/2021 17:12, Lance Richardson:
quoted
Do the machines used for the CentOS 8 CI builds support AVX512?
Probably not. OK thank you.
quoted
The failing build is on an Ice Lake server with:
      meson -Dmachine=native build
      ninja -C build

On Tue, Nov 9, 2021 at 11:08 AM Thomas Monjalon [off-list ref] wrote:
quoted
09/11/2021 16:57, David Marchand:
quoted
On Tue, Nov 9, 2021 at 4:53 PM Lance Richardson
[off-list ref] wrote:
quoted
21.11-rc2 builds are failing on CentOS 8.4, apparently because
the intrinsic _mm512_set_epi8() is not defined in the GCC
headers (see example below).
Thanks for reporting Lance.
It rings a bell, think it was mentionned in the past.
CI compilation was passing:
http://mails.dpdk.org/archives/test-report/2021-November/238534.html
I would like to better understand.

[...]
quoted
quoted
Here is a GCC patch to add this intrinsic:
https://www.mail-archive.com/gcc-patches@gcc.gnu.org/msg188664.html

BTW, GCC 10.2.1 (via "scl enable gcc-toolset-10") is able to build
21.11-rc2 successfully on CentOS 8.4.

     Lance

# gcc --version
gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1)
[...]
quoted
quoted
../lib/hash/rte_thash_x86_gfni.h:59:24: error: implicit declaration of
function ‘_mm512_set_epi8’; did you mean ‘_mm512_set1_epi8’?
What is different in your setup compared to the CI?
-- 
Regards,
Vladimir
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help