[dpdk-dev] [PATCH v1 1/2] net/ice: add AVX512 vector path
Bruce Richardson
bruce.richardson at intel.com
Thu Sep 10 11:32:34 CEST 2020
On Thu, Sep 10, 2020 at 02:55:03PM +0800, Leyi Rong wrote:
> Add AVX512 support for ice PMD. This patch adds ice_rxtx_vec_avx512.c
> to support ice AVX512 vPMD.
>
> This patch aims to enable AVX512 on ice vPMD. Main changes are focus
> on Rx path compared with AVX2 vPMD.
>
> Signed-off-by: Leyi Rong <leyi.rong at intel.com>
> Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
> ---
> drivers/net/ice/ice_rxtx.c | 88 ++-
> drivers/net/ice/ice_rxtx.h | 7 +
> drivers/net/ice/ice_rxtx_vec_avx512.c | 824 ++++++++++++++++++++++++++
> drivers/net/ice/meson.build | 13 +
> 4 files changed, 914 insertions(+), 18 deletions(-)
> create mode 100644 drivers/net/ice/ice_rxtx_vec_avx512.c
<snip>
> + if dpdk_conf.has('RTE_MACHINE_CPUFLAG_AVX512F') or not machine_args.contains('-mno-avx512f')
I think you need to split these conditions:
If the cpu flag is set, you just want to unconditionally add the file to
the build list. However, if no-avx512 flag is set, you want to skip the
whole block completely.
> + if cc.has_argument('-mavx512f') and cc.has_argument('-mavx512bw')
> + cflags += ['-DCC_AVX512_SUPPORT']
> + ice_avx512_lib = static_library('ice_avx512_lib',
> + 'ice_rxtx_vec_avx512.c',
> + dependencies: [static_rte_ethdev,
> + static_rte_kvargs, static_rte_hash],
> + include_directories: includes,
> + c_args: [cflags, '-march=skylake-avx512', '-mavx512f'])
> + objs += ice_avx512_lib.extract_objects('ice_rxtx_vec_avx512.c')
> + endif
> + endif
> endif
>
> sources += files('ice_dcf.c',
> --
> 2.17.1
>
More information about the dev
mailing list