Re: [RFC PATCH v4 1/4] dts: code adjustments for sphinx

2023-10-22 Thread Yoan Picchi
On 8/31/23 11:04, Juraj Linkeš wrote: sphinx-build only imports the Python modules when building the documentation; it doesn't run DTS. This requires changes that make the code importable without running it. This means: * properly guarding argument parsing in the if __name__ == '__main__' bloc

[PATCH v2 0/4] hash: add SVE support for bulk key lookup

2023-10-23 Thread Yoan Picchi
the optimized neon (ran on a graviton 3 cloud instance) 256b SVE is about 0-3% slower than the optimized neon (ran on a graviton 3 cloud instance) Yoan Picchi (4): hash: pack the hitmask for hash in bulk lookup hash: optimize compare signature for NEON test/hash: check bulk lookup

[PATCH v2 1/4] hash: pack the hitmask for hash in bulk lookup

2023-10-23 Thread Yoan Picchi
Current hitmask includes padding due to Intel's SIMD implementation detail. This patch allows non Intel SIMD implementations to benefit from a dense hitmask. Signed-off-by: Yoan Picchi --- .mailmap | 2 + lib/hash/rte_cuckoo_hash.c

[PATCH v2 2/4] hash: optimize compare signature for NEON

2023-10-23 Thread Yoan Picchi
Upon a successful comparison, NEON sets all the bits in the lane to 1 We can skip shifting by simply masking with specific masks. Signed-off-by: Yoan Picchi --- lib/hash/rte_cuckoo_hash.c | 16 +++- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/lib/hash

[PATCH v2 3/4] test/hash: check bulk lookup of keys after collision

2023-10-23 Thread Yoan Picchi
This patch adds unit test for rte_hash_lookup_bulk(). It also update the test_full_bucket test to the current number of entries in a hash bucket. Signed-off-by: Yoan Picchi Signed-off-by: Harjot Singh --- app/test/test_hash.c | 99 ++-- 1 file changed

[PATCH v2 4/4] hash: add SVE support for bulk key lookup

2023-10-23 Thread Yoan Picchi
- Implemented SVE code for comparing signatures in bulk lookup. - Added Defines in code for SVE code support. - Optimise NEON code - New SVE code is ~3% slower than optimized NEON for N2 processor. Signed-off-by: Yoan Picchi Signed-off-by: Harjot Singh --- lib/hash/rte_cuckoo_hash.c | 196

Re: [RFC PATCH v4 1/4] dts: code adjustments for sphinx

2023-10-23 Thread Yoan Picchi
On 10/23/23 07:44, Juraj Linkeš wrote: My only nitpick comment would be on the name of the file common.py that only contain the MesonArgs class. Looks good otherwise Could you elaborate a bit more, Yoan? The common.py module is supposed to be extended with code common to all other modules i

Re: [RFC PATCH v4 1/4] dts: code adjustments for sphinx

2023-10-24 Thread Yoan Picchi
On 10/24/23 07:39, Juraj Linkeš wrote: On Mon, Oct 23, 2023 at 1:52 PM Yoan Picchi wrote: On 10/23/23 07:44, Juraj Linkeš wrote: My only nitpick comment would be on the name of the file common.py that only contain the MesonArgs class. Looks good otherwise Could you elaborate a bit more

Re: [RFC PATCH v4 3/4] dts: add doc generation

2023-10-26 Thread Yoan Picchi
On 8/31/23 11:04, Juraj Linkeš wrote: The tool used to generate developer docs is sphinx, which is already used in DPDK. The configuration is kept the same to preserve the style. Sphinx generates the documentation from Python docstrings. The docstring format most suitable for DTS seems to be the

[PATCH v4 0/4] hash: add SVE support for bulk key lookup

2024-02-26 Thread Yoan Picchi
>V4: Rebase *** BLURB HERE *** Yoan Picchi (4): hash: pack the hitmask for hash in bulk lookup hash: optimize compare signature for NEON test/hash: check bulk lookup of keys after collision hash: add SVE support for bulk key lookup .mailmap | 2 + app/test/test_

[PATCH v4 1/4] hash: pack the hitmask for hash in bulk lookup

2024-02-26 Thread Yoan Picchi
Current hitmask includes padding due to Intel's SIMD implementation detail. This patch allows non Intel SIMD implementations to benefit from a dense hitmask. Signed-off-by: Yoan Picchi Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- .mailmap | 2 + lib

[PATCH v4 2/4] hash: optimize compare signature for NEON

2024-02-26 Thread Yoan Picchi
Upon a successful comparison, NEON sets all the bits in the lane to 1 We can skip shifting by simply masking with specific masks. Signed-off-by: Yoan Picchi Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- lib/hash/rte_cuckoo_hash.c | 16 +++- 1 file changed, 7 insertions

[PATCH v4 3/4] test/hash: check bulk lookup of keys after collision

2024-02-26 Thread Yoan Picchi
This patch adds unit test for rte_hash_lookup_bulk(). It also update the test_full_bucket test to the current number of entries in a hash bucket. Signed-off-by: Yoan Picchi Signed-off-by: Harjot Singh Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- app/test/test_hash.c | 99

[PATCH v4 4/4] hash: add SVE support for bulk key lookup

2024-02-26 Thread Yoan Picchi
- Implemented SVE code for comparing signatures in bulk lookup. - Added Defines in code for SVE code support. - Optimise NEON code - New SVE code is ~5% slower than optimized NEON for N2 processor. Signed-off-by: Yoan Picchi Signed-off-by: Harjot Singh Reviewed-by: Nathan Brown Reviewed-by

