Commit Graph

294 Commits

Author SHA1 Message Date
hhh_QC
08ec0b1ff6 update go install source in Dockerfile (#428) 2024-03-10 10:47:08 +02:00
Jeremy Felder
fa219d9c95 Fix release flow with deploy key and caching (#425)
## Describe the changes

This PR fixes the release flow action
2024-03-10 08:57:35 +02:00
DmytroTym
0e84fb4b76 feat: add warmup for CudaStream (#422)
## Describe the changes

Add a non-blocking `warmup` function to `CudaStream` 

> when you run the benchmark (e.g. the msm example you have) the first
instance is always slow, with a constant overhead of 200~300ms cuda
stream warmup. and I want to get rid of that in my application by
warming it up in parallel while my host do something else.
2024-03-07 19:11:34 +02:00
Alex Xiong
d8059a2a4e Merge pull request #1 from ingonyama-zk/feat/warmup
Warmup function added
2024-03-07 18:18:18 +08:00
DmytroTym
4a65758408 Merge branch 'main' into feat/warmup 2024-03-06 22:08:45 +02:00
Jeremy Felder
1abd2ef9c9 Bump rust crates' version
icicle-bls12-377@1.7.0
icicle-bls12-381@1.7.0
icicle-bn254@1.7.0
icicle-bw6-761@1.7.0
icicle-core@1.7.0
icicle-cuda-runtime@1.7.0
icicle-grumpkin@1.7.0

Generated by cargo-workspaces
v1.7.0
2024-03-06 22:05:10 +02:00
Jeremy Felder
9d402df0cf Release flow CI (#423)
## Describe the changes

This PR:
- Moves common crate attributes to the workspace Cargo.toml. 
- Adds a manual release flow for bumping, tagging, and draft release
2024-03-06 21:41:48 +02:00
DmytroTym
7185657ff7 Warmup function 2024-03-06 18:13:23 +02:00
Alex Xiong
b22aa02e91 fix: cargo fmt 2024-03-06 13:10:12 +00:00
ImmanuelSegol
af6bfc9ab0 golang docs (#413)
## Describe the changes

This PR...

## Linked Issues

Resolves #

---------

Co-authored-by: Jeremy Felder <jeremy.felder1@gmail.com>
Co-authored-by: DmytroTym <dmytrotym1@gmail.com>
2024-03-06 08:59:32 -04:00
Alex Xiong
b108c71bdd feat: add rust api for cudaFreeAsync 2024-03-06 12:44:43 +00:00
ChickenLover
9fc083916d Small features (#415)
This PR is a compilation of small improvements

 - Lock bindgen version for `icicle-cuda-runtime`
- Add an error message when trying to build on Mac (or any non
windows/linux machine)
 - Add documentation and template files for adding new curve
 - Add documentation on _params.cuh contents
- Add the script to bump all the rust crates versions to the same
version

Resolves #313
2024-03-06 13:48:34 +02:00
Jeremy Felder
87ccd62976 Fix go setup in CI (#420)
## Describe the changes

This PR adds the use of setup-go in the CI to ensure that `go` is
installed properly and caches dependencies and build outputs by default
2024-03-06 12:31:24 +02:00
Jeremy Felder
d8f2313a01 Fix the rust changed files glob pattern (#419)
## Describe the changes

This PR fixes the glob pattern of changed files for rust
2024-03-05 12:27:08 +02:00
ChickenLover
a2ae7a9e2f minor changes to cuda (#414)
## Describe the changes

 - Fix include statements to use absolute path
 - Remove stale comments and code parts
 - Fix test_kernels.cu bug
2024-03-04 16:52:03 +07:00
ImmanuelSegol
d98b851d62 fix-primitives-links (#411) 2024-03-03 13:42:28 +07:00
ImmanuelSegol
4d19ca0b98 Vec ops docs (#410)
* fix examples

* revert

* refactor

* refactor

* refactor

* refactor

* refactor
2024-02-29 13:26:17 -05:00
Otsar
2e20be56f7 Added badges (#409)
* Update overview.md

Changed and updated static badges

* Update README.md

Added badge to readme
2024-02-29 15:26:12 +02:00
ImmanuelSegol
afa61c64f4 fix dcos base url (#408)
refactor
2024-02-29 14:18:53 +02:00
Jeremy Felder
7934e15768 Release v1.6.0 (#406)
Release v1.6.0

- Add vector operations to golang bindings #399 
- Add Pederson commitment example in c++ #397
- Update CI for faster/better flow #398 
- Fix dev docs CI #405
v1.6.0
2024-02-29 08:27:10 +02:00
ImmanuelSegol
76939f34e0 fix docs deploy github action (#405) 2024-02-28 18:09:04 +02:00
Jeremy Felder
1c1b2bab64 CI: move to language specific flows (#398)
Updates the CI to:
- run per supported language
- conditional run logic
- pipelined jobs for failing fast
- additional parallelization
- run golang build on windows
- reuse the check-changed-files workflow
2024-02-28 18:09:03 +02:00
Stas
d90081926f Pedersen commitment example in c++ (#397)
* initial commit

* random elliptic points

* initial complete example

* public random seed to prevent knowing dlogs

* cleaned up code

* add README

* Update examples/c++/pedersen-commitment/README.md

Co-authored-by: Jeremy Felder <jeremy.felder1@gmail.com>

* updates to PR comments

* codespell compliance

* corrected terminology in README

---------

Co-authored-by: Jeremy Felder <jeremy.felder1@gmail.com>
2024-02-28 18:09:03 +02:00
Jeremy Felder
656dd18cf8 Add vector operations for golang bindings (#399) 2024-02-28 18:09:03 +02:00
Jeremy Felder
40309329fb Migrate docs website + improved docs (#389) (#403)
migrate docs website + improved docs (#389)

* Update README.md (#385)

* refactor

* refactor

* refactor

* rename task

* update codespell

* multi gpu docs (#391)

* Refactor

* refacotr

* fix typo

* Apply suggestions from code review



* refactor

* refactor

---------

Co-authored-by: ImmanuelSegol <3ditds@gmail.com>
Co-authored-by: DmytroTym <dmytrotym1@gmail.com>
Co-authored-by: ChickenLover <Romangg81@gmail.com>
2024-02-28 14:40:04 +02:00
Jeremy Felder
e6035698b5 Release v1.5.0 (#393)
# Contents of this release

Examples: multi-gpu example #381
Examples: updates example compares Radix2 and MixedRadix NTTs #383
Feat: add vector operations bindings to Rust #384 
Examples: update examples with new vec ops #388 
Feat: Grumpkin curve implementation #379 
Feat: mixed-radix NTT fast twiddles mode #382 
Docs: Update README.md #385 #387 
README: Update Hall of Fame section #394 
Examples: add rust poseidon example #392 
Feat: GoLang bindings for v1.x #386
v1.5.0
2024-02-23 10:15:18 +02:00
Jeremy Felder
e8cd2d7a98 GoLang bindings for v1.x (#386) 2024-02-22 20:52:48 +02:00
ChickenLover
efda4de48f add rust poseidon example (#392)
add rust poseidon example
2024-02-22 19:47:40 +02:00
ChickenLover
402c9dfb53 Update Hall of Fame section (#394)
Add nonam3e as contributor
2024-02-22 19:39:58 +02:00
ChickenLover
9a6ab924c2 Update README.md (#385) (#387) 2024-02-22 11:39:15 +07:00
yshekel
275b2f4958 feature: mixed-radix NTT fast twiddles mode (#382)
- this mode is allocating additional 4N twiddle-factors to achieve faster computation
- enabled by flag for initDomain(). Defaults to false.

Co-authored-by: hadaringonyama <hadar@ingonyama.com>
2024-02-22 00:02:02 +02:00
nonam3e
4b221e9665 Grumpkin curve implementation (#379) 2024-02-21 23:20:28 +07:00
ChickenLover
965bf757f9 update examples with new vec ops (#388) 2024-02-21 22:30:40 +07:00
ChickenLover
f9755980f0 add vector operations bindings to Rust (#384)
* add vector operations bindings to Rust
2024-02-21 21:17:10 +07:00
Stas
bb62e716b4 Temp/stas/muli gpu example (#381)
## Describe the changes

This PR adds Multi-GPU Poseidon example

## Linked Issues

Some minor on-device memory issues require attention from devs, please
help
2024-02-20 19:45:44 -06:00
stas
c046fd17c6 removed my comments from poseidon.cuh 2024-02-20 20:43:59 -05:00
stas
82d1ff4769 fixed spelling in poseidon.cuh 2024-02-20 20:40:45 -05:00
Stas
d1f19af64d Merge branch 'dev' into temp/stas/muli-gpu-example 2024-02-20 19:07:48 -06:00
stas
b1af193f6f fixed spelling 2024-02-20 19:14:25 -05:00
Stas
49c7fb0db1 updates example compares Radix2 and MixedRadix NTTs (#383)
## Describe the changes

Update to cover new NTT algorithms
2024-02-20 18:05:39 -06:00
stas
4664cfded5 complied with reviewer's comments 2024-02-19 15:59:49 -05:00
ChickenLover
fc6badcb35 Update README.md (#385) 2024-02-19 18:54:10 +07:00
stas
fb9e5c8511 updates example compares Radix2 and MixedRadix NTTs 2024-02-18 18:40:01 -05:00
Stas Polonsky
518a3ad9b6 ready for PR 2024-02-17 00:18:21 +00:00
Stas Polonsky
6681be549a fixed on-device memory issue 2024-02-16 19:43:58 +00:00
Stas Polonsky
319358427f cudaSetDevice in the thread function 2024-02-16 16:35:04 +00:00
Stas Polonsky
8dd52306dc update README 2024-02-15 23:07:33 +00:00
Stas Polonsky
418c3d844b completed example 2024-02-15 22:10:15 +00:00
DmytroTym
15a63cc549 Release v1.4.0 (#378)
## Contents of this release

[FEAT]: support for multi-device execution:
https://github.com/ingonyama-zk/icicle/pull/356
[FEAT]: full support for new mixed-radix NTT:
https://github.com/ingonyama-zk/icicle/pull/367,
https://github.com/ingonyama-zk/icicle/pull/368 and
https://github.com/ingonyama-zk/icicle/pull/371
[FEAT]: examples for Poseidon hash and tree builder based on it
(currently only on C++ side):
https://github.com/ingonyama-zk/icicle/pull/375
[PERF]: MSM performance upgrades & zero point handling:
https://github.com/ingonyama-zk/icicle/pull/372
v1.4.0
2024-02-15 22:32:56 +02:00
ImmanuelSegol
275eaa9904 bump version 2024-02-15 19:36:18 +00:00