Skip to content

Commit

Permalink
more docs update
Browse files Browse the repository at this point in the history
  • Loading branch information
yshekel committed Aug 29, 2024
1 parent 7105132 commit a65cab1
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,9 @@ Each ICICLE release includes a tar file named `icicle30-<distribution>.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).
Expand Down Expand Up @@ -69,13 +68,12 @@ Each ICICLE release includes a tar file named `icicle30-<distribution>.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
Expand All @@ -98,9 +96,9 @@ Each ICICLE release includes a tar file named `icicle30-<distribution>.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**
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/icicle/install_cuda_backend.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion docs/docs/icicle/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
2 changes: 1 addition & 1 deletion docs/docs/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
2 changes: 1 addition & 1 deletion docs/sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ module.exports = {
label: "Getting started",
link: {
type: `doc`,
id: "icicle/install_and_use",
id: "icicle/getting_started",
},
collapsed: false,
items: [
Expand Down

0 comments on commit a65cab1

Please sign in to comment.