constantine/tests
Mamy Ratsimbazafy 6c48975aee
Parallel Multi-Scalar-Multiplication (#226)
* try parallel reduction in batch add, but alas it's slower than custom chunking. Except maybe on arch with performance/efficiency cores

* initial impl of parallel MSM - scaling to debug, threads not woken fast enough

* improve comment [skip ci]

* skip top window when c divides the number of bits

* for some reason parallel-for loops scale on 5+ threads while spawn only on 2x threads. Thread wakeup issue?

* Add counters and timers to audit threadpool bottlenecks

* metrics and profiling fixes, (slower) latency hiding, activate tests

* fix thief thread trying to wake another before canceling its own sleep

* easier to sort metrics and parallel endomorphism application

* selective endomorphism acceleration

* some tuning

* spawn can handle compile-time literals, static and type parameters. Also introduce spawnAwaitable to await void procs

* improve MSM overview [skip ci]

* bench cleanup
2023-04-10 23:30:14 +02:00
..
gpu Parallel for (#222) 2023-02-24 09:47:36 +01:00
math Parallel Multi-Scalar-Multiplication (#226) 2023-04-10 23:30:14 +02:00
parallel Parallel Multi-Scalar-Multiplication (#226) 2023-04-10 23:30:14 +02:00
protocol_blssig_pop_on_bls12381_g2_test_vectors_v0.1.1 Don't dump all in "backend" (#184) 2022-02-27 01:49:08 +01:00
protocol_ethereum_evm_precompiles Productionize: move protocols top-level vs backend (#179) 2022-02-21 01:04:53 +01:00
protocol_hash_to_curve BN254 - Hash-to-Curve (SVDW method) (#190) 2022-04-26 21:24:07 +02:00
t_blssig_pop_on_bls12381_g2.nim Codecs (#217) 2023-02-07 13:10:17 +01:00
t_cipher_chacha20.nim Add ChaCha20 stream cipher 2022-03-02 01:18:47 +01:00
t_ethereum_eip2333_bls12381_key_derivation.nim Codecs (#217) 2023-02-07 13:10:17 +01:00
t_ethereum_evm_precompiles.nim Codecs (#217) 2023-02-07 13:10:17 +01:00
t_hash_sha256_vs_openssl.nim Codecs (#217) 2023-02-07 13:10:17 +01:00
t_hash_to_curve.nim Multi-Scalar-Multiplication / Linear combination (#220) 2023-02-16 12:45:05 +01:00
t_hash_to_curve_random.nim chore: remove stew/byteutils dependencies and unneeded imports 2023-01-12 20:25:57 +01:00
t_hash_to_field.nim Codecs (#217) 2023-02-07 13:10:17 +01:00
t_kdf_hkdf.nim Codecs (#217) 2023-02-07 13:10:17 +01:00
t_mac_hmac_sha256.nim Codecs (#217) 2023-02-07 13:10:17 +01:00
t_mac_poly1305.nim Eip2333 (#202) 2022-08-16 12:07:57 +02:00