v3.0.0
This version introduces a completely new design for ICICLE. We've developed a front-end user API that is backend-agnostic, supporting various hardware configurations. Additionally, we've added CPU support for MSM and NTT, with the CPU backend now set as the default. This allows developers to compile and run ICICLE seamlessly on Apple Mac and Linux machines as well.
What's Changed
- ICICLE V3 by @yshekel in #526
- Marketing dev docs review by @Otsar-Raikou in #602
- NTT simple cpu backend by @ShanieWinitz in #533
- Add tasks manager classes to ease multithreading for cpu by @Koren-Brand in #573
- implement multithread CPU vec ops by @mickeyasa in #577
- make features (G2,ecntt) default on by @yshekel in #583
- use ccache if available by @yshekel in #585
- Remove V2 files and rename V3 files by @yshekel in #586
- use 64b type for add/mul of field elements on CPU by @HadarIngonyama in #588
- Add Mersenne to v3 by @emirsoyturk and @nonam3e in #579
- v3 msm by @Koren-Brand in #581
- mv icicle m31 by @nonam3e, @ChickenLover, @jeremyfelder in #590
- Release script and install docs by @yshekel in #589
- fix api by @nonam3e in #592
- update MSM config struct field for shared bases by @HadarIngonyama in #562
- add rust test for batch-msm shared and non-shared points cases by @nonam3e in #587
- Fix typo for license error and updated docs by @yshekel in #593
- getting started edits by @Otsar-Raikou in #595
- Update README by @yshekel in #596
- Edit on README by @Otsar-Raikou, @yshekel and @jeremyfelder in #599
- edit intro doc by @Otsar-Raikou in #601
- parallel ntt on cpu by @ShanieWinitz in #591
- Rename extension field to complex and quatric extension by @ChickenLover in #598
- V3 golang bindings by @nonam3e, @jeremyfelder and @yshekel in #594
Next Up
- Hash and Merkle tree API, CPU support
- Additional Backend devices support
Full Changelog: v2.8.0...v3.0.0