[PATCH v4 0/4] hash: add SVE support for bulk key lookup

2024-02-26 Thread Yoan Picchi
>V4: Rebase Yoan Picchi (4): hash: pack the hitmask for hash in bulk lookup hash: optimize compare signature for NEON test/hash: check bulk lookup of keys after collision hash: add SVE support for bulk key lookup .mailmap | 2 + app/test/test_hash.c

[PATCH v4 1/4] hash: pack the hitmask for hash in bulk lookup

2024-02-26 Thread Yoan Picchi
Current hitmask includes padding due to Intel's SIMD implementation detail. This patch allows non Intel SIMD implementations to benefit from a dense hitmask. Signed-off-by: Yoan Picchi Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- .mailmap | 2 + lib

[PATCH v4 2/4] hash: optimize compare signature for NEON

2024-02-26 Thread Yoan Picchi
Upon a successful comparison, NEON sets all the bits in the lane to 1 We can skip shifting by simply masking with specific masks. Signed-off-by: Yoan Picchi Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- lib/hash/rte_cuckoo_hash.c | 16 +++- 1 file changed, 7 insertions

[PATCH v4 4/4] hash: add SVE support for bulk key lookup

2024-02-26 Thread Yoan Picchi
- Implemented SVE code for comparing signatures in bulk lookup. - Added Defines in code for SVE code support. - Optimise NEON code - New SVE code is ~5% slower than optimized NEON for N2 processor. Signed-off-by: Yoan Picchi Signed-off-by: Harjot Singh Reviewed-by: Nathan Brown Reviewed-by

[PATCH v4 3/4] test/hash: check bulk lookup of keys after collision

2024-02-26 Thread Yoan Picchi
This patch adds unit test for rte_hash_lookup_bulk(). It also update the test_full_bucket test to the current number of entries in a hash bucket. Signed-off-by: Yoan Picchi Signed-off-by: Harjot Singh Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- app/test/test_hash.c | 99

[PATCH v5 2/4] hash: optimize compare signature for NEON

2024-02-27 Thread Yoan Picchi
Upon a successful comparison, NEON sets all the bits in the lane to 1 We can skip shifting by simply masking with specific masks. Signed-off-by: Yoan Picchi Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- lib/hash/rte_cuckoo_hash.c | 16 +++- 1 file changed, 7 insertions

[PATCH v5 0/4] hash: add SVE support for bulk key lookup

2024-02-27 Thread Yoan Picchi
From: Yoan Picchi This patchset adds SVE support for the signature comparison in the cuckoo hash lookup and improves the existing NEON implementation. These optimizations required changes to the data format and signature of the relevant functions to support dense hitmasks (no padding) and having

[PATCH v5 3/4] test/hash: check bulk lookup of keys after collision

2024-02-27 Thread Yoan Picchi
This patch adds unit test for rte_hash_lookup_bulk(). It also update the test_full_bucket test to the current number of entries in a hash bucket. Signed-off-by: Yoan Picchi Signed-off-by: Harjot Singh Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- app/test/test_hash.c | 99

[PATCH v5 1/4] hash: pack the hitmask for hash in bulk lookup

2024-02-27 Thread Yoan Picchi
Current hitmask includes padding due to Intel's SIMD implementation detail. This patch allows non Intel SIMD implementations to benefit from a dense hitmask. Signed-off-by: Yoan Picchi Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- .mailmap | 2 + lib

[PATCH v5 4/4] hash: add SVE support for bulk key lookup

2024-02-27 Thread Yoan Picchi
- Implemented SVE code for comparing signatures in bulk lookup. - Added Defines in code for SVE code support. - Optimise NEON code - New SVE code is ~5% slower than optimized NEON for N2 processor. Signed-off-by: Yoan Picchi Signed-off-by: Harjot Singh Reviewed-by: Nathan Brown Reviewed-by

Re: [PATCH v5 4/4] hash: add SVE support for bulk key lookup

2024-02-28 Thread Yoan Picchi
On 2/28/24 10:56, Konstantin Ananyev wrote: - Implemented SVE code for comparing signatures in bulk lookup. - Added Defines in code for SVE code support. - Optimise NEON code - New SVE code is ~5% slower than optimized NEON for N2 processor. Signed-off-by: Yoan Picchi Signed-off-by: Harjot

[PATCH v9 0/4] hash: add SVE support for bulk key lookup

2024-04-30 Thread Yoan Picchi
and missing spaces V8->V9: Use __rte_unused instead of (void) Fix an indentation mistake Yoan Picchi (4): hash: pack the hitmask for hash in bulk lookup hash: optimize compare signature for NEON test/hash: check bulk lookup of keys after collision hash: add SVE support for bulk

[PATCH v9 1/4] hash: pack the hitmask for hash in bulk lookup

2024-04-30 Thread Yoan Picchi
uture improvements for the SIMD implementations The default non SIMD path now use this dense mask. Signed-off-by: Yoan Picchi Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- .mailmap | 2 + lib/hash/arch/arm/compare_signatures.h| 61 +++ lib/hash/arch/c

[PATCH v9 2/4] hash: optimize compare signature for NEON

2024-04-30 Thread Yoan Picchi
Upon a successful comparison, NEON sets all the bits in the lane to 1 We can skip shifting by simply masking with specific masks. Signed-off-by: Yoan Picchi Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- lib/hash/arch/arm/compare_signatures.h | 24 +++- 1 file

[PATCH v9 3/4] test/hash: check bulk lookup of keys after collision

