Commit Graph

14 Commits

Author SHA1 Message Date
William Seo
5b1ac714f9 changed ci.yml again again 2022-03-31 21:18:30 +00:00
William Seo
308bcbc86d changed ci.yml again 2022-03-31 21:16:48 +00:00
William Seo
f127d5d48e changed ci.yml 2022-03-31 21:15:40 +00:00
William Seo
d30b3d4bf7 Changed build script and ci.yml 2022-03-31 21:08:11 +00:00
Edward Chen
8fed29bd32 ABY VM and Interpreter (#47)
Updated ABY testing framework with an ABY bytecode and interpreter
2022-02-28 19:47:50 -05:00
Edward Chen
b9526234ac Updating build system (#44)
`python3 driver.py -h`
2022-02-25 17:13:10 -05:00
Alex Ozdemir
cba4bdc925 Cache submodule build (#38) 2022-01-09 08:49:07 -08:00
Alex Ozdemir
a9fd7888c4 Resolve lints and add clippy to CI (#35)
`front::zokrates` is currently excluded
2022-01-01 12:27:36 -08:00
Alex Ozdemir
f2744e0c06 IR-based Zokrates front-end (#33)
The ZoKrates front-end now represents ZoK arrays as IR arrays, and ZoK structures as (type-tagged) IR tuples.

During this change, I discovered that IR support for eliminating tuples and arrays was not complete.

Thus the change list is:

    The ZoK front-end uses IR arrays and tuples
    Improve IR passes for array and tuple elimination
    Enforce cargo fmt in CI
    Bugfix: handle ZoK accessors in L-values in the correct order
    Bugfix: add array evaluation to the IR

This PR does not:

    implement an array flattening pass
    implement permutation-based memory-checking

Benefits:

    The ZoK->R1CS compiler is now ~5.88x faster (as defined by the time it takes to run the tests in master's scripts/zokrates_test.zsh script: this goes from 8.59s to 1.46s)
        For benchmarks with multi-dimensional arrays, the ZoK->R1CS compiler can now compile them with reasonable speed. Before it it would time out on even tiny examples.
    The ZoK->R1CS compiler will be able to benefit from future memory-checking improvements
    IR support for arrays and tuples is complete now, making those parts of the IR more accessible to future front-ends.

alex-ozdemir added 21 commits 11 days ago
2022-01-01 11:44:56 -08:00
Alex Ozdemir
81b364c2a7 Switch to stable (#32) 2021-12-19 22:35:02 -08:00
Alex Ozdemir
39c9c6ae00 CBC dependency for LPs (#8) 2021-08-04 14:03:26 -07:00
Edward Chen
68da42993c Zok to ABY pipeline (#4)
Lowering layer from CirC IR to ABY 
- Lowers IR to ABY C++ 
- Writes translated code into ABY submodule and update CMake files
- tests using Python to run ABY executables

Co-authored-by: Alex Ozdemir <aozdemir@hmc.edu>
2021-07-28 21:33:21 -07:00
Alex Ozdemir
e08c9d9119 run CI on ci branch 2021-06-29 23:37:14 -07:00
Alex Ozdemir
aa11f4df74 try CI 2021-06-29 23:35:46 -07:00