spacemeshos / pm

Project management. Meta-tasks related to research, dev, and specs for the Spacemesh protocol and infrastructure.
http://spacemesh.io/
Creative Commons Zero v1.0 Universal
2 stars 0 forks source link

Modification of proving algorithm #228

Closed pigmej closed 11 months ago

pigmej commented 1 year ago

Implementations of proving algorithms proposed by Wojtek:

The existing algorithm is renamed to 64/0.

Also added a benchmark under src/bin/prover.rs. Some results on different machines: 💡 speed means the speed of going through POST data assuming 16 parallel nonces.

i7-12700k:

[8/56]  speed: 2028 MiB/s
[16/48] speed: 2059 MiB/s
[32/32] speed: 1947 MiB/s
[64/0]  speed: 1361 MiB/s

Intel(R) Xeon(R) CPU E5-1410 v2 @ 2.80GHz

🟡 prod: 2014

[8/56]  speed: 745 MiB/s
[16/48] speed: 570 MiB/s
[32/32] speed: 342 MiB/s
[64/0]  speed: 263 MiB/s

M2

💡 Disabling AES HW support shows the theoretical speed up.

with AES HW support

[8/56]  speed: 1899 MiB/s
[16/48] speed: 2254 MiB/s
[32/32] speed: 1612 MiB/s
[64/0]  speed: 1283 MiB/s

AES HW support disabled

[8/56] speed: 177 MiB/s
[16/48] speed: 114 MiB/s
[32/32] speed: 57 MiB/s
[64/0] speed: 30 MiB/s

Ryzen 7950x

[8/56]  speed: 2840 MiB/s
[16/48] speed: 2330 MiB/s
[32/32] speed: 1854 MiB/s
[64/0]  speed: 1575 MiB/s

Intel(R) Celeron(R) CPU G3900 @ 2.80GHz

[8/56]  speed: 927 MiB/s
[16/48] speed: 928 MiB/s
[32/32] speed: 592 MiB/s
[64/0]  speed: 489 MiB/s

Intel(R) Pentium(R) Silver J5040 CPU @ 2.00GHz

[8/56]  speed: 663 MiB/s
[16/48] speed: 551 MiB/s
[32/32] speed: 389 MiB/s
[64/0]  speed: 319 MiB/s
pigmej commented 1 year ago

https://github.com/spacemeshos/post-rs/pull/36