diff --git a/docs/docs/icicle/install_and_use.md b/docs/docs/icicle/getting_started.md similarity index 90% rename from docs/docs/icicle/install_and_use.md rename to docs/docs/icicle/getting_started.md index ce5032520..1145f0996 100644 --- a/docs/docs/icicle/install_and_use.md +++ b/docs/docs/icicle/getting_started.md @@ -33,10 +33,9 @@ Each ICICLE release includes a tar file named `icicle30-.tar.gz`, ## installing and using icicle -- Full C++ example here: https://github.com/ingonyama-zk/icicle/tree/yshekel/V3/examples/c++/install-and-use-icicle -- Full Rust example here: https://github.com/ingonyama-zk/icicle/tree/yshekel/V3/examples/rust/install-and-use-icicle - -(TODO update links to main branch when merged) +- [Full C++ example](https://github.com/ingonyama-zk/icicle/tree/yshekel/V3/examples/c++/install-and-use-icicle) +- [Full Rust example](https://github.com/ingonyama-zk/icicle/tree/yshekel/V3/examples/rust/install-and-use-icicle) +- (TODO update links to main branch when merged) 1. **Extract and install the Tar Files**: - [Download](https://github.com/ingonyama-zk/icicle/releases) the appropriate tar files for your distribution (Ubuntu 20.04, Ubuntu 22.04, or UBI 8,9 for RHEL compatible binaries). @@ -69,13 +68,12 @@ Each ICICLE release includes a tar file named `icicle30-.tar.gz`, - When compiling your C++ application, link against the ICICLE libraries: ```bash g++ -o myapp myapp.cpp -licicle_device -licicle_field_bn254 -licicle_curve_bn254 - # if not installed in standard dirs, for example /custom/path/, need to specify it g++ -o myapp myapp.cpp -I/custom/path/icicle/include -L/custom/path/icicle/lib -licicle_device -licicle_field_bn254 -licicle_curve_bn254 -Wl,-rpath,/custom/path/icicle/lib/ ``` - Or via cmake - ```cmake + ```bash # Add the executable add_executable(example example.cpp) # Link the libraries @@ -98,9 +96,9 @@ Each ICICLE release includes a tar file named `icicle30-.tar.gz`, ``` :::tip - If you face linkage issues, try ldd myapp to see the runtime dependencies. If ICICLE libs are not found, you need to add the install directory to the search path of the linker. In a development environment, you can do that using the environment variable export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/custom/path/icicle/lib or similar (for non-Linux). For deployment, make sure it can be found and avoid using LD_LIBRARY_PATH. + If you face linkage issues, try `ldd myapp` to see the runtime dependencies. If ICICLE libs are not found, you need to add the install directory to the search path of the linker. In a development environment, you can do that using the environment variable export `LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/custom/path/icicle/lib` or similar (for non-Linux). For deployment, make sure it can be found and avoid using LD_LIBRARY_PATH. - Alternatively, you can embed the search path in the app as an rpath by adding -Wl,-rpath,/custom/path/icicle/lib/. This is demonstrated above. + Alternatively, you can embed the search path in the app as an rpath by adding `-Wl,-rpath,/custom/path/icicle/lib/`. This is demonstrated above. ::: **Rust** diff --git a/docs/docs/icicle/install_cuda_backend.md b/docs/docs/icicle/install_cuda_backend.md index 20166651d..8e448757b 100644 --- a/docs/docs/icicle/install_cuda_backend.md +++ b/docs/docs/icicle/install_cuda_backend.md @@ -7,7 +7,7 @@ The CUDA backend in ICICLE V3 is a high-performance, closed-source component des ## Installation -The CUDA backend is a closed-source component that requires a license. [To install the CUDA backend, see here](./install_and_use#installing-and-using-icicle). +The CUDA backend is a closed-source component that requires a license. [To install the CUDA backend, see here](./getting_started#installing-and-using-icicle). ### Licensing diff --git a/docs/docs/icicle/overview.md b/docs/docs/icicle/overview.md index e809eb24d..49fb67ecc 100644 --- a/docs/docs/icicle/overview.md +++ b/docs/docs/icicle/overview.md @@ -69,7 +69,7 @@ ICICLE is also well-suited for prototyping and developing small-scale projects. ## Get Started with ICICLE -Explore the full capabilities of ICICLE by diving into the [Architecture](./arch_overview.md), [Getting Started Guide](./install_and_use.md) and the [programmers guide](./programmers_guide/general.md) to learn how to integrate, deploy, and extend ICICLE across different backends. +Explore the full capabilities of ICICLE by diving into the [Architecture](./arch_overview.md), [Getting Started Guide](./getting_started.md) and the [programmers guide](./programmers_guide/general.md) to learn how to integrate, deploy, and extend ICICLE across different backends. If you have any questions or need support, feel free to reach out on [Discord] or [GitHub](https://github.com/ingonyama-zk). We're here to help you accelerate your ZK development with ICICLE. diff --git a/docs/docs/introduction.md b/docs/docs/introduction.md index c8d414fe0..4a89da9fa 100644 --- a/docs/docs/introduction.md +++ b/docs/docs/introduction.md @@ -13,7 +13,7 @@ Currently our flagship products are: #### **ICICLE V3** [ICICLE V3](https://github.com/ingonyama-zk/icicle) is a versatile cryptography library designed to support multiple compute backends, including CUDA, CPU, and potentially others like Metal, WebGPU, Vulkan, and ZPU. Originally focused on GPU acceleration, ICICLE has evolved to offer backend-agnostic cryptographic acceleration, allowing you to build ZK provers or other cryptographic applications with ease, leveraging the best available hardware for your needs. -- **Multiple Backend Support:** Develop on CPU and deploy on various backends including CUDA, Metal, WebGPU, Vulkan, ZPU, or even remote machines. +- **Multiple Backend Support:** Develop on CPU and deploy on various backends including CUDA and potentially Metal, WebGPU, Vulkan, ZPU, or even remote machines. - **Cross-Language Compatibility:** Use ICICLE across multiple programming languages such as C++, Rust, Go, and possibly Python. - **Optimized for ZKPs:** Accelerate cryptographic operations like elliptic curve operations, MSM, NTT, Poseidon hash, and more. diff --git a/docs/sidebars.js b/docs/sidebars.js index c28ded97a..661c139f7 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -50,7 +50,7 @@ module.exports = { label: "Getting started", link: { type: `doc`, - id: "icicle/install_and_use", + id: "icicle/getting_started", }, collapsed: false, items: [