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

Commit

Permalink
init docs
Browse files Browse the repository at this point in the history
  • Loading branch information
ImmanuelSegol committed Oct 4, 2023
1 parent f9289d9 commit 1cf2397
Show file tree
Hide file tree
Showing 19 changed files with 14,007 additions and 0 deletions.
17 changes: 17 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
.docusaurus/
node_modules/
yarn.lock
.DS_Store

# tex build artifacts
.aux
.bbl
.bcf
.blg
.fdb_latexmk
.fls
.log
.out
.xml
.gz
.toc
3 changes: 3 additions & 0 deletions babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module.exports = {
presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
};
Empty file added docs/blaze/bindings.md
Empty file.
Empty file.
Empty file added docs/blaze/introduction.md
Empty file.
1 change: 1 addition & 0 deletions docs/blaze/overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# TODO
Empty file added docs/icicle/bindings.md
Empty file.
Empty file.
Empty file added docs/icicle/introduction.md
Empty file.
1 change: 1 addition & 0 deletions docs/icicle/overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# TODO
49 changes: 49 additions & 0 deletions docs/introduction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
slug: /
displayed_sidebar: GettingStartedSidebar
---
# Introduction

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 intesive cryptography and making it acceible for developers to build ontop of.

- **[ICICLE]**:
A GPU Library for Zero-Knowledge Acceleration. ICICLE allows you to acclerate your ZK protocols in a matter of hours.

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

---
## Our current take on hardware accleration

At Ingonyama we belive that GPUs are emerging as an essential infrastructure component for enabling ZK acceleartion. This is due to their mass avalbilty, industry proven scaliblity, competitve preformace to power ratio and the ease at which developers can intergarte GPUs into their software stack. For a complete review of this topic we suggest you read [this article](https://medium.com/@omershlomovits/revisiting-paradigm-hardware-acceleration-for-zero-knowledge-proofs-16f717a49555) by our CEO.

We belive GPUs are as important for ZK as to AI.

However despite our current focus on GPUs we are still hard at work developing a ZPU (ZK Processing Unit), with the goal of offering a programable hardware platform for ZK.

## ICICLE

ICICLE is a CUDA library implementing cryptographic primitives, its designed to be used as a crypro library in any ZK protocol. What this means is that if you are looking to accelerate your exsisting prover or are writing a prover from scratch its possible to simply use ICICLE and enjoy GPU acclerated primitives such as EC operations, MSM, NTT and more without having to write a single line of CUDA code!

ICICLE comes with Rust and Golang bindings offically supported by Ingonyama. Using ICICLE is as simple as installing a Golang or Rust package in your project.
Using ICICLE you wont only enjoy faster prover runtimes but compute scalability as well, now that your proving pipeline supports GPU its possible to use ICICLE's multi GPU support to scale your prover across any number of GPUs.

Learn more about ICICLE and GPUs [here](./icicle/overview.md).

## 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.

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 binary's to an FPGA and much more. FPGA developers can benefit by building their accelerators based on our shell named [Wrapshell](https://github.com/Quarky93/warpshell). Wrapshell 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. Wrapshell with Blaze allow you to deliver easy to integrate custom PCIe-based FPGA accelerator.

Learn more about Blaze and FPGAs [here](./icicle/overview.md).

## Get in Touch

If you have any questions, ideas, or are thinking of building something in this space join our discssion on [Discord]. Most of our work is open source, you can explore our code on [github](https://github.com/ingonyama-zk) or perhaps read some of [our research papers](https://github.com/ingonyama-zk/papers).

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]: bonsai/bonsai-overview.md
[BLAZE]: proof-system/proof-system.mdi
[Discord]: https://discord.gg/6vYrE7waPj
143 changes: 143 additions & 0 deletions docusaurus.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
// @ts-check
const lightCodeTheme = require('prism-react-renderer/themes/github');
const darkCodeTheme = require('prism-react-renderer/themes/dracula');
const math = require('remark-math');
const katex = require('rehype-katex');

/** @type {import('@docusaurus/types').Config} */
const config = {
title: 'Ingonyama Developer Documentation',
tagline: 'Ingonyama is a next-generation semiconductor company, focusing on Zero-Knowledge Proof hardware acceleration. We build accelerators for advanced cryptography, unlocking real-time applications.',
url: 'todo', //todo
baseUrl: '/',
onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'warn',
favicon: 'img/logo.png',
organizationName: 'Ingonyama',
projectName: 'ingonyama-developer-docs',
presets: [
[
'classic',
/** @type {import('@docusaurus/preset-classic').Options} */
({
docs: {
showLastUpdateAuthor: true,
showLastUpdateTime: true,
routeBasePath: '/',
remarkPlugins: [math, require('mdx-mermaid')],
rehypePlugins: [katex],
sidebarPath: require.resolve('./sidebars.js'),
editUrl: 'https://github.com/ingonyama-zk/developer-docs',
},
blog: {
remarkPlugins: [math, require('mdx-mermaid')],
rehypePlugins: [katex],
showReadingTime: true,
editUrl: 'https://github.com/ingonyama-zk/developer-docs',
},
pages: {},
theme: {
customCss: require.resolve('./src/css/custom.css'),
},
}),
],
],

stylesheets: [
{
href: 'https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css',
type: 'text/css',
integrity:
'sha384-odtC+0UGzzFL/6PNoE8rX/SPcQDXBJ+uRepguP4QkPCm2LBxH3FA3y+fKSiJ+AmM',
crossorigin: 'anonymous',
},
],

scripts: [
{
src: 'https://plausible.io/js/script.js',
'data-domain':'ingonyama.com',
defer: true,
},
],

themeConfig:
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
({
hideableSidebar: true,
colorMode: {
defaultMode: 'light',
respectPrefersColorScheme: false,
},
algolia: {
appId: 'C4J3NJDLCO',
apiKey: 'e633ae6e113f548d55297a2cca6ae31f',
indexName: 'ingonyama',
searchPagePath: 'search',
contextualSearch: true,
},
navbar: {
title: 'Ingonyama Developer Documentaion',
logo: {
alt: 'Ingonyama Logo',
src: 'img/logo.png',
},
items: [
{
position: 'left',
label: 'Docs',
to: '/',
},
{
position: 'left',
label: 'FAQ',
to: 'tech_faq',
},
{
href: 'https://github.com/ingonyama-zk',
position: 'right',
label: 'GitHub',
},
{
href: 'https://www.ingonyama.com/ingopedia/glossary',
position: 'right',
label: 'Ingopedia',
},
{
type: 'dropdown',
position: 'right',
label: 'Community',
items: [
{
label: 'Discord',
href: 'https://discord.gg/6vYrE7waPj',
},
{
label: 'Twitter',
href: 'https://x.com/Ingo_zk',
},
{
label: 'YouTube',
href: 'https://www.youtube.com/@ingo_ZK'
},
{
label: 'Mailing List',
href: 'https://wkf.ms/3LKCbdj',
}
]
},

],
},
footer: {
copyright: `Copyright © ${new Date().getFullYear()} Ingonyama, Inc. Built with Docusaurus.`,
},
prism: {
theme: lightCodeTheme,
darkTheme: darkCodeTheme,
},
image: 'img/logo.png',
}),
};

module.exports = config;
Loading

0 comments on commit 1cf2397

Please sign in to comment.