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
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
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
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
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
- 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
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
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
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
>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_
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
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
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
- 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
>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
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
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
- 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
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
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
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
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
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
- 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
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
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
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
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
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
- 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
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
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
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
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
- 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
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
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
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
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
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
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
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
- 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
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
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):
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
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
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
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
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
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
- 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
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
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
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
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
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
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
- 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
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
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
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
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
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
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
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 ++
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
)
-),
-file=sys.stderr,
-)
-print(RED("Ple
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
and used by the test suite via the ``sut_node`` field.
+.. _dts_dev_tools:
+
DTS Developer Tools
---
Reviewed-by: 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(+),
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
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
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
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/
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_
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
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
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
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
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
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
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
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
affic_generator/traffic_generator.py
create mode 100644 dts/framework/testbed_model/virtual_device.py
Reviewed-by: 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
>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
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
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
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
- 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
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
>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
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
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
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
- 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
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
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
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 - 100 of 104 matches
Mail list logo