Skip to content
This repository has been archived by the owner on Feb 29, 2024. It is now read-only.

Commit

Permalink
Small updates
Browse files Browse the repository at this point in the history
  • Loading branch information
jeremyfelder committed Jan 8, 2024
1 parent 76cba4f commit e9b909e
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 31 deletions.
18 changes: 10 additions & 8 deletions docs/grants.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,21 @@
Ingonyama understands the importance of supporting and fostering a vibrant community of researchers and builders to advance ZK. To encourage progress, we are not only developing in the open but also sharing resources with researchers and builders through various programs.

## ICICLE ZK-GPU Ecosystem Grant
Ingonyama invites researchers and practitioners to collaborate in advancing ZK acceleration. We are allocating $100,000 for grants to support this initiative.

## Bounties & Grants
Eligibility for grants includes:
Ingonyama invites researchers and practitioners to collaborate in advancing ZK acceleration. We are allocating $100,000 for grants to support this initiative.

### Bounties & Grants

1. **Students**: Utilize Icicle in your research.
2. **Performance Improvement**: Enhance the performance of accelerated primitives in Icicle.
3. **Protocol Porting**: Migrate existing ZK protocols to Icicle.
4. **New Primitives**: Contribute new primitives to Icicle.
5. **Benchmarking**: Compare ZK benchmarks against Icicle.
Eligibility for grants includes:

1. **Students**: Utilize ICICLE in your research.
2. **Performance Improvement**: Enhance the performance of accelerated primitives in ICICLE.
3. **Protocol Porting**: Migrate existing ZK protocols to ICICLE.
4. **New Primitives**: Contribute new primitives to ICICLE.
5. **Benchmarking**: Compare ZK benchmarks against ICICLE.

## Contact

For questions or submissions: [grants@ingonyama.com](mailto:grants@ingonyama.com)