2024-04-30 Thread Yoan Picchi
This patch adds unit test for rte_hash_lookup_bulk(). It also update the test_full_bucket test to the current number of entries in a hash bucket. Signed-off-by: Yoan Picchi Signed-off-by: Harjot Singh Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- app/test/test_hash.c | 99

[PATCH v9 4/4] hash: add SVE support for bulk key lookup

2024-04-30 Thread Yoan Picchi
- Implemented SVE code for comparing signatures in bulk lookup. - New SVE code is ~5% slower than optimized NEON for N2 processor for 128b vectors. Signed-off-by: Yoan Picchi Signed-off-by: Harjot Singh Reviewed-by: Nathan Brown Reviewed-by: Ruifeng Wang --- lib/hash/arch/arm

[PATCH v10 0/4] hash: add SVE support for bulk key lookup

2024-07-03 Thread Yoan Picchi
ated static check Move rte_hash_sig_compare_function's definition into a private header Yoan Picchi (4): hash: pack the hitmask for hash in bulk lookup hash: optimize compare signature for NEON test/hash: check bulk lookup of keys after collision hash: add SVE support for bulk key lookup .mailmap

[PATCH v10 2/4] hash: optimize compare signature for NEON

2024-07-03 Thread Yoan Picchi
Upon a successful comparison, NEON sets all the bits in the lane to 1 We can skip shifting by simply masking with specific masks. Signed-off-by: Yoan Picchi Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- lib/hash/compare_signatures_arm_pvt.h | 22 +++--- 1 file

[PATCH v10 3/4] test/hash: check bulk lookup of keys after collision

2024-07-03 Thread Yoan Picchi
This patch adds unit test for rte_hash_lookup_bulk(). It also update the test_full_bucket test to the current number of entries in a hash bucket. Signed-off-by: Yoan Picchi Signed-off-by: Harjot Singh Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- .mailmap | 1 + app

[PATCH v10 1/4] hash: pack the hitmask for hash in bulk lookup

2024-07-03 Thread Yoan Picchi
uture improvements for the SIMD implementations The default non SIMD path now use this dense mask. Signed-off-by: Yoan Picchi Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- .mailmap | 1 + lib/hash/compare_signatures_arm_pvt.h | 60 +++ lib

[PATCH v10 4/4] hash: add SVE support for bulk key lookup

2024-07-03 Thread Yoan Picchi
- Implemented SVE code for comparing signatures in bulk lookup. - New SVE code is ~5% slower than optimized NEON for N2 processor for 128b vectors. Signed-off-by: Yoan Picchi Signed-off-by: Harjot Singh Reviewed-by: Nathan Brown Reviewed-by: Ruifeng Wang --- lib/hash

Re: [PATCH v10 1/4] hash: pack the hitmask for hash in bulk lookup

2024-07-05 Thread Yoan Picchi
I'll push a v11 tonight. There is a couple of comments I disagree with tough: On 7/4/24 21:31, David Marchand wrote: Hello Yoan, On Wed, Jul 3, 2024 at 7:13 PM Yoan Picchi wrote: Current hitmask includes padding due to Intel's SIMD implementation detail. This patch allows non

[PATCH v11 1/7] hash: make compare signature function enum private

2024-07-05 Thread Yoan Picchi
enum rte_hash_sig_compare_function is only used internally. This patch move it out of the public ABI and into the C file. Signed-off-by: Yoan Picchi --- lib/hash/rte_cuckoo_hash.c | 10 ++ lib/hash/rte_cuckoo_hash.h | 10 +- 2 files changed, 11 insertions(+), 9 deletions

[PATCH v11 0/7] hash: add SVE support for bulk key lookup

2024-07-05 Thread Yoan Picchi
E_HASH_BUCKET_ENTRIES in case we change it in the future Implement the dense hitmask Add missing header guards Move compare function enum into cuckoo_hash.c instead of its own header. Yoan Picchi (7): hash: make compare signature function enum private hash: split compare signature in

[PATCH v11 2/7] hash: split compare signature into arch-specific files

2024-07-05 Thread Yoan Picchi
Move the compare_signatures function into architecture-specific files They all have the default scalar option as an option if we disable vectorisation. Signed-off-by: Yoan Picchi --- .mailmap | 1 + lib/hash/compare_signatures_arm_pvt.h | 55

[PATCH v11 3/7] hash: add a check on hash entry max size

2024-07-05 Thread Yoan Picchi
If were to change RTE_HASH_BUCKET_ENTRIES to be over 8, it would no longer fit in the vector (8*16b=128b), therefore failing to check some of the signatures. This patch adds a compile time check to fallback to scalar code in this case. Signed-off-by: Yoan Picchi --- lib/hash

[PATCH v11 4/7] hash: pack the hitmask for hash in bulk lookup

2024-07-05 Thread Yoan Picchi
uture improvements for the SIMD implementations The default non SIMD path now use this dense mask. Signed-off-by: Yoan Picchi Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- lib/hash/compare_signatures_arm_pvt.h | 47 lib/hash/compare_signatures_generic_pvt.h | 31 +++--- lib

[PATCH v11 5/7] hash: optimize compare signature for NEON

2024-07-05 Thread Yoan Picchi
Upon a successful comparison, NEON sets all the bits in the lane to 1 We can skip shifting by simply masking with specific masks. Signed-off-by: Yoan Picchi Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- lib/hash/compare_signatures_arm_pvt.h | 22 +++--- 1 file

[PATCH v11 7/7] hash: add SVE support for bulk key lookup

