Releases: ingonyama-zk/icicle
Release v1.8.0
This release contains MultiGPU API for Golang, MSM pre-computation, NTT column batch API and general improvements
What's Changed
- feat: add warmup for CudaStream by @alxiong in #422
- Fix release flow with deploy key and caching by @jeremyfelder in #425
- update go install source in Dockerfile by @cyl19970726 in #428
- FEAT: MultiGPU for golang bindings by @jeremyfelder in #417
- NTT columns batch by @HadarIngonyama in #424
- MSM pre-computation by @DmytroTym in #427
New Contributors
- @alxiong made their first contribution in #422
- @cyl19970726 made their first contribution in #428
Known issues
- Golang bindings currently do not support:
- Poseidon
- ECNTT
- NTT batch column mode supported only in MixedRadix mode
- We plan to change Rust-side HostOrDeviceSlice in a breaking way in a future release
Full Changelog: v1.7.0...v1.8.0
Release v1.7.0
This release contains some documentation updates and general code cleanup.
What's Changed
- fix docs base url by @ImmanuelSegol in #408
- Added badges by @Otsar-Raikou in #409
- Vec ops docs by @ImmanuelSegol in #410
- fix-primitives-links by @ImmanuelSegol in #411
- minor changes to cuda by @ChickenLover in #414
- Fix the changed files glob pattern by @jeremyfelder in #419
- Fix go setup in CI by @jeremyfelder in #420
- Small features by @ChickenLover in #415
- golang docs by @ImmanuelSegol in #413
- Release flow CI by @jeremyfelder in #423
Known issues
- Golang bindings do not support:
- Poseidon
- Multi GPU
- ECNTT
- We plan to change Rust-side HostOrDeviceSlice in a breaking way in a future release
Full Changelog: v1.6.0...v1.7.0
v1.6.0
What's Changed
- CI: move to language specific flows (#398) by @jeremyfelder
- Pedersen commitment example in c++ (#397) by @svpolonsky
- Add vector operations for golang bindings (#399) by @jeremyfelder
- Migrate docs website + improved docs (#389) by @ImmanuelSegol
Known issues
- Golang bindings do not support:
- Poseidon
- Multi GPU
- ECNTT
- We plan to change Rust-side HostOrDeviceSlice in a breaking way in a future release
Full Changelog: v1.5.0...v1.6.0
Release v1.5.0
This version introduces vector operations on the Rust bindings, brings Golang bindings into the 1.x version, small NTT improvements, implementation of Grumpkin curve with Rust bindings and more examples.
Big shout out to @nonam3e for adding support for Grumpkin curve 💪🏻 🚀
What's Changed
- Update README.md by @ChickenLover in #385
- updates example compares Radix2 and MixedRadix NTTs by @svpolonsky in #383
- Temp/stas/muli gpu example by @svpolonsky in #381
- add vector operations bindings to Rust by @ChickenLover in #384
- update examples with new vec ops by @ChickenLover in #388
- Grumpkin curve implementation by @nonam3e in #379
- feature: mixed-radix NTT fast twiddles mode by @yshekel in #382
- Update README.md (#385) by @ChickenLover in #387
- Update Hall of Fame section by @ChickenLover in #394
- add rust poseidon example by @ChickenLover in #392
- GoLang bindings for v1.x by @jeremyfelder in #386
- Release v1.5.0 by @jeremyfelder in #393
New Contributors
Known issues
- Golang bindings do not support:
- Vector Operations
- Poseidon
- Multi GPU
- ECNTT
- We plan to change Rust-side
HostOrDeviceSlice
in a breaking way in the next release
Full Changelog: v1.4.0...v1.5.0
Release v1.4.0
This version introduces multi-device execution, improved MSM and NTT and more examples.
What's changed
- ICICLE can now utilise more than one GPU thanks to @vhnatyk in #356
- Our new mixed-radix NTT now supports cosets, batch mode and different orderings by @yshekel and @HadarIngonyama in #367, #368 and #371
- Poseidon examples by @ImmanuelSegol and @svpolonsky in #375
- MSM performance improvements and zero point handling by @DmytroTym in #372
Known issues
- Golang bindings are missing.
- We feel the need to change
HostOrDeviceSlice
in Rust bindings asap, probably in a breaking way.
Full changeling: v1.3.0...v1.4.0
Release v1.3.0
This version introduces an updated NTT design using a mixed-radix approach
What's Changed
- Mixed-radix NTT algorithm by @yshekel and @HadarIngonyama in #348, #367, #368
- Fix: examples path deps by @jeremyfelder in #363
- Add concurrency group to examples workflow by @jeremyfelder in #361
Known issues
- Golang bindings are missing
- In Cmake, if CMAKE_BUILD_TYPE is Debug and not Release, the build is very slow and memory-heavy.
Full Changelog: v1.2.0...v1.3.0
Release v1.2.0
This version introduces support for Poseidon hash and Merkle trees using Poseidon Hash.
What's Changed
- Implement Poseidon and TreeBuilder by @ChickenLover in #352
- Fixed overflow in large coset NTTs by @DmytroTym in #358
Known issues
- Golang bindings are missing
- In Cmake, if CMAKE_BUILD_TYPE is Debug and not Release, the build is very slow and memory-heavy.
Full Changelog: v1.1.0...v1.2.0
v1.1.0
This version updates examples to work with the latest API and fixes a few bugs including building on windows, MSM improvements, and G2 in Rust bindings.
What's Changed
- refactor: generate curve-specific function names with macro by @yshekel in #337
- Update README.md by @Otsar-Raikou in #339
- refactor: consolidate msm and batch-msm implementations to one function by @yshekel in #342
- c++ msm uses new API by @svpolonsky in #338
- [FEAT]: Add codespell to CI and pre-commit hooks by @jeremyfelder in #344
- Fix/windows build failing by @jeremyfelder in #345
- G2 fix and BW6 scalar field on the Rust side by @DmytroTym in #341
- update readme links by @LeonHibnik in #346
- Release v1.1.0 by @jeremyfelder in #357
Known issues
- Golang bindings are missing
- In Cmake, if CMAKE_BUILD_TYPE is Debug and not Release, the build is very slow and memory-heavy.
New Contributors
- @yshekel made their first contribution in #337
- @svpolonsky made their first contribution in #338
Full Changelog: v1.0.0...v1.1.0
v1.0.0
Introducing a wide Cuda/c++ architecture change, together with updated user API and a more streamlined compilation/linking process
This version is incompatible with previous ICICLE version/commits
What's Changed
- Cuda refactoring by @DmytroTym in #240
- Linting as per google guide by @DmytroTym in #241
- Update Rust apis by @DmytroTym in #262
- Update Rust APIs by @DmytroTym in #292
- New API by @jeremyfelder in #293
- Fix the need for a dummy bindings.rs file included in the repo by @jeremyfelder in #296
- update readme by @ImmanuelSegol in #303
- Add Nix Shell Environment Configuration for CUDA by @bigsky77 in #318
- Fix typos by @AdventureSeeker987 in #319
- Fix curve crates not building when used as dependency by @jeremyfelder in #320
- Fix main build badge to be on push and not pr by @jeremyfelder in #325
- New API for Version 1.0.0 by @jeremyfelder in #326
Known issues
- Golang bindings are missing
- Windows build fails
- In Cmake, if
CMAKE_BUILD_TYPE
isDebug
and notRelease
, the build is very slow and memory-heavy.
Full Changelog: v0.1.0...v1.0.0