release-bot
31083463be
Bump rust crates' version
...
icicle-babybear@2.7.0
icicle-bls12-377@2.7.0
icicle-bls12-381@2.7.0
icicle-bn254@2.7.0
icicle-bw6-761@2.7.0
icicle-core@2.7.0
icicle-cuda-runtime@2.7.0
icicle-grumpkin@2.7.0
icicle-hash@2.7.0
icicle-m31@2.7.0
icicle-stark252@2.7.0
Generated by cargo-workspaces
v2.7.0
2024-07-03 19:06:35 +00:00
nonam3e
b908053c0c
Feat/m31 ( #547 )
...
This PR adds support of the m31 Field
---------
Co-authored-by: Jeremy Felder <jeremy.felder1@gmail.com >
2024-07-03 20:48:28 +07:00
Stas
29da36d7be
RISC0 example using Polynomial API ( #548 )
...
## New Example
This new c++ example shows the basics of RISC0 protocol using our
Polynomial API
2024-07-02 08:00:03 -06:00
HadarIngonyama
4fef542346
MSM - fixed bug in reduction phase ( #549 )
...
This PR fixes a bug in the iterative reduction algorithm.
There were unsynchronized threads reading and writing to the same
addresses that caused MSM to fail a small percentage of the time - this is fixed now.
2024-06-30 12:05:55 +03:00
release-bot
f812f071fa
Bump rust crates' version
...
icicle-babybear@2.6.0
icicle-bls12-377@2.6.0
icicle-bls12-381@2.6.0
icicle-bn254@2.6.0
icicle-bw6-761@2.6.0
icicle-core@2.6.0
icicle-cuda-runtime@2.6.0
icicle-grumpkin@2.6.0
icicle-hash@2.6.0
icicle-stark252@2.6.0
Generated by cargo-workspaces
v2.6.0
2024-06-24 11:56:28 +00:00
Jeremy Felder
2b07513310
[FEAT]: Golang Bindings for pinned host memory ( #519 )
...
## Describe the changes
This PR adds the capability to pin host memory in golang bindings
allowing data transfers to be quicker. Memory can be pinned once for
multiple devices by passing the flag
`cuda_runtime.CudaHostRegisterPortable` or
`cuda_runtime.CudaHostAllocPortable` depending on how pinned memory is
called
2024-06-24 14:03:44 +03:00
HadarIngonyama
7831f7bd0f
Msm/update docs ( #545 )
...
Updates MSM documentation
---------
Co-authored-by: Jeremy Felder <jeremy.felder1@gmail.com >
Co-authored-by: Leon Hibnik <107353745+LeonHibnik@users.noreply.github.com >
2024-06-19 11:38:24 +03:00
Otsar
de25b6e203
Added v2 paper ( #544 )
2024-06-18 15:19:49 +03:00
Otsar
69383e6c73
Update docusaurus.config.js
...
bold, added emoji
2024-06-18 15:04:26 +03:00
Otsar
c305aade5d
Update overview.md
2024-06-18 15:00:24 +03:00
Otsar
87bdf04a19
Update docusaurus.config.js
2024-06-18 13:05:14 +03:00
Otsar
e152977843
Update overview.md
...
Added v2 paper
2024-06-18 12:23:03 +03:00
release-bot
3d01c09c82
Bump rust crates' version
...
icicle-babybear@2.5.0
icicle-bls12-377@2.5.0
icicle-bls12-381@2.5.0
icicle-bn254@2.5.0
icicle-bw6-761@2.5.0
icicle-core@2.5.0
icicle-cuda-runtime@2.5.0
icicle-grumpkin@2.5.0
icicle-hash@2.5.0
icicle-stark252@2.5.0
Generated by cargo-workspaces
v2.5.0
2024-06-17 13:17:24 +00:00
HadarIngonyama
8936d9c800
MSM - supporting all window sizes ( #534 )
...
This PR enables using MSM with any value of c.
Note: default c isn't necessarily optimal, the user is expected to
choose c and the precomputation factor that give the best results for
the relevant case.
---------
Co-authored-by: Jeremy Felder <jeremy.felder1@gmail.com >
2024-06-17 15:57:24 +03:00
Jeremy Felder
af9ec76506
Fix link and correct path for running test deploy workflow ( #542 )
...
## Describe the changes
Fixes a link issue in docs preventing deployment
2024-06-17 15:44:15 +03:00
Otsar
cdd99d2a46
recreated images for poseidon.md ( #541 )
...
Fixed 3 images shown in low quality - i have recreated the 3 images -
please check me to see that i have not made a mistake
2024-06-17 12:16:26 +03:00
Jeremy Felder
3e551762c0
Updated alt text for images and fixed broken link
2024-06-16 18:35:42 +03:00
Otsar
37c22e81e7
Update poseidon.md
...
fixed - added arrows
2024-06-16 15:01:12 +03:00
Otsar
69e73ffa3e
Update poseidon.md
...
Fixed image quality
2024-06-16 11:42:46 +03:00
cangqiaoyuzhuo
512e1ca372
chore: remove repeat word ( #540 )
...
## Describe the changes
remove repeat word
## Linked Issues
Resolves #
Signed-off-by: cangqiaoyuzhuo <850072022@qq.com >
2024-06-13 11:53:22 +03:00
VitaliiH
e19a869691
accumulate stwo ( #535 )
...
adds in-place vector addition and api as accumulate
2024-06-10 12:24:58 +02:00
yshekel
9c55d888ae
workflow curve fix ( #536 )
2024-06-09 11:18:23 +03:00
release-bot
18f51de56c
Bump rust crates' version
...
icicle-babybear@2.4.0
icicle-bls12-377@2.4.0
icicle-bls12-381@2.4.0
icicle-bn254@2.4.0
icicle-bw6-761@2.4.0
icicle-core@2.4.0
icicle-cuda-runtime@2.4.0
icicle-grumpkin@2.4.0
icicle-hash@2.4.0
icicle-stark252@2.4.0
Generated by cargo-workspaces
v2.4.0
2024-06-06 14:42:36 +00:00
yshekel
33b1f3c794
perf: projective scalar multiplication use dbl() rather than + ( #530 )
2024-06-05 20:35:21 +03:00
Karthik Inbasekar
3a276ef23c
added example cpp: example_commit_with_device_memory_view() ( #532 )
...
## Describe the changes
This PR...
Added an example for simple commit that makes use of polynomial views.
Output attached
```
Example: a) commit with Polynomial views [(f1+f2)^2 + (f1-f2)^2 ]_1 = [4 (f1^2+ f_2^2)]_1
Example: b) commit with Polynomial views [(f1+f2)^2 - (f1-f2)^2 ]_1 = [4 f1 *f_2]_1
Setup: Generating mock SRS
Setup: SRS of length 1025 generated and loaded to device. Took: 19557 milliseconds
Setup: Generating polys (on device) f1,f2 of log degree 10
Setup: Gen poly done. Took: 7 milliseconds
Computing constraints..start
Computing constraints..done. Took: 0 milliseconds
Computing Commitments with poly view
Commitments done. Took: 29 milliseconds
commitment [(f1+f2)^2 + (f1-f2)^2]_1:
[x: 0x1e35d81da10e5026dacdd907d6ed0dde673de449ff8c0137ec6acbfd6b1dfe1b, y: 0x21fc051415af35a781f84ebcf999313d489ae38ebefa561c9de2fb0b11091502]
commitment [[2 (f_1^2+f_2^2]_1:
[x: 0x1e35d81da10e5026dacdd907d6ed0dde673de449ff8c0137ec6acbfd6b1dfe1b, y: 0x21fc051415af35a781f84ebcf999313d489ae38ebefa561c9de2fb0b11091502]
commitment [(f1+f2)^2 - (f1-f2)^2]_1:
[x: 0x21e9dc012aef8d95107fbfe63f455d4345b9b21e37bcb0a49043b1066e211ffa, y: 0x2d6a3b2f1be1042a17c58ff595134b9cceb71d1af4f1c67a5696859cd4bafae3]
commitment [4 f_1*f_2]_1:
[x: 0x21e9dc012aef8d95107fbfe63f455d4345b9b21e37bcb0a49043b1066e211ffa, y: 0x2d6a3b2f1be1042a17c58ff595134b9cceb71d1af4f1c67a5696859cd4bafae3]
```
## Linked Issues
Resolves #
2024-06-05 18:25:12 +03:00
nonam3e
8e62bde16d
bit reverse ( #528 )
...
This PR adds bit reverse operation support to icicle
2024-06-02 16:37:58 +07:00
Jeremy Felder
417ca77f61
precompute bug fix ( #529 )
...
This PR fixes 2 things:
1. Removes the assertion regarding the precompute factor needing to be a
power of 2. There is no such requirement and it works just fine for
other values too.
2. Fixes the average bucket size for the large buckets threshold - it
depends on the precompute factor.
2024-05-29 13:59:48 +03:00
hadaringonyama
8911a32135
precompute bug fix
2024-05-28 12:48:48 +03:00
release-bot
c6f6e61d60
Bump rust crates' version
...
icicle-babybear@2.3.1
icicle-bls12-377@2.3.1
icicle-bls12-381@2.3.1
icicle-bn254@2.3.1
icicle-bw6-761@2.3.1
icicle-core@2.3.1
icicle-cuda-runtime@2.3.1
icicle-grumpkin@2.3.1
icicle-hash@2.3.1
icicle-stark252@2.3.1
Generated by cargo-workspaces
v2.3.1
2024-05-20 13:43:32 +00:00
yshekel
4e3aa63d2f
fix: ntt mixed-radix bug for large ntts (>4G elements) ( #523 )
...
in some cases 32b values would wrap around and cause invalid accesses to
wrong elements and memory addresses
2024-05-20 16:42:44 +03:00
Leon Hibnik
db298aefc1
[HOTFIX] rust msm benchmarks ( #521 )
...
## Describe the changes
removes unused host to device copy, adds minimum limit to run MSM
benchmarks
2024-05-20 13:51:53 +03:00
yshekel
19a9b76d64
fix: cmake set_gpu_env() and windows build ( #520 )
2024-05-20 13:05:45 +03:00
Jeremy Felder
1e343f17a3
Allow overriding compiler's chosen GPU arch via cmake ( #518 )
...
## Describe the changes
This PR modifies icicle/cmake/Common.cmake to set
CMAKE_CUDA_ARCHITECTURES to ${CUDA_ARCH} if the user defines the arch,
to set CMAKE_CUDA_ARCHITECTURES to native if the cmake version is
greater than or equal to 3.24.0. This change has been successfully
tested with cmake 3.22.0 and 3.25.2.
## Linked Issues
Resolves #167 .
2024-05-19 16:03:15 +03:00
liuhao230
cfea6ebb3b
Merge branch 'ingonyama-zk:main' into main
2024-05-17 14:24:02 +08:00
release-bot
76a82bf88e
Bump rust crates' version
...
icicle-babybear@2.3.0
icicle-bls12-377@2.3.0
icicle-bls12-381@2.3.0
icicle-bn254@2.3.0
icicle-bw6-761@2.3.0
icicle-core@2.3.0
icicle-cuda-runtime@2.3.0
icicle-grumpkin@2.3.0
icicle-hash@2.3.0
icicle-stark252@2.3.0
Generated by cargo-workspaces
v2.3.0
2024-05-17 04:42:17 +00:00
Vlad
b8310d577e
Feat/vlad/poseidon go binding ( #513 )
2024-05-17 07:20:15 +03:00
liu
49c7fa4b28
fix: add the PARENT_SCOPE
...
Signed-off-by: liu <liuhao2206@buaa.edu.cn >
2024-05-17 10:45:09 +08:00
Stas
02059fcfaa
Stas/best-practice-ntt ( #517 )
...
## Describe the changes
Icicle examples: Concurrent Data Transfer and NTT Computation
This PR introduces a Best Practice series of examples in c++.
Specifically, the example shows how to concurrently transfer data
to/from device and execute NTT
## Linked Issues
Resolves #
2024-05-16 23:51:49 +03:00
nonam3e
4496520a10
golang examples init ( #516 )
...
## Describe the changes
This PR adds golang examples
---------
Co-authored-by: Leon Hibnik <107353745+LeonHibnik@users.noreply.github.com >
Co-authored-by: Jeremy Felder <jeremy.felder1@gmail.com >
2024-05-16 19:40:13 +03:00
liu
88a6966a4b
Allow overriding compiler's chosen GPU arch via cmake
2024-05-15 22:40:51 +08:00
yshekel
9c1afe8a44
Polynomial API views replaced by evaluation on rou domain ( #514 )
...
- removed poly API to access view of evaluations. This is a problematic API since it cannot handle small domains and for large domains requires the polynomial to use more memory than need to.
- added evaluate_on_rou_domain() API instead that supports any domain size (powers of two size).
- the new API can compute to HOST or DEVICE memory
- Rust wrapper for evaluate_on_rou_domain()
- updated documentation: overview and Rust wrappers
- faster division by vanishing poly for common case where numerator is 2N and vanishing poly is of degree N.
- allow division a/b where deg(a)<deg(b) instead of throwing an error.
2024-05-15 14:06:23 +03:00
Jeremy Felder
972b924bc0
Update CI to run on some non-code changes ( #515 )
...
## Describe the changes
This PR:
- Updates the CI to run on CI workflow file changes
- Updates examples CI to run on examples file changes
2024-05-15 13:17:13 +03:00
sukrucildirr
230a1da512
Fix broken link ( #512 )
...
## Describe the changes
There was a broken link is linked to ZKContainer word.
## Linked Issues
Resolves #
2024-05-14 08:36:39 +07:00
release-bot
940b283c47
Bump rust crates' version
...
icicle-babybear@2.2.0
icicle-bls12-377@2.2.0
icicle-bls12-381@2.2.0
icicle-bn254@2.2.0
icicle-bw6-761@2.2.0
icicle-core@2.2.0
icicle-cuda-runtime@2.2.0
icicle-grumpkin@2.2.0
icicle-hash@2.2.0
icicle-stark252@2.2.0
Generated by cargo-workspaces
v2.2.0
2024-05-09 12:27:17 +00:00
Leon Hibnik
e0412183fd
syntax highlight ( #511 )
...
## Describe the changes
adds syntax highlighting to `rust` and `go`
2024-05-09 15:23:20 +03:00
ChickenLover
9da52bc09f
Feat/roman/poseidon2 ( #510 )
...
# This PR
1. Adds C++ API
2. Renames a lot of API functions
3. Adds inplace poseidon2
4. Makes input const at all poseidon functions
5. Adds benchmark for poseidon2
2024-05-09 19:19:55 +07:00
VitaliiH
49079d0d2a
rust ecntt hotfix ( #509 )
...
## Describe the changes
This PR fixes Rust ECNTT benches and tests
---------
Co-authored-by: VitaliiH <Vitaliy@ingo>
2024-05-09 11:21:21 +03:00
ChickenLover
094683d291
Feat/roman/poseidon2 ( #507 )
...
This PR adds support for poseidon2 permutation function as described in
https://eprint.iacr.org/2023/323.pdf
Reference implementations used (and compared against):
https://github.com/HorizenLabs/poseidon2/tree/main
https://github.com/Plonky3/Plonky3/tree/main
Tasks:
- [x] Remove commented code and prints
- [ ] Add doc-comments to functions and structs
- [x] Fix possible issue with Plonky3 imports
- [x] Update NTT/Plonky3 test
- [x] Add Plonky3-bn254 test (impossible)
2024-05-09 15:13:43 +07:00
nonam3e
c30e333819
keccak docs ( #508 )
...
This PR adds keccak docs
---------
Co-authored-by: Leon Hibnik <107353745+LeonHibnik@users.noreply.github.com >
2024-05-08 23:18:59 +03:00
yshekel
2905d2a469
fix: bug regarding polynomial evaluations view in CUDA backend ( #506 )
...
fixing:
(1) not building polynomials and tests for grumpkin curve (no NTT)
(2) polynomial API C++ example compilation and (when compilation is
fixed) memory corruption
(3) bug fix in poly CUDA backend regarding transformation to evaluations
in some cases
2024-05-08 21:02:18 +03:00