2024-07-05 Thread Yoan Picchi
- Implemented SVE code for comparing signatures in bulk lookup. - New SVE code is ~5% slower than optimized NEON for N2 processor for 128b vectors. Signed-off-by: Yoan Picchi Signed-off-by: Harjot Singh Reviewed-by: Nathan Brown Reviewed-by: Ruifeng Wang --- lib/hash

[PATCH v11 6/7] test/hash: check bulk lookup of keys after collision

2024-07-05 Thread Yoan Picchi
This patch adds unit test for rte_hash_lookup_bulk(). It also update the test_full_bucket test to the current number of entries in a hash bucket. Signed-off-by: Yoan Picchi Signed-off-by: Harjot Singh Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- .mailmap | 1 + app

[PATCH v12 0/7] hash: add SVE support for bulk key lookup

2024-07-08 Thread Yoan Picchi
E_HASH_BUCKET_ENTRIES in case we change it in the future Implement the dense hitmask Add missing header guards Move compare function enum into cuckoo_hash.c instead of its own header. V11->V12: Change the name of the compare function file (remove the _pvt suffix) Yoan Picchi (7):

[PATCH v12 3/7] hash: add a check on hash entry max size

2024-07-08 Thread Yoan Picchi
If were to change RTE_HASH_BUCKET_ENTRIES to be over 8, it would no longer fit in the vector (8*16b=128b), therefore failing to check some of the signatures. This patch adds a compile time check to fallback to scalar code in this case. Signed-off-by: Yoan Picchi --- lib/hash

[PATCH v12 1/7] hash: make compare signature function enum private

2024-07-08 Thread Yoan Picchi
enum rte_hash_sig_compare_function is only used internally. This patch move it out of the public ABI and into the C file. Signed-off-by: Yoan Picchi --- lib/hash/rte_cuckoo_hash.c | 10 ++ lib/hash/rte_cuckoo_hash.h | 10 +- 2 files changed, 11 insertions(+), 9 deletions

[PATCH v12 2/7] hash: split compare signature into arch-specific files

2024-07-08 Thread Yoan Picchi
Move the compare_signatures function into architecture-specific files They all have the default scalar option as an option if we disable vectorisation. Signed-off-by: Yoan Picchi --- .mailmap | 1 + lib/hash/compare_signatures_arm.h | 55

[PATCH v12 5/7] hash: optimize compare signature for NEON

2024-07-08 Thread Yoan Picchi
Upon a successful comparison, NEON sets all the bits in the lane to 1 We can skip shifting by simply masking with specific masks. Signed-off-by: Yoan Picchi Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- lib/hash/compare_signatures_arm.h | 22 +++--- 1 file changed

[PATCH v12 4/7] hash: pack the hitmask for hash in bulk lookup

2024-07-08 Thread Yoan Picchi
uture improvements for the SIMD implementations The default non SIMD path now use this dense mask. Signed-off-by: Yoan Picchi Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- lib/hash/compare_signatures_arm.h | 47 ++ lib/hash/compare_signatures_generic.h | 31 --- lib

[PATCH v12 6/7] test/hash: check bulk lookup of keys after collision

2024-07-08 Thread Yoan Picchi
This patch adds unit test for rte_hash_lookup_bulk(). It also update the test_full_bucket test to the current number of entries in a hash bucket. Signed-off-by: Yoan Picchi Signed-off-by: Harjot Singh Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- .mailmap | 1 + app

[PATCH v12 7/7] hash: add SVE support for bulk key lookup

2024-07-08 Thread Yoan Picchi
- Implemented SVE code for comparing signatures in bulk lookup. - New SVE code is ~5% slower than optimized NEON for N2 processor for 128b vectors. Signed-off-by: Yoan Picchi Signed-off-by: Harjot Singh Reviewed-by: Nathan Brown Reviewed-by: Ruifeng Wang --- lib/hash/compare_signatures_arm.h

Re: [RFC PATCH v4 2/4] dts: add doc generation dependencies

