[Wiki]
Iyokan is a generic engine for evaluating logical circuits, such as processors, over fully homomorphic encryption like TFHE. Currently, Iyokan supports TFHEpp and cuFHE (TFHE implementation for CPU and GPU, respectively).
$ mkdir build && cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ make
See binaries in build/bin/
.
If you want to enable CUDA support, use CMake option IYOKAN_ENABLE_CUDA
.
You may have to tell CMake where to find CUDA by CMAKE_CUDA_COMPILER
and
CMAKE_CUDA_HOST_COMPILER
like this:
$ cmake -DIYOKAN_ENABLE_CUDA=On -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc \
-DCMAKE_CUDA_HOST_COMPILER=/usr/bin/clang-8 \
..
CMake builds Iyokan with 128-bit security by default.
If you want weaker (but faster and more memory efficient) security,
use -DIYOKAN_80BIT_SECURITY=On
.
Run Ruby script test.rb
at Iyokan's root directory like this
(assume that target binaries are in build/bin/
):
$ sudo gem install toml-rb
$ ruby test.rb build/bin
If you want to run slow but detailed tests including ones for CUDA support:
$ ruby test.rb build/bin slow cuda
See our wiki for tutorials and more!