Support for more AVX512 ISA was added in various compiler releases. For
example in GCC, increasing AVX512 ISA support was added in GCC 4.9, 5
and then 7. Depending on the GCC version, none, some or all of the
AVX512 code in OVS can be built. This patchset adds support for the
"some" case, where currently, we build all or none of the AVX512 code.

For my testing on Ubuntu 20.04, the below steps were very helpful for
installing and switching between different GCC versions.
https://askubuntu.com/a/1313032

v3:
* Add a patch which fixes a warning in the AVX512 code when building
  with GCC 5.
* Preserve the order of the mfex impl list. v2 changed this order. We
  want the order to be preserved because VBMI functions should be chosen
  by the mfex study impl where possible.

v2:
* Add a commit to fix a typo present on OVS master code VMBI -> VBMI.
* Don't register vbmi specialized mfex impls unless VBMI is actually
  available.
  * This required some re-ordering of the mfex impl lists.


Cian Ferriter (6):
  dpif-netdev-private-extract: Fix typo VMBI -> VBMI.
  dpif-netdev-lookup: Fix GCC 5 warning.
  dpif-netdev-extract: Remove ISA compiler target for mfex.
  acinclude: Add seperate check for AVX512BW and AVX512DQ ISA.
  acinclude: Add seperate check for AVX512VBMI ISA.
  acinclude: Add seperate check for AVX512VPOPCNTDQ ISA.

 acinclude.m4                           | 45 +++++++++++++++++++++++++-
 configure.ac                           |  3 ++
 lib/automake.mk                        | 12 ++++---
 lib/dpif-netdev-extract-avx512.c       | 25 ++++++++++----
 lib/dpif-netdev-lookup-avx512-gather.c | 12 +++++--
 lib/dpif-netdev-lookup.c               |  3 +-
 lib/dpif-netdev-private-extract.c      | 26 ++++++++-------
 lib/dpif-netdev-private-extract.h      | 29 +++++++++++++----
 8 files changed, 122 insertions(+), 33 deletions(-)

-- 
2.25.1

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to