[dpdk-dev] [PATCH v3 0/8] fib: implement AVX512 vector lookup

Medvedkin, Vladimir vladimir.medvedkin at intel.com
Fri Jun 19 12:34:26 CEST 2020


Waiting for reviews please.

On 19/05/2020 13:12, Vladimir Medvedkin wrote:
> This patch series implements vectorized lookup using AVX512 for
> ipv4 dir24_8 and ipv6 trie algorithms.
> Also introduced rte_fib_set_lookup_fn() to change lookup function type.
> Added option to select lookup function type in testfib application.
>
> v3:
>   - separate out the AVX-512 code into a separate file
>
> v2:
>   - rename rte_zmm to __rte_x86_zmm to reflect its internal usage
>   - make runtime decision to use avx512 lookup
>
> Vladimir Medvedkin (8):
>    eal: introduce zmm type for AVX 512-bit
>    fib: make lookup function type configurable
>    fib: move lookup definition into the header file
>    fib: introduce AVX512 lookup
>    fib6: make lookup function type configurable
>    fib6: move lookup definition into the header file
>    fib6: introduce AVX512 lookup
>    app/testfib: add support for different lookup functions
>
>   app/test-fib/main.c                   |  58 ++++++-
>   lib/librte_eal/x86/include/rte_vect.h |  20 +++
>   lib/librte_fib/Makefile               |  24 +++
>   lib/librte_fib/dir24_8.c              | 281 ++++++----------------------------
>   lib/librte_fib/dir24_8.h              | 226 ++++++++++++++++++++++++++-
>   lib/librte_fib/dir24_8_avx512.c       | 165 ++++++++++++++++++++
>   lib/librte_fib/dir24_8_avx512.h       |  24 +++
>   lib/librte_fib/meson.build            |  20 +++
>   lib/librte_fib/rte_fib.c              |  20 ++-
>   lib/librte_fib/rte_fib.h              |  23 +++
>   lib/librte_fib/rte_fib6.c             |  19 ++-
>   lib/librte_fib/rte_fib6.h             |  21 +++
>   lib/librte_fib/rte_fib_version.map    |   2 +
>   lib/librte_fib/trie.c                 | 161 ++++---------------
>   lib/librte_fib/trie.h                 | 119 +++++++++++++-
>   lib/librte_fib/trie_avx512.c          | 269 ++++++++++++++++++++++++++++++++
>   lib/librte_fib/trie_avx512.h          |  20 +++
>   17 files changed, 1100 insertions(+), 372 deletions(-)
>   create mode 100644 lib/librte_fib/dir24_8_avx512.c
>   create mode 100644 lib/librte_fib/dir24_8_avx512.h
>   create mode 100644 lib/librte_fib/trie_avx512.c
>   create mode 100644 lib/librte_fib/trie_avx512.h
>
-- 
Regards,
Vladimir



More information about the dev mailing list