Hello OPNsense developers,
Background information on my questions. I have run Suricata performance tests with Ryzen 7700X and Ryzen 9700X and found that the throughput rates in my scenario are almost identical (23Gbit/s and 26Gbit/s). In the Ryzen 9000 generation, the AVX-512 performance should be twice as fast as in the 7000 generation.
Could it be that Hyperscan was built
without AVX-512 support? Is that the reason for the low speed differences?
Documentation for reference:
https://intel.github.io/hyperscan/dev-reference/getting_started.html
QuoteHyperscan v5.3 adds support for AVX512VBMI instructions - in particular the AVX512VBMI instruction set that was introduced on Intel "Icelake" Xeon processors - however the AVX512VBMI runtime variant is not enabled by default in fat runtime builds as not all toolchains support AVX512VBMI instruction sets. To build an AVX512VBMI runtime, the CMake variable BUILD_AVX512VBMI must be enabled manually during configuration. For example:
cmake -DBUILD_AVX512VBMI=on <...>
Alternatively, I would like to know how I can check this myself so that I can answer my own questions.
Considering the following note, I'd say this debate is very much pointless.
Quote
There is currently no operating system support for this feature on non-Linux systems.
https://github.com/opnsense/ports/blob/master/devel/hyperscan/Makefile
Quote from: doktornotor on September 07, 2024, 04:40:32 PM
Considering the following note, I'd say this debate is very much pointless.
Quote
There is currently no operating system support for this feature on non-Linux systems.
https://github.com/opnsense/ports/blob/master/devel/hyperscan/Makefile
Thank you for looking this up. So if i understand correctly there is no AVX-512 support.
Apparently not, even upstream. :)
This totally explains the small performance difference. I tmarked this as solved.