2023-10-27 Thread Yoan Picchi
lp" +version = "1.0.2" +description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." +optional = false +python-versions = ">=3.5" +files = [ +{file = "sphinxcontrib-devhelp-1.0.2.tar.gz", hash = "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"}, +{file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"}, +] + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-htmlhelp" +version = "2.0.1" +description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" +optional = false +python-versions = ">=3.8" +files = [ +{file = "sphinxcontrib-htmlhelp-2.0.1.tar.gz", hash = "sha256:0cbdd302815330058422b98a113195c9249825d681e18f11e8b1f78a2f11efff"}, +{file = "sphinxcontrib_htmlhelp-2.0.1-py3-none-any.whl", hash = "sha256:c38cb46dccf316c79de6e5515e1770414b797162b23cd3d06e67020e1d2a6903"}, +] + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +test = ["html5lib", "pytest"] + +[[package]] +name = "sphinxcontrib-jquery" +version = "4.1" +description = "Extension to include jQuery on newer Sphinx releases" +optional = false +python-versions = ">=2.7" +files = [ +{file = "sphinxcontrib-jquery-4.1.tar.gz", hash = "sha256:1620739f04e36a2c779f1a131a2dfd49b2fd07351bf1968ced074365933abc7a"}, +{file = "sphinxcontrib_jquery-4.1-py2.py3-none-any.whl", hash = "sha256:f936030d7d0147dd026a4f2b5a57343d233f1fc7b363f68b3d4f1cb0993878ae"}, +] + +[package.dependencies] +Sphinx = ">=1.8" + +[[package]] +name = "sphinxcontrib-jsmath" +version = "1.0.1" +description = "A sphinx extension which renders display math in HTML via JavaScript" +optional = false +python-versions = ">=3.5" +files = [ +{file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"}, +{file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"}, +] + +[package.extras] +test = ["flake8", "mypy", "pytest"] + +[[package]] +name = "sphinxcontrib-qthelp" +version = "1.0.3" +description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document." +optional = false +python-versions = ">=3.5" +files = [ +{file = "sphinxcontrib-qthelp-1.0.3.tar.gz", hash = "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"}, +{file = "sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"}, +] + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-serializinghtml" +version = "1.1.5" +description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)." +optional = false +python-versions = ">=3.5" +files = [ +{file = "sphinxcontrib-serializinghtml-1.1.5.tar.gz", hash = "sha256:aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952"}, +{file = "sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl", hash = "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd"}, +] + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +test = ["pytest"] + [[package]] name = "toml" version = "0.10.2" @@ -819,6 +1247,23 @@ files = [ {file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"}, ] +[[package]] +name = "urllib3" +version = "2.0.4" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.7" +files = [ +{file = "urllib3-2.0.4-py3-none-any.whl", hash = "sha256:de7df1803967d2c2a98e4b11bb7d6bd9210474c46e8a0401514e3a42a75ebde4"}, +{file = "urllib3-2.0.4.tar.gz", hash = "sha256:8d22f86aae8ef5e410d4f539fde9ce6b2113a001bb4d189e0aed70642d602b11"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +secure = ["certifi", "cryptography (>=1.9)", "idna (>=2.0.0)", "pyopenssl (>=17.1.0)", "urllib3-secure-extra"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] + [[package]] name = "warlock" version = "2.0.1" @@ -837,4 +1282,4 @@ jsonschema = ">=4,<5" [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "0b1e4a1cb8323e17e5ee5951c97e74bde6e60d0413d7b25b1803d5b2bab39639" +content-hash = "fea1a3eddd1286d2ccd3bdb61c6ce085403f31567dbe4f55b6775bcf1e325372" diff --git a/dts/pyproject.toml b/dts/pyproject.toml index 6762edfa6b..159940ce02 100644 --- a/dts/pyproject.toml +++ b/dts/pyproject.toml @@ -34,6 +34,13 @@ pylama = "^8.4.1" pyflakes = "^2.5.0" toml = "^0.10.2" +[tool.poetry.group.docs] +optional = true + +[tool.poetry.group.docs.dependencies] +sphinx = "<7" +sphinx-rtd-theme = "^1.2.2" + [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" Reviewed-by: Yoan Picchi

Re: [RFC PATCH v4 4/4] dts: format docstrigs to google format

2023-10-31 Thread Yoan Picchi
On 8/31/23 11:04, Juraj Linkeš wrote: WIP: only one module is reformatted to serve as a demonstration. The google format is documented here [0]. [0]: https://google.github.io/styleguide/pyguide.html Signed-off-by: Juraj Linkeš Acked-by: Jeremy Spweock --- dts/framework/testbed_model/node.p

[PATCH v3 0/4] hash: add SVE support for bulk key lookup

2023-11-07 Thread Yoan Picchi
the optimized neon (ran on a graviton 3 cloud instance) 256b SVE is about 0-3% slower than the optimized neon (ran on a graviton 3 cloud instance) V2->V3: Remove a redundant if in the test Change a couple int to uint16_t in compare_signatures_dense Several codding-style fix Y

[PATCH v3 2/4] hash: optimize compare signature for NEON

2023-11-07 Thread Yoan Picchi
Upon a successful comparison, NEON sets all the bits in the lane to 1 We can skip shifting by simply masking with specific masks. Signed-off-by: Yoan Picchi Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- lib/hash/rte_cuckoo_hash.c | 16 +++- 1 file changed, 7 insertions

[PATCH v3 1/4] hash: pack the hitmask for hash in bulk lookup

2023-11-07 Thread Yoan Picchi
Current hitmask includes padding due to Intel's SIMD implementation detail. This patch allows non Intel SIMD implementations to benefit from a dense hitmask. Signed-off-by: Yoan Picchi Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- .mailmap | 2 + lib

[PATCH v3 3/4] test/hash: check bulk lookup of keys after collision

2023-11-07 Thread Yoan Picchi
This patch adds unit test for rte_hash_lookup_bulk(). It also update the test_full_bucket test to the current number of entries in a hash bucket. Signed-off-by: Yoan Picchi Signed-off-by: Harjot Singh Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- app/test/test_hash.c | 99

[PATCH v3 4/4] hash: add SVE support for bulk key lookup

2023-11-07 Thread Yoan Picchi
- Implemented SVE code for comparing signatures in bulk lookup. - Added Defines in code for SVE code support. - Optimise NEON code - New SVE code is ~5% slower than optimized NEON for N2 processor. Signed-off-by: Yoan Picchi Signed-off-by: Harjot Singh Reviewed-by: Nathan Brown Reviewed-by

Re: [PATCH v5 03/23] dts: add basic developer docs

2023-11-07 Thread Yoan Picchi
On 11/6/23 17:15, Juraj Linkeš wrote: Expand the framework contribution guidelines and add how to document the code with Python docstrings. Signed-off-by: Juraj Linkeš --- doc/guides/tools/dts.rst | 73 1 file changed, 73 insertions(+) diff --git a/d

Re: [PATCH v5 02/23] dts: add docstring checker

2023-11-07 Thread Yoan Picchi
1.1" [tool.poetry.group.dev.dependencies] mypy = "^0.961" @@ -39,10 +40,13 @@ requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" [tool.pylama] -linters = "mccabe,pycodestyle,pyflakes" +linters = "mccabe,pycodestyle,pydocstyle,pyflakes" format = "pylint" max_line_length = 88 # https://black.readthedocs.io/en/stable/the_black_code_style/current_style.html#line-length +[tool.pylama.linter.pydocstyle] +convention = "google" + [tool.mypy] python_version = "3.10" enable_error_code = ["ignore-without-code"] Reviewed-by: Yoan Picchi

Re: [PATCH v5 01/23] dts: code adjustments for doc generation

2023-11-08 Thread Yoan Picchi
On 11/6/23 17:15, Juraj Linkeš wrote: The standard Python tool for generating API documentation, Sphinx, imports modules one-by-one when generating the documentation. This requires code changes: * properly guarding argument parsing in the if __name__ == '__main__' block, * the logger used by D

Re: [PATCH v6 22/23] dts: add doc generation dependencies

2023-11-08 Thread Yoan Picchi
On 11/8/23 12:53, Juraj Linkeš wrote: Sphinx imports every Python module when generating documentation from docstrings, meaning all dts dependencies, including Python version, must be satisfied. By adding Sphinx to dts dependencies we make sure that the proper Python version and dependencies are

Re: [PATCH v6 05/23] dts: settings docstring update

2023-11-08 Thread Yoan Picchi
On 11/8/23 12:53, Juraj Linkeš wrote: Format according to the Google format and PEP257, with slight deviations. Signed-off-by: Juraj Linkeš --- dts/framework/settings.py | 101 +- 1 file changed, 100 insertions(+), 1 deletion(-) diff --git a/dts/framework

Re: [PATCH v6 06/23] dts: logger and settings docstring update

2023-11-08 Thread Yoan Picchi
On 11/8/23 12:53, Juraj Linkeš wrote: Format according to the Google format and PEP257, with slight deviations. Signed-off-by: Juraj Linkeš --- dts/framework/logger.py | 72 +-- dts/framework/utils.py | 96 ++--- 2 files chang

Re: [PATCH v7 21/21] dts: test suites docstring update

2023-11-16 Thread Yoan Picchi
On 11/15/23 13:09, Juraj Linkeš wrote: Format according to the Google format and PEP257, with slight deviations. Signed-off-by: Juraj Linkeš --- dts/tests/TestSuite_hello_world.py | 16 + dts/tests/TestSuite_os_udp.py | 19 +++ dts/tests/TestSuite_smoke_tests.py | 53 ++

Re: [PATCH v7 21/21] dts: test suites docstring update

2023-11-20 Thread Yoan Picchi
On 11/20/23 10:17, Juraj Linkeš wrote: On Thu, Nov 16, 2023 at 6:36 PM Yoan Picchi wrote: On 11/15/23 13:09, Juraj Linkeš wrote: Format according to the Google format and PEP257, with slight deviations. Signed-off-by: Juraj Linkeš --- dts/tests/TestSuite_hello_world.py | 16

Re: [PATCH v7 01/21] dts: code adjustments for doc generation

2023-11-20 Thread Yoan Picchi
) -), -file=sys.stderr, -) -print(RED("Ple

Re: [PATCH v7 02/21] dts: add docstring checker

2023-11-20 Thread Yoan Picchi
1.1" [tool.poetry.group.dev.dependencies] mypy = "^0.961" @@ -39,10 +40,13 @@ requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" [tool.pylama] -linters = "mccabe,pycodestyle,pyflakes" +linters = "mccabe,pycodestyle,pydocstyle,pyflakes" format = "pylint" max_line_length = 88 # https://black.readthedocs.io/en/stable/the_black_code_style/current_style.html#line-length +[tool.pylama.linter.pydocstyle] +convention = "google" + [tool.mypy] python_version = "3.10" enable_error_code = ["ignore-without-code"] Reviewed-by: Yoan Picchi

Re: [PATCH v7 03/21] dts: add basic developer docs

2023-11-20 Thread Yoan Picchi
and used by the test suite via the ``sut_node`` field. +.. _dts_dev_tools: + DTS Developer Tools --- Reviewed-by: Yoan Picchi

Re: [PATCH v7 04/21] dts: exceptions docstring update

2023-11-20 Thread Yoan Picchi
On 11/15/23 13:09, Juraj Linkeš wrote: Format according to the Google format and PEP257, with slight deviations. Signed-off-by: Juraj Linkeš --- dts/framework/__init__.py | 12 - dts/framework/exception.py | 106 + 2 files changed, 83 insertions(+),

Re: [PATCH v7 06/21] dts: logger and utils docstring update

2023-11-20 Thread Yoan Picchi
On 11/15/23 13:09, Juraj Linkeš wrote: Format according to the Google format and PEP257, with slight deviations. Signed-off-by: Juraj Linkeš --- dts/framework/logger.py | 72 ++--- dts/framework/utils.py | 88 + 2 files ch

Re: [PATCH v7 07/21] dts: dts runner and main docstring update

2023-11-20 Thread Yoan Picchi
On 11/15/23 13:09, Juraj Linkeš wrote: Format according to the Google format and PEP257, with slight deviations. Signed-off-by: Juraj Linkeš --- dts/framework/dts.py | 128 --- dts/main.py | 8 ++- 2 files changed, 112 insertions(+), 24 del

Re: [PATCH v7 10/21] dts: config docstring update

2023-11-21 Thread Yoan Picchi
On 11/15/23 13:09, Juraj Linkeš wrote: Format according to the Google format and PEP257, with slight deviations. Signed-off-by: Juraj Linkeš --- dts/framework/config/__init__.py | 371 ++- dts/framework/config/types.py| 132 +++ 2 files changed, 446 i

Re: [PATCH v7 11/21] dts: remote session docstring update

2023-11-21 Thread Yoan Picchi
On 11/15/23 13:09, Juraj Linkeš wrote: Format according to the Google format and PEP257, with slight deviations. Signed-off-by: Juraj Linkeš --- dts/framework/remote_session/__init__.py | 39 +- .../remote_session/remote_session.py | 128 +- dts/framework/

Re: [PATCH v7 19/21] dts: base traffic generators docstring update

2023-11-21 Thread Yoan Picchi
On 11/15/23 13:09, Juraj Linkeš wrote: Format according to the Google format and PEP257, with slight deviations. Signed-off-by: Juraj Linkeš --- .../traffic_generator/__init__.py | 22 - .../capturing_traffic_generator.py| 46 +++ .../traffic_

Re: [PATCH v7 20/21] dts: scapy tg docstring update

2023-11-21 Thread Yoan Picchi
On 11/15/23 13:09, Juraj Linkeš wrote: Format according to the Google format and PEP257, with slight deviations. Signed-off-by: Juraj Linkeš --- .../testbed_model/traffic_generator/scapy.py | 91 +++ 1 file changed, 54 insertions(+), 37 deletions(-) diff --git a/dts/framewo

Re: [PATCH v7 14/21] dts: cpu docstring update

2023-11-21 Thread Yoan Picchi
On 11/15/23 13:09, Juraj Linkeš wrote: Format according to the Google format and PEP257, with slight deviations. Signed-off-by: Juraj Linkeš --- dts/framework/testbed_model/cpu.py | 196 + 1 file changed, 144 insertions(+), 52 deletions(-) diff --git a/dts/framew

Re: [PATCH v7 11/21] dts: remote session docstring update

2023-11-22 Thread Yoan Picchi
On 11/22/23 11:13, Juraj Linkeš wrote: On Tue, Nov 21, 2023 at 4:36 PM Yoan Picchi wrote: On 11/15/23 13:09, Juraj Linkeš wrote: Format according to the Google format and PEP257, with slight deviations. Signed-off-by: Juraj Linkeš --- dts/framework/remote_session/__init__.py | 39

Re: [PATCH v7 15/21] dts: os session docstring update

2023-11-22 Thread Yoan Picchi
On 11/15/23 13:09, Juraj Linkeš wrote: Format according to the Google format and PEP257, with slight deviations. Signed-off-by: Juraj Linkeš --- dts/framework/testbed_model/os_session.py | 275 -- 1 file changed, 208 insertions(+), 67 deletions(-) diff --git a/dts/framew

Re: [PATCH v7 19/21] dts: base traffic generators docstring update

2023-11-22 Thread Yoan Picchi
On 11/22/23 11:38, Juraj Linkeš wrote: On Tue, Nov 21, 2023 at 5:20 PM Yoan Picchi wrote: On 11/15/23 13:09, Juraj Linkeš wrote: Format according to the Google format and PEP257, with slight deviations. Signed-off-by: Juraj Linkeš --- .../traffic_generator/__init__.py | 22

Re: [PATCH v7 17/21] dts: node docstring update

2023-11-22 Thread Yoan Picchi
On 11/15/23 13:09, Juraj Linkeš wrote: Format according to the Google format and PEP257, with slight deviations. Signed-off-by: Juraj Linkeš --- dts/framework/testbed_model/node.py | 191 +++- 1 file changed, 131 insertions(+), 60 deletions(-) diff --git a/dts/framew

Re: [PATCH v7 18/21] dts: sut and tg nodes docstring update

2023-11-22 Thread Yoan Picchi
On 11/15/23 13:09, Juraj Linkeš wrote: Format according to the Google format and PEP257, with slight deviations. Signed-off-by: Juraj Linkeš --- dts/framework/testbed_model/sut_node.py | 224 dts/framework/testbed_model/tg_node.py | 42 +++-- 2 files changed, 173

Re: [PATCH v7 16/21] dts: posix and linux sessions docstring update

2023-11-22 Thread Yoan Picchi
On 11/15/23 13:09, Juraj Linkeš wrote: Format according to the Google format and PEP257, with slight deviations. Signed-off-by: Juraj Linkeš --- dts/framework/testbed_model/linux_session.py | 63 ++- dts/framework/testbed_model/posix_session.py | 81 +--- 2 files

Re: [PATCH v8 00/21] dts: docstrings update

2023-12-01 Thread Yoan Picchi
affic_generator/traffic_generator.py create mode 100644 dts/framework/testbed_model/virtual_device.py Reviewed-by: Yoan Picchi

Re: [PATCH v5 4/4] hash: add SVE support for bulk key lookup

2024-03-05 Thread Yoan Picchi
On 3/4/24 13:35, Konstantin Ananyev wrote: - Implemented SVE code for comparing signatures in bulk lookup. - Added Defines in code for SVE code support. - Optimise NEON code - New SVE code is ~5% slower than optimized NEON for N2 processor. Signed-off-by: Yoan Picchi Signed-off-by: Harjot

[PATCH v6 0/4] hash: add SVE support for bulk key lookup

2024-03-11 Thread Yoan Picchi
>V4: Rebase V4->V5: Commit message V5->V6: Move the arch-specific code into new arch-specific files Isolate the data struture refactor from adding SVE Yoan Picchi (4): hash: pack the hitmask for hash in bulk lookup hash: optimize compare signature for NEON test/hash: check

[PATCH v6 1/4] hash: pack the hitmask for hash in bulk lookup

2024-03-11 Thread Yoan Picchi
uture improvements for the SIMD implementations Signed-off-by: Yoan Picchi Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- .mailmap | 2 + lib/hash/arch/arm/compare_signatures.h| 61 +++ lib/hash/arch/common/compare_signatures.h | 38 + lib/hash

[PATCH v6 2/4] hash: optimize compare signature for NEON

2024-03-11 Thread Yoan Picchi
Upon a successful comparison, NEON sets all the bits in the lane to 1 We can skip shifting by simply masking with specific masks. Signed-off-by: Yoan Picchi Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- lib/hash/arch/arm/compare_signatures.h | 24 +++- 1 file

[PATCH v6 3/4] test/hash: check bulk lookup of keys after collision

2024-03-11 Thread Yoan Picchi
This patch adds unit test for rte_hash_lookup_bulk(). It also update the test_full_bucket test to the current number of entries in a hash bucket. Signed-off-by: Yoan Picchi Signed-off-by: Harjot Singh Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- app/test/test_hash.c | 99

[PATCH v6 4/4] hash: add SVE support for bulk key lookup

2024-03-11 Thread Yoan Picchi
- Implemented SVE code for comparing signatures in bulk lookup. - Added Defines in code for SVE code support. - Optimise NEON code - New SVE code is ~5% slower than optimized NEON for N2 processor. Signed-off-by: Yoan Picchi Signed-off-by: Harjot Singh Reviewed-by: Nathan Brown Reviewed-by

Re: [PATCH v6 4/4] hash: add SVE support for bulk key lookup

2024-03-12 Thread Yoan Picchi
On 3/12/24 03:57, fengchengwen wrote: Hi Yoan, On 2024/3/12 7:21, Yoan Picchi wrote: - Implemented SVE code for comparing signatures in bulk lookup. - Added Defines in code for SVE code support. - Optimise NEON code This commit does not include this part. Pls only describe the content in

[PATCH v7 0/4] hash: add SVE support for bulk key lookup

2024-03-12 Thread Yoan Picchi
>V4: Rebase V4->V5: Commit message V5->V6: Move the arch-specific code into new arch-specific files Isolate the data struture refactor from adding SVE V6->V7: Commit message Moved RTE_HASH_COMPARE_SVE to the last commit of the chain Yoan Picchi (4): hash: pack the hitm

[PATCH v7 1/4] hash: pack the hitmask for hash in bulk lookup

2024-03-12 Thread Yoan Picchi
uture improvements for the SIMD implementations Signed-off-by: Yoan Picchi Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- .mailmap | 2 + lib/hash/arch/arm/compare_signatures.h| 61 +++ lib/hash/arch/common/compare_signatures.h | 38 + lib/hash

[PATCH v7 2/4] hash: optimize compare signature for NEON

2024-03-12 Thread Yoan Picchi
Upon a successful comparison, NEON sets all the bits in the lane to 1 We can skip shifting by simply masking with specific masks. Signed-off-by: Yoan Picchi Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- lib/hash/arch/arm/compare_signatures.h | 24 +++- 1 file

[PATCH v7 3/4] test/hash: check bulk lookup of keys after collision

2024-03-12 Thread Yoan Picchi
This patch adds unit test for rte_hash_lookup_bulk(). It also update the test_full_bucket test to the current number of entries in a hash bucket. Signed-off-by: Yoan Picchi Signed-off-by: Harjot Singh Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- app/test/test_hash.c | 99

[PATCH v7 4/4] hash: add SVE support for bulk key lookup

2024-03-12 Thread Yoan Picchi
- Implemented SVE code for comparing signatures in bulk lookup. - New SVE code is ~5% slower than optimized NEON for N2 processor for 128b vectors. Signed-off-by: Yoan Picchi Signed-off-by: Harjot Singh Reviewed-by: Nathan Brown Reviewed-by: Ruifeng Wang --- lib/hash/arch/arm

Re: [PATCH v7 1/4] hash: pack the hitmask for hash in bulk lookup

2024-03-19 Thread Yoan Picchi
which allow a better cache usage and enable future improvements for the SIMD implementations Signed-off-by: Yoan Picchi Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- .mailmap | 2 + lib/hash/arch/arm/compare_signatures.h| 61 +++ lib/hash

Re: [EXTERNAL] [PATCH v7 2/4] hash: optimize compare signature for NEON

2024-04-11 Thread Yoan Picchi
On 3/20/24 07:37, Pavan Nikhilesh Bhagavatula wrote: Upon a successful comparison, NEON sets all the bits in the lane to 1 We can skip shifting by simply masking with specific masks. Signed-off-by: Yoan Picchi Reviewed-by: Ruifeng Wang Reviewed-by: Nathan Brown --- lib/hash/arch/arm

[PATCH v8 0/4] hash: add SVE support for bulk key lookup

2024-04-17 Thread Yoan Picchi
and missing spaces Yoan Picchi (4): hash: pack the hitmask for hash in bulk lookup hash: optimize compare signature for NEON test/hash: check bulk lookup of keys after collision hash: add SVE support for bulk key lookup .mailmap | 2 + ap

  1   2   >