Maximize CPU Performance with Clang
For optimal performance of ICICLE on the CPU backend, we recommend building ICICLE using Clang.
• Why Clang? It provides better performance optimizations compared to other compilers.
• Automatic Detection: Simply ensure Clang is installed on your system. ICICLE will automatically detect and use it during the build process.
No additional configuration is required—just install Clang, and you’re ready to go!
Important Notice for Upgraders
If you are upgrading from a previous version:
Ensure that you update both the frontend and backend Icicle libraries. Failing to update both can result in missing symbols and unexpected crashes due to incompatibilities between versions.
Typical Installation Paths:
• Backend Libraries: Usually installed in /opt/icicle.
• Frontend Libraries: Typically located in /usr/local/lib or a similar system directory based on your setup.
Upgrade Instructions:
1. Uninstall the previous version completely to avoid any residual files.
2. Install the new version of both frontend and backend libraries.
Updating both components ensures compatibility and stability across all Icicle features in the latest release.
What's Changed
- naming alignemnt for default_input_chunk_size by @mickeyasa in #646
- updated banner to show 3.1 by @Otsar-Raikou in #648
- Dev docs banner update 3.1 by @Otsar-Raikou in #649
- Golang poseidon docs by @jeremyfelder in #644
- verify and assert correct t-parameter for Poseidon hasher by @yshekel in #652
- Update docs for v3.1 by @LeonHibnik in #650
- support column batch for polynomial division CPU backend by @ShanieWinitz in #645
- Support padding for the leaves of the merkle tree by @mickeyasa in #647
- moving poseidon constants to icicle/hash/poseidon_constants by @mickeyasa in #658
- [Docs]: Update docusaurus to latest and add versioned docs by @jeremyfelder in #661
- updates for metal backend by @yshekel in #654
- Program-support by @mickeyasa in #664
- default to clang for faster CPU performance by @yshekel in #666
- Replace random function to make CI reproducible by @Koren-Brand in #665
- Emir/host arithmetic by @emirsoyturk in #669
- Compute non-large NTTs in CPU backend without parallelism by @ShanieWinitz in #671
- Replace rand() with rand_uint_32b() for reproducibility by @Koren-Brand in #674
- add a test to check cpu program executor by @mickeyasa in #675
- install clang in release dockers by @yshekel in #676
- feat: Poseidon2 hash function by @danny-shterman in #673
- Test Merkle-tree padding for all device by @yshekel in #668
Full Changelog: v3.1.0...v3.2.0