[dpdk-dev] [PATCH 20.11 00/12] add max SIMD bitwidth to EAL

Power, Ciara ciara.power at intel.com
Mon Aug 10 11:52:20 CEST 2020


Hi Stephen,

To give an overview of the rationale behind the patchset:
-  It allows other apps such as OVS and VPP which already make use of
   AVX-512 to indicate that they are happy for DPDK to use AVX-512 too.
-  It allows the end-user to override those settings if so desired.
-  It allows an easy way for the user to test with different vector paths by
   limiting bitwidths.

I can add some documentation for this in a v2, thanks for the suggestion.

- Ciara


>-----Original Message-----
>From: Stephen Hemminger <stephen at networkplumber.org>
>Sent: Friday 7 August 2020 17:19
>To: Power, Ciara <ciara.power at intel.com>
>Cc: dev at dpdk.org; Richardson, Bruce <bruce.richardson at intel.com>
>Subject: Re: [dpdk-dev] [PATCH 20.11 00/12] add max SIMD bitwidth to EAL
>
>On Fri,  7 Aug 2020 16:58:47 +0100
>Ciara Power <ciara.power at intel.com> wrote:
>
>> A number of components in DPDK have optional AVX-512 or other vector
>> code paths which can be selected at runtime. Rather than having each
>> component provide its own mechanism to select a code path, this
>> patchset adds support for a single setting to control what code paths are
>used.
>> This can be used to enable some non-default code paths e.g. ones using
>> AVX-512, but also to limit the code paths to certain vector widths, or
>> to scalar code only, which is useful for testing.
>>
>> The max SIMD bitwidth setting can be set by the app itself through use
>> of the available API, or can be overriden by a commandline argument
>> passed by the user.
>>
>> Ciara Power (12):
>>   eal: add max SIMD bitwidth
>>   eal: add default SIMD bitwidth values
>>   net/i40e: add checks for max SIMD bitwidth
>>   net/axgbe: add checks for max SIMD bitwidth
>>   net/bnxt: add checks for max SIMD bitwidth
>>   net/enic: add checks for max SIMD bitwidth
>>   net/fm10k: add checks for max SIMD bitwidth
>>   net/iavf: add checks for max SIMD bitwidth
>>   net/ice: add checks for max SIMD bitwidth
>>   net/ixgbe: add checks for max SIMD bitwidth
>>   net/mlx5: add checks for max SIMD bitwidth
>>   net/virtio: add checks for max SIMD bitwidth
>>
>>  drivers/net/axgbe/axgbe_rxtx.c             |  3 +-
>>  drivers/net/bnxt/bnxt_ethdev.c             |  6 ++-
>>  drivers/net/enic/enic_rxtx_vec_avx2.c      |  3 +-
>>  drivers/net/fm10k/fm10k_ethdev.c           | 11 ++--
>>  drivers/net/i40e/i40e_rxtx.c               | 19 ++++---
>>  drivers/net/iavf/iavf_rxtx.c               | 16 +++---
>>  drivers/net/ice/ice_rxtx.c                 | 20 ++++---
>>  drivers/net/ixgbe/ixgbe_rxtx.c             |  7 ++-
>>  drivers/net/mlx5/mlx5_ethdev.c             |  3 +-
>>  drivers/net/virtio/virtio_ethdev.c         | 12 +++--
>>  lib/librte_eal/arm/include/rte_vect.h      |  2 +
>>  lib/librte_eal/common/eal_common_options.c | 63
>++++++++++++++++++++++
>>  lib/librte_eal/common/eal_internal_cfg.h   |  8 +++
>>  lib/librte_eal/common/eal_options.h        |  2 +
>>  lib/librte_eal/include/generic/rte_vect.h  |  2 +
>>  lib/librte_eal/include/rte_eal.h           | 31 +++++++++++
>>  lib/librte_eal/ppc/include/rte_vect.h      |  2 +
>>  lib/librte_eal/rte_eal_version.map         |  4 ++
>>  lib/librte_eal/x86/include/rte_vect.h      |  2 +
>>  19 files changed, 184 insertions(+), 32 deletions(-)
>>
>
>This looks useful, could you add some documentation on rationale and how
>you expect application to set it.


More information about the dev mailing list