**Read the full article [here](https://www.ingonyama.com/blog/icicle-for-researchers-grants-challenges)**
26 changes: 16 additions & 10 deletions docs/icicle/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@

ICICLE is a cryptography library for ZK using GPUs. ICICLE implements blazing fast cryptographic primitives such as EC operations, MSM, NTT, Poseidon hash and more on GPU.

ICICLE allows developers with minimal GPU experience to effortlessly accelerate there ZK application; from our experiments, even the most naive implementation may yield 10X improvement in proving times.
ICICLE allows developers with minimal GPU experience to effortlessly accelerate there ZK application; from our experiments, even the most naive implementation may yield 10X improvement in proving times.

ICICLE has been used by many leading ZK companies such as [Celer Network](https://github.com/celer-network), [Gnark](https://github.com/Consensys/gnark), [EZKL](https://blog.ezkl.xyz/post/acceleration/) and others to accelerate their ZK proving pipeline.


## Dont have access to a GPU?

We understand that not all developers have access to a GPU and we don't want this to limit anyone from developing with ICICLE.
Here are some ways we can help you gain access to GPUs:
We understand that not all developers have access to a GPU and we don't want this to limit anyone from developing with ICICLE.
Here are some ways we can help you gain access to GPUs:

### Grants

At Ingonyama we are interested in accelerating the progress of ZK and cryptography. If are an engineer, developer or an academic researcher we invite you to checkout [our grant program](https://www.ingonyama.com/blog/icicle-for-researchers-grants-challenges). We will give you access to GPUs and even pay you to do your dream research!
At Ingonyama we are interested in accelerating the progress of ZK and cryptography. If you are an engineer, developer or an academic researcher we invite you to checkout [our grant program](https://www.ingonyama.com/blog/icicle-for-researchers-grants-challenges). We will give you access to GPUs and even pay you to do your dream research!

### Google Colab

Expand All @@ -27,26 +27,32 @@ If none of these options are appropriate for you reach out to us on [telegram](h

[Vast.ai](https://vast.ai/) is a global GPU marketplace where you can rent many different types of GPUs by the hour for [competitive pricing](https://vast.ai/pricing). They provide on-demand and interruptible rentals depending on your need or use case; you can learn more about their rental types [here](https://vast.ai/faq#rental-types).

_If none of these options suit your needs, contact us on [telegram](https://t.me/RealElan) for assistance. We're committed to ensuring that a lack of a GPU doesn't become a bottleneck for you. If you need help with setup or any other issues, we're here to do our best to help you._
:::note

If none of these options suit your needs, contact us on [telegram](https://t.me/RealElan) for assistance. We're committed to ensuring that a lack of a GPU doesn't become a bottleneck for you. If you need help with setup or any other issues, we're here to do our best to help you.

# What can you do with ICICLE?
:::

## What can you do with ICICLE?

ICICLE can be used in the same way you would use any other cryptography library. Over the past couple of months developing and integrating ICICLE into many systems, we found a couple use case catagories:

### Circuit developers
### Circuit developers

If you are a circuit developer and are experiencing bottlenecks while running your circuits, an ICICLE integrated prover may be the solution.

ICICLE has been integrated into a number of popular ZK provers including [Gnark prover](https://github.com/Consensys/gnark) and [Halo2](https://github.com/zkonduit/halo2). This means that you can enjoy GPU acceleration for your existing circuits immediately without writing a single line of code by simply switching on the GPU prover flag!

### Integrating into existing ZK provers

From our collaboration with [EZKL](https://blog.ezkl.xyz/post/acceleration/) we have learned that its possible to accelerate a specific part of your prover to solve for a specific bottleneck.

ICICLE can be used to accelerate specific parts of your prover without completely rewriting your ZK prover.

### Developing your own ZK provers

If your goal is to build a ZK prover from the ground up, ICICLE is an ideal tool for creating a highly optimized and scalable ZK prover. A key benefit of using GPUs with ICICLE is the ability to scale your ZK prover efficiently across multiple machines within a data center.

### Developing proof of concepts
ICICLE is also ideal for developing small prototypes. ICICLE has Golang and Rust bindings so you can easily develop a library implementing a specific primitive using ICICLE. An example would be develop a KZG commitment library using ICICLE.


ICICLE is also ideal for developing small prototypes. ICICLE has Golang and Rust bindings so you can easily develop a library implementing a specific primitive using ICICLE. An example would be develop a KZG commitment library using ICICLE.
9 changes: 4 additions & 5 deletions docs/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
slug: /
displayed_sidebar: GettingStartedSidebar
---
# Welcome to Ingonyamas Developer Documentation
# Welcome to Ingonyama's Developer Documentation

Ingonyama is a next-generation semiconductor company, focusing on Zero-Knowledge Proof hardware acceleration. We build accelerators for advanced cryptography, unlocking real-time applications. Our focus is on democratizing access to compute intensive cryptography and making it accessible for developers to build on top of.

Expand All @@ -11,7 +11,7 @@ Currently our flagship products are:
- **ICICLE**:
ICICLE is a fully featured GPU accelerated cryptography library for building ZK provers. ICICLE allows you to accelerate your ZK existing protocols in a matter of hours or implement your protocol from scratch on GPU.

- **Blaze**:
- **Blaze**:
Blaze is a Rust library for ZK acceleration on Xilinx FPGAs. It makes it easier than ever for developers to interact with FPGAs and for FPGA designers to give developers access to their hardware.

---
Expand All @@ -31,7 +31,7 @@ Despite our current focus on GPUs we are still hard at work developing a ZPU (ZK

## ICICLE

ICICLE is a cryptography library for ZK using GPUs.
ICICLE is a cryptography library for ZK using GPUs.
ICICLE implements blazing fast cryptographic primitives such as EC operations, MSM, NTT, Poseidon hash and more on GPU.

ICICLE is designed to be easy to use, developers don't have to touch a single line of CUDA code. Our Rust and Golang bindings allow your team to transition from CPU to GPU with minimal changes.
Expand All @@ -40,7 +40,7 @@ Learn more about ICICLE and GPUs [here][ICICLE-OVERVIEW].

## Blaze

Blaze is a Rust library for ZK acceleration on Xilinx FPGAs. Blaze can be used by both FPGA developer and software engineers looking to integrate FPGAs into their software.
Blaze is a Rust library for ZK acceleration on Xilinx FPGAs. Blaze can be used by both FPGA developer and software engineers looking to integrate FPGAs into their software.

Software engineers will enjoy Blazes abstractions allowing them to interact with FPGA drivers at a high level without having to implement low level read/write operations, we also allow developers to programmatically load binaries to an FPGA and much more. FPGA developers can benefit by building their accelerators based on our shell named [Warpshell](https://github.com/Quarky93/warpshell). Warpshell offers common features, such as the PCIe subsystem (DMA), AXI Firewalls, and infrastructure to reconfigure the user-partition at runtime as well as many more features which simplify and speed up the development of FPGA-based accelerators. Warpshell with Blaze allows you to deliver easy to integrate custom PCIe-based FPGA accelerator.

Expand All @@ -51,5 +51,4 @@ If you have any questions, ideas, or are thinking of building something in this
Follow us on [Twitter](https://x.com/Ingo_zk) and [YouTube](https://www.youtube.com/@ingo_ZK) and sign up for our [mailing list](https://wkf.ms/3LKCbdj) to get our latest announcements.

[ICICLE-OVERVIEW]: ./icicle/overview.md
[BLAZE-OVERVIEW]: ./blaze/overview.md
[Discord]: https://discord.gg/6vYrE7waPj
15 changes: 7 additions & 8 deletions docs/zk-containers.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
# ZK Containers
# ZKContainer™️

We found that developing ZK provers with ICICLE gives developers the ability to scale ZK provers across many machines and many GPUs. To make this possible we developed the ZK Container.
We found that developing ZK provers with ICICLE gives developers the ability to scale ZK provers across many machines and many GPUs. To make this possible we developed the ZKContainer™️.

## What is a ZK Container?
## What is a ZKContainer™️?

A ZK Container is an standardized, optimized and secure docker container that we configured with ICICLE applications in mind. A developer using ZK Containers can deploy an ICICLE application on a single machine or on a thousand GPU machines in a data center with minimal concerns regarding compatibility.
A ZKContainer™️ is an standardized, optimized and secure docker container that we configured with ICICLE applications in mind. A developer using our ZKContainer™️ can deploy an ICICLE application on a single machine or on a thousand GPU machines in a data center with minimal concerns regarding compatibility.

ZK Containers have been used by Ingonyama clients to achieve scalability across large data centers.
We suggest you read our [article](https://medium.com/@ingonyama/product-announcement-zk-containers-0e2a1f2d0a2b) regarding ZK Containers to understand the benefits of using them.
ZKContainer™️ has been used by Ingonyama clients to achieve scalability across large data centers.
We suggest you read our [article](https://medium.com/@ingonyama/product-announcement-zk-containers-0e2a1f2d0a2b) regarding ZKContainer™️ to understand the benefits of using them.


![ZK Containers inside a ZK data center](../static/img/architecture-zkcontainer.png)
![ZKContainer™️ inside a ZK data center](../static/img/architecture-zkcontainer.png)

0 comments on commit e9b909e

Please sign in to comment.