Git Product home page Git Product logo

fully-homomorphic-encryption's Introduction

Fully Homomorphic Encryption (FHE)

Note: HEIR is our next generation FHE compiler framework, please see its GitHub repo and its website https://heir.dev.

This repository contains open-source libraries and tools to perform fully homomorphic encryption (FHE) operations on an encrypted data set.

About Fully Homomorphic Encryption

Fully Homomorphic Encryption (FHE) is an emerging cryptographic technique that allows developers to perform computations on encrypted data. This represents a paradigm shift in how data processing and data privacy relate to each other.

Previously, if an application had to perform some computation on data that was encrypted, this application would necessarily need to decrypt the data first, perform the desired computations on the clear data, and then re-encrypt the data. FHE, on the other hand, simply removes the need for this decryption-encryption steps by the application, all at once.

In practice, for an application that needs to perform some computation F on data that is encrypted, the FHE scheme would provide some alternative computation F' which when applied directly over the encrypted data will result in the encryption of the application of F over the data in the clear. More formally: F(unencrypted_data) = Decrypt(F'(encrypted_data)).

As a result, FHE can have an enormous impact to our society. It can change the way computations are performed by preserving end-to-end privacy. For example, users would be able to offload expensive computations to cloud providers in a way that cloud providers will not have access to the users' data at all.

The main hindrance for the adoption of FHE has been its very poor performance. Despite significant scientific improvements, performing computations on encrypted data using FHE is still orders of magnitude slower than performing the computation on the plaintext. On top of that, converting a program that operates on unencrypted data to one that FHE-operates on encrypted data is far from being a trivial translation. If not properly done, this translation can significantly increase the performance gap between computing on unencrypted data and the FHE-computation on encrypted data, thus precluding wide FHE adoption.

FHE C++ Transpiler

The FHE C++ Transpiler is a general purpose library that converts C++ into FHE-C++ that works on encrypted input.

The transpiler has a modular architecture that allows varying the underlying FHE library, the high-level program description and the output language as well. We hope that this flexibility will allow researchers from different fields to work together on this exciting goal of making FHE more efficient and broadly applicable.

The code, examples, and more information is in the transpiler subdirectory.

Support

We will continue to publish updates and improvements to the FHE library. We are not yet accepting external contributions to this project. We will respond to issues filed in this project. If we ever intend to stop publishing improvements and responding to issues we will publish notice here at least 3 months in advance.

Support disclaimer

This is not an officially supported Google product.

License

Apache License 2.0. See LICENSE.

Contact information

We are committed to open-sourcing our work to support your use cases. We want to know how you use this library and what problems it helps you to solve. We have two communication channels for you to contact us:

  • A public discussion group where we will also share our preliminary roadmap, updates, events, and more.

  • A private email alias at [email protected] where you can reach out to us directly about your use cases and what more we can do to help and improve the library.

Please refrain from sending any sensitive or confidential information. If you wish to delete a message you've previously sent, please contact us.

Contributors

The contributors to this project are (sorted by last name):

Citing FHE Transpiler

To cite FHE Transpiler in academic papers, please use the following entry:

@misc{cryptoeprint:2021/811,
      author = {Shruthi Gorantala and Rob Springer and Sean Purser-Haskell and William Lam and Royce Wilson and Asra Ali and Eric P. Astor and Itai Zukerman and Sam Ruth and Christoph Dibak and Phillipp Schoppmann and Sasha Kulankhina and Alain Forget and David Marn and Cameron Tew and Rafael Misoczki and Bernat Guillen and Xinyu Ye and Dennis Kraft and Damien Desfontaines and Aishe Krishnamurthy and Miguel Guevara and Irippuge Milinda Perera and Yurii Sushko and Bryant Gipson},
      title = {A General Purpose Transpiler for Fully Homomorphic Encryption},
      howpublished = {Cryptology ePrint Archive, Paper 2021/811},
      year = {2021},
      note = {\url{https://eprint.iacr.org/2021/811}},
      url = {https://eprint.iacr.org/2021/811}
}

fully-homomorphic-encryption's People

Contributors

allight avatar asraa avatar cdleary avatar dibakch avatar ericastor avatar hzeller avatar j2kun avatar kotlaja avatar mr0re1 avatar robspringer avatar vincent-mirian-google avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fully-homomorphic-encryption's Issues

Using Yosys with arrays of struct appears to cause segfault

the following system runs for cleartext, openfhe, interpreted_openfhe, but yosys_interpreted_openfhe causes a segfault

when run with a debugger gives the following backtrace
Thread 1 "bug_yosys_inter" received signal SIGSEGV, Segmentation fault.
__gnu_cxx::__atomic_add_dispatch (__val=1, __mem=0xea)
at /usr/include/c++/9/ext/atomicity.h:96
96 __atomic_add(__mem, __val);
(gdb) bt
#0 __gnu_cxx::__atomic_add_dispatch (__val=1, __mem=0xea)
at /usr/include/c++/9/ext/atomicity.h:96
#1 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_add_ref_copy (
this=0xe2) at /usr/include/c++/9/bits/shared_ptr_base.h:139
#2 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator= (__r=...,
this=0x555555bb1020) at /usr/include/c++/9/bits/shared_ptr_base.h:747
#3 std::__shared_ptr<lbcrypto::LWECiphertextImpl, (__gnu_cxx::_Lock_policy)2>::operator= (this=0x555555bb1018)
at /usr/include/c++/9/bits/shared_ptr_base.h:1080
#4 std::shared_ptrlbcrypto::LWECiphertextImpl::operator= (
this=0x555555bb1018) at /usr/include/c++/9/bits/shared_ptr.h:103
#5 fully_homomorphic_encryption::transpiler::YosysOpenFheRunner::YosysOpenFheRunnerState::Run (this=0x555555bcc850, result=..., in_args=...,
inout_args=std::vector of length 1, capacity 1 = {...})
at transpiler/yosys_openfhe_runner.cc:310
#6 0x00005555555c82d4 in fully_homomorphic_encryption::transpiler::YosysOpenFheRunner::Run (this=, result=...,
in_args=std::vector of length 3, capacity 3 = {...},
inout_args=std::vector of length 1, capacity 1 = {...}, cc=...)
at /usr/include/c++/9/bits/stl_uninitialized.h:82
#7 0x000055555558d3bc in select_struct_UNSAFE(absl::Span<std::shared_ptrlbcrypto::LWECiphertextImpl const>, absl::Span<std::shared_ptrlbcrypto::LWECiphertextImpl const>, absl::Span<std::shared_ptrlbcrypto::LWECiphertextImpl const>, absl::Span<std::shared_ptrlbcrypto::LWECiphertextImpl >, lbcrypto::BinFHEContext) () at /usr/include/c++/9/bits/stl_tree.h:211
#8 0x0000555555589de8 in select_struct(OpenFheArrayRef<BugStruct, 2u>, OpenFheRef, OpenFheRef, OpenFheRef, lbcrypto::BinFHEContext) () at /usr/include/c++/9/bits/stl_tree.h:211
#9 0x0000555555582e0b in main () at /usr/include/c++/9/ext/new_allocator.h:89
(gdb)
bug.zip

google transpile error need help

Dear Sir,

I compiled my cc file, but got an error I can't handle.
I would be happy with your help.

The code is a "quick sort" implementation as attached,
and the error message is the following.

root@2ea39926f6ce:/usr/src/fhe# bazel build -c opt //transpiler/examples/test5:test5_tfhe.transpiled_files
:
Use --sandbox_debug to see verbose messages from the sandbox
Parsing file 'transpiler/examples/test5/test5.cc' with clang...
Generating IR...
/bin/bash: line 1: 15903 Segmentation fault bazel-out/k8-opt-exec-2B5CBBC6/bin/external/com_google_xls/xls/contrib/xlscc/xlscc transpiler/examples/test5/test5.cc -meta_out bazel-out/k8-opt/bin/transpiler/examples/test5/test5_tfhe_meta.proto > bazel-out/k8-opt/bin/transpiler/examples/test5/test5_tfhe.ir
Target //transpiler/examples/test5:test5_tfhe.transpiled_files failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 0.256s, Critical Path: 0.04s
INFO: 2 processes: 2 internal.
FAILED: Build did NOT complete successfully

In my code, I have used "break" control and recursive call.
Does they cause any problem in transpile?

I am appreciate it very much if you help me.

Best regards!
-- Tadashi Araragi

test5.zip

Email spam detection example

Hello, thank you for this library!

I've started experimenting with it decided to implement an email spam detection example. It is not meant to be production ready, just exploration. The repository is here: https://github.com/dartdart26/fhe-is-mail-spam

If you are open to adding code, it is already a working example (can be put in the transpiler/examples directory). I will be working on making it more feature-rich, i.e. having real client/server, be more practical and more. I generate C++ code via Python, but I can work on other methods. I guess these can be generalised and I am sure you've thought about it. I am just approaching it from the perspective of C++ developer without FHE experience.

Allow for external contributions to the FHE library

Currently, external contributions are not supported - potential contributors are advised to file issues in the project. In order to interface better with the open-source community and to increase the rate of development and improvement, we should support external contributions. This would require setting up an infrastructure similar to Tink (https://github.com/google/tink) for pulling external changes into the Google-internal codebase.

Error while building the Canonical Example supplied with the Project (MacOS Catalina Version: 10.15.7)

Hi,
While I was trying to build the Canonical Calculator Code Sample supplied with the Project, I am consistently facing this error:

/lib/findprog-in.c:137:25: note: did you mean 'access'?
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/unistd.h:431:6: note: 'access' declared here
int      access(const char *, int);
         ^
./lib/findprog-in.c:211:21: error: implicit declaration of function 'eaccess' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
                if (eaccess (progpathname, X_OK) == 0)
                    ^
2 errors generated.
_____ END BUILD LOGS _____
rules_foreign_cc: Build wrapper script location: bazel-out/darwin-opt-exec-2B5CBBC6/bin/external/rules_foreign_cc/toolchains/make_tool_foreign_cc/wrapper_build_script.sh
rules_foreign_cc: Build script location: bazel-out/darwin-opt-exec-2B5CBBC6/bin/external/rules_foreign_cc/toolchains/make_tool_foreign_cc/build_script.sh
rules_foreign_cc: Build log location: bazel-out/darwin-opt-exec-2B5CBBC6/bin/external/rules_foreign_cc/toolchains/make_tool_foreign_cc/BootstrapGNUMake.log

Target //transpiler/examples/calculator:calculator_openfhe_testbench failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 85.570s, Critical Path: 50.01s
INFO: 72 processes: 9 internal, 63 darwin-sandbox.
FAILED: Build did NOT complete successfully
FAILED: Build did NOT complete successfully

Operating System : macOS Catalina (Version 10.15.7)

Passing 2 or 3 dimension arrays as parameters to transpiler fails

I have seen the problem with 2 or 3 dimensioned arrays of int and unsigned char, and also with a struct containing the array. Arrays of structs work but not a struct with an array inside.

The following transpiled code
....
#pragma_hls_top
void foo(int bar[4][4]) {
...
}
gives the following errors:
Yosys:
Use --sandbox_debug to see verbose messages from the sandbox
bazel-out/k8-opt/bin/transpiler/examples/foo/bar_yosys_interpreted_cleartext.v:2: ERROR: syntax error, unexpected TOK_PRIMITIVE, expecting TOK_ID

XLS:
F0628 11:01:33.027923 4 booleanifier.cc:205] Check failed: array_update->indices().size() == 1 Booleanification is only supported for 1d arrays; got 2.
*** Check failure stack trace: ***
0x56531575f851: xls::logging_internal::LogMessage::Flush()
0x56531575f9cd: xls::logging_internal::LogMessageFatal::~LogMessageFatal()
0x56531566e289: xls::Booleanifier::HandleSpecialOps()
0x56531569726c: std::_Function_handler<>::_M_invoke()
0x56531569af7e: xls::AbstractEvaluate<>()
0x56531569d20a: xls::Booleanifier::Run()
0x56531569d7e0: xls::Booleanifier::Booleanify()
0x56531568a84a: xls::RealMain()
0x56531568893a: main
0x7fe5dba95083: __libc_start_main

I could not duplicate this using the example/sum3d

the following tarball has and example of code failing.
bazel run --verbose_failures //transpiler/examples/bug2:quick_cleartext_testbench
will use the file inc3d.cc from example/sum3d and runs fine!
but

bazel run --verbose_failures //transpiler/examples/bug2:foo_cleartext_testbench
uses a file called foo.cc that has a similar call signature, and that fails as described above.

both use the same testbench, with only a compile flag to differentiate which function is called (see the BUILD file for the differences)

Build issue

When I run 'bazel run //transpiler/examples/hangman:hangman_client --sandbox_debug'

I get the following compiler error:

INFO: Analyzed target //transpiler/examples/hangman:hangman_client (0 packages loaded, 0 targets configured).
INFO: Found 1 target...
ERROR: /home/mariano/FHE/fully-homomorphic-encryption/transpiler/struct_transpiler/BUILD:25:10: Linking transpiler/struct_transpiler/struct_transpiler failed: (Exit 1): process-wrapper failed: error executing command
(cd /home/mariano/.cache/bazel/_bazel_mariano/44625b1d8cdb8f2a3f51804e0547c5c1/sandbox/processwrapper-sandbox/48/execroot/com_google_fully_homomorphic_encryption &&
exec env -
PATH=/home/mariano/.cache/bazelisk/downloads/bazelbuild/bazel-4.0.0-linux-x86_64/bin: ...
PWD=/proc/self/cwd
TMPDIR=/tmp
/home/mariano/.cache/bazel/_bazel_mariano/install/1a4a2fac02d50c77031d44c0d91b8920/process-wrapper '--timeout=0' '--kill_delay=15' /usr/bin/gcc @bazel-out/k8-opt-exec-2B5CBBC6/bin/transpiler/struct_transpiler/struct_transpiler-2.params) process-wrapper failed: error executing command
(cd /home/mariano/.cache/bazel/_bazel_mariano/44625b1d8cdb8f2a3f51804e0547c5c1/sandbox/processwrapper-sandbox/48/execroot/com_google_fully_homomorphic_encryption &&
exec env -
PATH=/home/mariano/.cache/bazelisk/downloads/bazelbuild/bazel-4.0.0-linux-x86_64/bin: ...
PWD=/proc/self/cwd
TMPDIR=/tmp
/home/mariano/.cache/bazel/_bazel_mariano/install/1a4a2fac02d50c77031d44c0d91b8920/process-wrapper '--timeout=0' '--kill_delay=15' /usr/bin/gcc @bazel-out/k8-opt-exec-2B5CBBC6/bin/transpiler/struct_transpiler/struct_transpiler-2.params)
bazel-out/k8-opt-exec-2B5CBBC6/bin/transpiler/struct_transpiler/_objs/struct_transpiler/struct_transpiler_main.o:struct_transpiler_main.cc:function fully_homomorphic_encryption::transpiler::RealMain(std::basic_string_view<char, std::char_traits >, std::basic_string_view<char, std::char_traits >, std::basic_string_view<char, std::char_traits >): error: undefined reference to 'std::filesystem::__cxx11::path::_M_split_cmpts()'
bazel-out/k8-opt-exec-2B5CBBC6/bin/transpiler/struct_transpiler/_objs/struct_transpiler/struct_transpiler_main.o:struct_transpiler_main.cc:function fully_homomorphic_encryption::transpiler::RealMain(std::basic_string_view<char, std::char_traits >, std::basic_string_view<char, std::char_traits >, std::basic_string_view<char, std::char_traits >): error: undefined reference to 'std::filesystem::__cxx11::path::_M_split_cmpts()'
collect2: error: ld returned 1 exit status
Target //transpiler/examples/hangman:hangman_client failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 5.662s, Critical Path: 5.23s
INFO: 27 processes: 5 internal, 22 processwrapper-sandbox.
FAILED: Build did NOT complete successfully
FAILED: Build did NOT complete successfully

uname -a

Linux mariano 4.19.0-16-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 GNU/Linux

Integrating New Research with the Transpiler

Hi all,

just this week we published an eprint proposing new improvements to FHE transpilation. Currently, the optimizations with the netlist are performed using HAL since I was familiar with the tool itself. However, we would be more than happy (i) integrating the optimizations with the transpiler itself and (ii) adding FHE-Deck as a new backend for the transpiler.

Let me know if you are interested in this in general and feel free to continue the discussion here or contact me via mail (johannes.mono [at] rub.de) for further steps :)

Error while building with Docker

Hello, I am trying to build the project using Docker. I am consistently getting an error during build time, which surprises me since Docker is usually very reliable for this kind of building tasks. I added the --verbose_failures and --sandbox_debug flags in the Dockerifle (line 38) for debugging purposes.

I get the following error:

bosquem@ubuntu:~/HE/homomorphic-demos/wrapperGoSEAL/pruebaTranspiler/fully-homomorphic-encryption$ docker build -t google-fhe-transpiler .
Sending build context to Docker daemon  4.306MB
Step 1/6 : FROM debian:bullseye-20220527
 ---> 4eacea30377a
Step 2/6 : RUN apt-get update && apt-get install -y     gcc     git     libtinfo5   python  python3     python3-pip     wget
 ---> Using cache
 ---> 581dcd5fd83c
Step 3/6 : RUN wget -O bazel "https://github.com/bazelbuild/bazel/releases/download/4.0.0/bazel-4.0.0-linux-x86_64"     && test "7bee349a626281fc8b8d04a7a0b0358492712377400ab12533aeb39c2eb2b901  bazel" = "$(sha256sum bazel)"    && chmod +x bazel   && mv bazel /bin/bazel
 ---> Using cache
 ---> 4fd697db0287
Step 4/6 : WORKDIR /usr/src/fhe/
 ---> Using cache
 ---> 019563bed11b
Step 5/6 : COPY . .
 ---> Using cache
 ---> 442230897327
Step 6/6 : RUN bazel build --verbose_failures --sandbox_debug ...
 ---> Running in 73c181988264
Extracting Bazel installation...
Starting local Bazel server and connecting to it...
Loading: 
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Analyzing: 1601 targets (23 packages loaded, 0 targets configured)
DEBUG: Rule 'yosys' indicated that a canonical reproducible form can be obtained by modifying arguments shallow_since = "1662445410 +0200"
DEBUG: Repository yosys instantiated at:
  /usr/src/fhe/WORKSPACE:116:19: in <toplevel>
Repository rule new_git_repository defined at:
  /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/external/bazel_tools/tools/build_defs/repo/git.bzl:186:37: in <toplevel>
Analyzing: 1601 targets (90 packages loaded, 674 targets configured)
Analyzing: 1601 targets (93 packages loaded, 5166 targets configured)
Analyzing: 1601 targets (95 packages loaded, 5318 targets configured)
Analyzing: 1601 targets (96 packages loaded, 13176 targets configured)
Analyzing: 1601 targets (116 packages loaded, 20489 targets configured)
Analyzing: 1601 targets (117 packages loaded, 20961 targets configured)
Analyzing: 1601 targets (117 packages loaded, 20961 targets configured)
Analyzing: 1601 targets (117 packages loaded, 20961 targets configured)
Analyzing: 1601 targets (130 packages loaded, 21388 targets configured)
INFO: Analyzed 1601 targets (140 packages loaded, 27907 targets configured).
INFO: Found 1601 targets...
[0 / 130] [Prepa] BazelWorkspaceStatusAction stable-status.txt
[102 / 328] Compiling src/google/protobuf/descriptor.cc; 8s processwrapper-sandbox ... (8 actions, 7 running)
[168 / 328] Compiling src/google/protobuf/compiler/objectivec/objectivec_message.cc; 4s processwrapper-sandbox ... (8 actions, 7 running)
INFO: From Executing genrule @z3//:gen_src/ackermannization/ackermannization_params:
INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/188/execroot/com_google_fully_homomorphic_encryption/external/z3/src/ackermannization/ackermannization_params.pyg

...

external/llvm-project/llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp:517:10: note: 'M' was declared here
  517 |   Value *M, *N, *Ptr, *Stride, *Tile;
      |          ^
external/llvm-project/llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp: In member function 'virtual bool {anonymous}::X86LowerAMXIntrinsicsLegacyPass::runOnFunction(llvm::Function&)':
external/llvm-project/llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp:531:45: warning: 'Stride' may be used uninitialized in this function [-Wmaybe-uninitialized]
  531 |   Value *StrideDWord = PreBuilder.CreateLShr(Stride, PreBuilder.getInt64(2));
      |                        ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
external/llvm-project/llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp:517:24: note: 'Stride' was declared here
  517 |   Value *M, *N, *Ptr, *Stride, *Tile;
      |                        ^~~~~~
external/llvm-project/llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp:190:30: warning: 'Ptr' may be used uninitialized in this function [-Wmaybe-uninitialized]
  190 |   Value *EltPtr = B.CreateGEP(EltTy, EltBasePtr, Offset);
      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
external/llvm-project/llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp:517:18: note: 'Ptr' was declared here
  517 |   Value *M, *N, *Ptr, *Stride, *Tile;
      |                  ^~~
external/llvm-project/llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp:530:40: warning: 'N' may be used uninitialized in this function [-Wmaybe-uninitialized]
  530 |   Value *NDWord = PreBuilder.CreateLShr(N, PreBuilder.getInt16(2));
      |                   ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
external/llvm-project/llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp:517:14: note: 'N' was declared here
  517 |   Value *M, *N, *Ptr, *Stride, *Tile;
      |              ^
external/llvm-project/llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp:165:35: warning: 'M' may be used uninitialized in this function [-Wmaybe-uninitialized]
  165 |   BasicBlock *RowBody = createLoop(Start, End, Row, B.getInt16(1),
      |                         ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  166 |                                    IntrinName + ".scalarize.rows", B, RowLoop);
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
external/llvm-project/llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp:517:10: note: 'M' was declared here
  517 |   Value *M, *N, *Ptr, *Stride, *Tile;
      |          ^
INFO: From Compiling clang/lib/Format/Format.cpp:
external/llvm-project/clang/lib/Format/Format.cpp: In function 'void clang::format::sortCppIncludes(const clang::format::FormatStyle&, const llvm::SmallVectorImpl<clang::format::{anonymous}::IncludeDirective>&, llvm::ArrayRef<clang::tooling::Range>, llvm::StringRef, llvm::StringRef, clang::tooling::Replacements&, unsigned int*)':
external/llvm-project/clang/lib/Format/Format.cpp:2732:53: warning: 'CursorToEOLOffset' may be used uninitialized in this function [-Wmaybe-uninitialized]
 2732 |       *Cursor = IncludesBeginOffset + result.size() - CursorToEOLOffset;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
external/llvm-project/clang/lib/Format/Format.cpp:2731:16: warning: 'CursorIndex' may be used uninitialized in this function [-Wmaybe-uninitialized]
 2731 |     if (Cursor && CursorIndex == Index)
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
INFO: From Action transpiler/examples/calculator/calculator_cleartext.ir:
Parsing file 'transpiler/examples/calculator/calculator.cc' with clang...
Generating IR...
INFO: From Action transpiler/data/primitives.ir:
Parsing file 'transpiler/data/primitives.cc' with clang...
Generating IR...
INFO: From Action transpiler/examples/rock_paper_scissor/rock_paper_scissor_interpreted_openfhe.ir:
Parsing file 'transpiler/examples/rock_paper_scissor/rock_paper_scissor.cc' with clang...
Generating IR...
ERROR: /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/external/openfhe/BUILD.bazel:55:6: Foreign Cc - CMake: Building binfhe failed: (Exit 1): process-wrapper failed: error executing command 
  (cd /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/3842/execroot/com_google_fully_homomorphic_encryption && \
  exec env - \
    BAZEL_CXXOPTS='-std=c++17' \
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
    PYTHON_BIN_PATH=/usr/bin/python3 \
    TMPDIR=/tmp \
  /root/.cache/bazel/_bazel_root/install/1a4a2fac02d50c77031d44c0d91b8920/process-wrapper '--timeout=0' '--kill_delay=15' /bin/bash -c bazel-out/k8-opt/bin/external/openfhe/binfhe_foreign_cc/wrapper_build_script.sh) process-wrapper failed: error executing command 
  (cd /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/3842/execroot/com_google_fully_homomorphic_encryption && \
  exec env - \
    BAZEL_CXXOPTS='-std=c++17' \
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
    PYTHON_BIN_PATH=/usr/bin/python3 \
    TMPDIR=/tmp \
  /root/.cache/bazel/_bazel_root/install/1a4a2fac02d50c77031d44c0d91b8920/process-wrapper '--timeout=0' '--kill_delay=15' /bin/bash -c bazel-out/k8-opt/bin/external/openfhe/binfhe_foreign_cc/wrapper_build_script.sh)
rules_foreign_cc: Build failed!
rules_foreign_cc: Keeping temp build directory and dependencies directory for debug.
rules_foreign_cc: Please note that the directories inside a sandbox are still cleaned unless you specify --sandbox_debug Bazel command line flag.
rules_foreign_cc: Printing build logs:
_____ BEGIN BUILD LOGS _____
Bazel external C/C++ Rules. Building library binfhe
Environment:______________
BUILD_SCRIPT=bazel-out/k8-opt/bin/external/openfhe/binfhe_foreign_cc/build_script.sh
EXT_BUILD_ROOT=/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/3842/execroot/com_google_fully_homomorphic_encryption
BUILD_LOG=bazel-out/k8-opt/bin/external/openfhe/binfhe_foreign_cc/CMake.log
PWD=/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/3842/execroot/com_google_fully_homomorphic_encryption
BUILD_WRAPPER_SCRIPT=bazel-out/k8-opt/bin/external/openfhe/binfhe_foreign_cc/wrapper_build_script.sh
PYTHON_BIN_PATH=/usr/bin/python3
TMPDIR=/tmp
EXT_BUILD_DEPS=/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/3842/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt/bin/external/openfhe/binfhe.ext_build_deps
BUILD_TMPDIR=/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/3842/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt/bin/external/openfhe/binfhe.build_tmpdir
SHLVL=2
BAZEL_CXXOPTS=-std=c++17
CMAKE_BUILD_PARALLEL_LEVEL=16
INSTALLDIR=/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/3842/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt/bin/external/openfhe/binfhe
PATH=/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/3842/execroot/com_google_fully_homomorphic_encryption:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
_=/usr/bin/env
__________________________
+ /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/3842/execroot/com_google_fully_homomorphic_encryption/external/cmake-3.22.1-linux-x86_64/bin/cmake -DBUILD_BENCHMARKS=OFF -DBUILD_UNITTESTS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=crosstool_bazel.cmake -DCMAKE_INSTALL_PREFIX=/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/3842/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt/bin/external/openfhe/binfhe -DCMAKE_PREFIX_PATH=/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/3842/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt/bin/external/openfhe/binfhe.ext_build_deps -DCMAKE_RANLIB= -DCMAKE_MAKE_PROGRAM=/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/3842/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/rules_foreign_cc/toolchains/make/bin/make -G 'Unix Makefiles' /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/3842/execroot/com_google_fully_homomorphic_encryption/external/openfhe
-- The C compiler identification is GNU 10.2.1
-- The CXX compiler identification is GNU 10.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/gcc - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building in Release mode
-- BUILD_UNITTESTS:  OFF
-- BUILD_EXAMPLES:   ON
-- BUILD_BENCHMARKS: OFF
-- BUILD_EXTRAS:     OFF
-- BUILD_DOCS:       OFF
-- BUILD_STATIC:     OFF
-- BUILD_SHARED:     ON
-- GIT_SUBMOD_AUTO:  ON
-- WITH_BE2:         ON
-- WITH_BE4:         ON
-- WITH_NTL:         OFF
-- WITH_TCM:         OFF
-- WITH_INTEL_HEXL:  OFF
-- WITH_OPENMP:      ON
-- NATIVE_SIZE:      64
-- CKKS_M_FACTOR:    1
-- WITH_NATIVEOPT:   OFF
-- WITH_COVTEST:     OFF
-- BUILTIN_INFO_AVAILABLE is defined
***** INSTALL IS AT /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/3842/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt/bin/external/openfhe/binfhe; to change, run cmake with -DCMAKE_INSTALL_PREFIX=/your/path
-- Architecture is x86_64
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of __int128
-- Check size of __int128 - done
-- Check size of uint64_t
-- Check size of uint64_t - done
-- NATIVEINT is set to 64
-- MATHBACKEND is set to 2
CMake Error at CMakeLists.txt:377 (message):
  Autoconf is not installed.
-- Found OpenMP_C: -fopenmp (found version "4.5") 
-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found OpenMP: TRUE (found version "4.5")  
-- Found Git: /usr/bin/git (found version "2.30.2") 
-- Configuring incomplete, errors occurred!
See also "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/3842/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt/bin/external/openfhe/binfhe.build_tmpdir/CMakeFiles/CMakeOutput.log".
_____ END BUILD LOGS _____
rules_foreign_cc: Build wrapper script location: bazel-out/k8-opt/bin/external/openfhe/binfhe_foreign_cc/wrapper_build_script.sh
rules_foreign_cc: Build script location: bazel-out/k8-opt/bin/external/openfhe/binfhe_foreign_cc/build_script.sh
rules_foreign_cc: Build log location: bazel-out/k8-opt/bin/external/openfhe/binfhe_foreign_cc/CMake.log
INFO: Elapsed time: 3222.532s, Critical Path: 223.31s
INFO: 4095 processes: 208 internal, 3887 processwrapper-sandbox.
FAILED: Build did NOT complete successfully
FAILED: Build did NOT complete successfull

Docker build on Debian fails

I tried running docker build -t google-fhe-transpiler -f docker/debian-bullseye.Dockerfile . on Debian 11 bullseye and it failed with following output. Looks like there's analysis of target add_one_fhe_py_lib_lut3 fails. I am unsure how to fix it. Any suggestions?

[+] Building 41.5s (11/11) FINISHED                                                                                                                                                                                            docker:default
 => [internal] load .dockerignore                                                                                                                                                                                                        0.0s
 => => transferring context: 2B                                                                                                                                                                                                          0.0s
 => [internal] load build definition from debian-bullseye.Dockerfile                                                                                                                                                                     0.0s
 => => transferring dockerfile: 1.79kB                                                                                                                                                                                                   0.0s
 => [internal] load metadata for docker.io/library/debian:bullseye-20220527                                                                                                                                                              0.3s
 => [1/7] FROM docker.io/library/debian:bullseye-20220527@sha256:3f1d6c17773a45c97bd8f158d665c9709d7b29ed7917ac934086ad96f92e4510                                                                                                        0.0s
 => [internal] load build context                                                                                                                                                                                                        0.0s
 => => transferring context: 26.84kB                                                                                                                                                                                                     0.0s
 => CACHED [2/7] RUN apt-get update && apt-get install -y   gcc   git   libtinfo5   python   python3   python3-pip   autoconf   libreadline-dev   flex   bison   wget                                                                    0.0s
 => CACHED [3/7] RUN wget -O bazel "https://github.com/bazelbuild/bazel/releases/download/5.3.2/bazel-5.3.2-linux-x86_64"   && test "973e213b1e9207ccdd3ea4730c0f92cbef769ec112ac2b84980583220d8db845  bazel" = "$(sha256sum bazel)"     0.0s
 => CACHED [4/7] WORKDIR /usr/src/fhe/                                                                                                                                                                                                   0.0s
 => CACHED [5/7] COPY . .                                                                                                                                                                                                                0.0s
 => CACHED [6/7] RUN bazel build @llvm_toolchain//:all                                                                                                                                                                                   0.0s
 => ERROR [7/7] RUN bazel build ...                                                                                                                                                                                                     41.1s
------
 > [7/7] RUN bazel build ...:
0.188 Starting local Bazel server and connecting to it...
1.496 Loading:
1.499 Loading: 0 packages loaded
2.504 Loading: 0 packages loaded
3.505 Loading: 31 packages loaded
3.505     currently loading:
3.868 Analyzing: 1941 targets (32 packages loaded, 0 targets configured)
4.896 Analyzing: 1941 targets (75 packages loaded, 24 targets configured)
5.945 Analyzing: 1941 targets (115 packages loaded, 697 targets configured)
7.079 Analyzing: 1941 targets (121 packages loaded, 716 targets configured)
8.138 Analyzing: 1941 targets (129 packages loaded, 716 targets configured)
9.240 Analyzing: 1941 targets (146 packages loaded, 765 targets configured)
10.71 Analyzing: 1941 targets (147 packages loaded, 811 targets configured)
12.29 Analyzing: 1941 targets (150 packages loaded, 1559 targets configured)
14.04 Analyzing: 1941 targets (192 packages loaded, 6797 targets configured)
16.13 Analyzing: 1941 targets (205 packages loaded, 15175 targets configured)
18.46 Analyzing: 1941 targets (209 packages loaded, 15276 targets configured)
21.04 Analyzing: 1941 targets (241 packages loaded, 20792 targets configured)
24.81 Analyzing: 1941 targets (269 packages loaded, 24728 targets configured)
28.52 Analyzing: 1941 targets (287 packages loaded, 32093 targets configured)
32.84 Analyzing: 1941 targets (301 packages loaded, 32764 targets configured)
33.08 ERROR: /usr/src/fhe/transpiler/examples/add_one/BUILD:78:15: in _verilog_to_netlist rule //transpiler/examples/add_one:add_one_fhe_py_lib_lut3.netlist:
33.08 Traceback (most recent call last):
33.08 	File "/usr/src/fhe/transpiler/fhe_yosys.bzl", line 103, column 40, in _verilog_to_netlist_impl
33.08 		generated_files = _generate_netlist(ctx, name, verilog_ir_file, metadata_entry_file)
33.08 	File "/usr/src/fhe/transpiler/fhe_yosys.bzl", line 259, column 20, in _generate_netlist
33.08 		ctx.actions.run(
33.08 Error in run: run() got unexpected keyword argument 'toolchain'
33.08 ERROR: /usr/src/fhe/transpiler/examples/add_one/BUILD:78:15: Analysis of target '//transpiler/examples/add_one:add_one_fhe_py_lib_lut3.netlist' failed
33.29 ERROR: Analysis of target '//transpiler/examples/add_one:add_one_fhe_py_lib_lut3.srcs' failed; build aborted:
33.31 INFO: Elapsed time: 33.098s
33.31 INFO: 0 processes.
33.31 FAILED: Build did NOT complete successfully (302 packages loaded, 33606 targets configured)
33.31 FAILED: Build did NOT complete successfully (302 packages loaded, 33606 targets configured)
------
debian-bullseye.Dockerfile:54
--------------------
  52 |
  53 |     # Build all targets.
  54 | >>> RUN bazel build ...
  55 |
--------------------
ERROR: failed to solve: process "/bin/sh -c bazel build ..." did not complete successfully: exit code: 1

Compile erro on the reverse string example

Hi,

First, I want to thank you for this project. Its really nice and has enormous potential.

I'm compiling from the sources on a EC2 machine.
I had an error when I was at the examples compilation. The reverse string example. You will find the error messages hereafter. How can I fix this?

The simple sum example still worked. So I can continue my exploration.

Thanks in advance for your help.

Kind Regards,
M


ERROR: /home/ec2-user/fully-homomorphic-encryption/transpiler/examples/string_reverse/BUILD:21:15: Compiling transpiler/examples/string_reverse/string_reverse_tfhe.cc failed: (Exit 4): linux-sandbox failed: error executing command
(cd /home/ec2-user/.cache/bazel/bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption &&
exec env -
BAZEL_CXXOPTS='-std=c++17'
LD_LIBRARY_PATH=/home/ec2-user/opt/gcc-9.1.0/lib:/home/ec2-user/opt/gcc-9.1.0/lib64:/home/ec2-user/opt/gcc-9.1.0/lib:/home/ec2-user/opt/gcc-9.1.0/lib64:
PATH=/home/ec2-user/.cache/bazelisk/downloads/bazelbuild/bazel-4.0.0-linux-x86_64/bin:/home/ec2-user/opt/gcc-9.1.0/bin:/home/ec2-user/opt/gcc-9.1.0/bin:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ec2-user/.local/bin:/home/ec2-user/bin
PWD=/proc/self/cwd
PYTHON_BIN_PATH=/usr/bin/python3
TMPDIR=/tmp
/home/ec2-user/.cache/bazel/bazel_ec2-user/install/1a4a2fac02d50c77031d44c0d91b8920/linux-sandbox -t 15 -w /home/ec2-user/.cache/bazel/bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption -w /tmp -w /dev/shm -D -- /home/ec2-user/opt/gcc-9.1.0/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections -fdata-sections '-std=c++17' -MD -MF bazel-out/k8-opt/bin/transpiler/examples/string_reverse/objs/string_reverse_tfhe/string_reverse_tfhe.pic.d '-frandom-seed=bazel-out/k8-opt/bin/transpiler/examples/string_reverse/objs/string_reverse_tfhe/string_reverse_tfhe.pic.o' -fPIC -iquote . -iquote bazel-out/k8-opt/bin -iquote external/com_google_absl -iquote bazel-out/k8-opt/bin/external/com_google_absl -isystem bazel-out/k8-opt/bin/external/tfhe/libtfhe/include -Wno-sign-compare -Wno-comment '-std=c++17' -O0 -fno-canonical-system-headers -Wno-builtin-macro-redefined '-D__DATE="redacted"' '-D__TIMESTAMP="redacted"' '-D__TIME
_="redacted"' -c bazel-out/k8-opt/bin/transpiler/examples/string_reverse/string_reverse_tfhe.cc -o bazel-out/k8-opt/bin/transpiler/examples/string_reverse/objs/string_reverse_tfhe/string_reverse_tfhe.pic.o) linux-sandbox failed: error executing command
(cd /home/ec2-user/.cache/bazel/bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption &&
exec env -
BAZEL_CXXOPTS='-std=c++17'
LD_LIBRARY_PATH=/home/ec2-user/opt/gcc-9.1.0/lib:/home/ec2-user/opt/gcc-9.1.0/lib64:/home/ec2-user/opt/gcc-9.1.0/lib:/home/ec2-user/opt/gcc-9.1.0/lib64:
PATH=/home/ec2-user/.cache/bazelisk/downloads/bazelbuild/bazel-4.0.0-linux-x86_64/bin:/home/ec2-user/opt/gcc-9.1.0/bin:/home/ec2-user/opt/gcc-9.1.0/bin:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ec2-user/.local/bin:/home/ec2-user/bin
PWD=/proc/self/cwd
PYTHON_BIN_PATH=/usr/bin/python3
TMPDIR=/tmp
/home/ec2-user/.cache/bazel/bazel_ec2-user/install/1a4a2fac02d50c77031d44c0d91b8920/linux-sandbox -t 15 -w /home/ec2-user/.cache/bazel/bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption -w /tmp -w /dev/shm -D -- /home/ec2-user/opt/gcc-9.1.0/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections -fdata-sections '-std=c++17' -MD -MF bazel-out/k8-opt/bin/transpiler/examples/string_reverse/objs/string_reverse_tfhe/string_reverse_tfhe.pic.d '-frandom-seed=bazel-out/k8-opt/bin/transpiler/examples/string_reverse/objs/string_reverse_tfhe/string_reverse_tfhe.pic.o' -fPIC -iquote . -iquote bazel-out/k8-opt/bin -iquote external/com_google_absl -iquote bazel-out/k8-opt/bin/external/com_google_absl -isystem bazel-out/k8-opt/bin/external/tfhe/libtfhe/include -Wno-sign-compare -Wno-comment '-std=c++17' -O0 -fno-canonical-system-headers -Wno-builtin-macro-redefined '-D__DATE="redacted"' '-D__TIMESTAMP="redacted"' '-D__TIME
="redacted"' -c bazel-out/k8-opt/bin/transpiler/examples/string_reverse/string_reverse_tfhe.cc -o bazel-out/k8-opt/bin/transpiler/examples/string_reverse/_objs/string_reverse_tfhe/string_reverse_tfhe.pic.o)
1633081675.458286222: src/main/tools/linux-sandbox.cc:152: calling pipe(2)...
1633081675.458319820: src/main/tools/linux-sandbox.cc:171: calling clone(2)...
1633081675.458528898: src/main/tools/linux-sandbox.cc:180: linux-sandbox-pid1 has PID 13104
1633081675.458580542: src/main/tools/linux-sandbox-pid1.cc:434: Pid1Main started
1633081675.458663780: src/main/tools/linux-sandbox.cc:197: done manipulating pipes
1633081675.458809255: src/main/tools/linux-sandbox-pid1.cc:176: working dir: /home/ec2-user/.cache/bazel/_bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption
1633081675.458824961: src/main/tools/linux-sandbox-pid1.cc:208: writable: /home/ec2-user/.cache/bazel/_bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption
1633081675.458832192: src/main/tools/linux-sandbox-pid1.cc:208: writable: /tmp
1633081675.458839008: src/main/tools/linux-sandbox-pid1.cc:208: writable: /dev/shm
1633081675.458906264: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /
1633081675.458913677: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /dev
1633081675.458919138: src/main/tools/linux-sandbox-pid1.cc:279: remount rw: /dev/shm
1633081675.458924738: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /dev/pts
1633081675.458930585: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /dev/hugepages
1633081675.458935926: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /dev/mqueue
1633081675.458941742: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /proc
1633081675.458947282: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /proc/sys/fs/binfmt_misc
1633081675.458957421: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys
1633081675.458963360: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/kernel/security
1633081675.458971198: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup
1633081675.458978208: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/systemd
1633081675.458984464: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/devices
1633081675.459016603: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/net_cls,net_prio
1633081675.459023104: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/pids
1633081675.459028982: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/cpu,cpuacct
1633081675.459034843: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/blkio
1633081675.459040448: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/perf_event
1633081675.459046085: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/freezer
1633081675.459052685: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/memory
1633081675.459058248: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/hugetlb
1633081675.459063992: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/cpuset
1633081675.459069600: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/pstore
1633081675.459075341: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/kernel/debug
1633081675.459082302: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /run
1633081675.459087893: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /run/user/1000
1633081675.459094325: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /var/lib/nfs/rpc_pipefs
1633081675.459106189: src/main/tools/linux-sandbox-pid1.cc:279: remount rw: /home/ec2-user/.cache/bazel/_bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption
1633081675.459112700: src/main/tools/linux-sandbox-pid1.cc:279: remount rw: /home/ec2-user/.cache/bazel/_bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption
1633081675.459117794: src/main/tools/linux-sandbox-pid1.cc:279: remount rw: /tmp
1633081675.459122653: src/main/tools/linux-sandbox-pid1.cc:279: remount rw: /dev/shm
1633081675.459147556: src/main/tools/linux-sandbox-pid1.cc:363: calling fork...
1633081675.459245937: src/main/tools/linux-sandbox-pid1.cc:393: child started with PID 2
In file included from /home/ec2-user/opt/gcc-9.1.0/lib/gcc/x86_64-unknown-linux-gnu/9.1.0/../../../../include/c++/9.1.0/x86_64-unknown-linux-gnu/bits/os_defines.h:39,
from /home/ec2-user/opt/gcc-9.1.0/lib/gcc/x86_64-unknown-linux-gnu/9.1.0/../../../../include/c++/9.1.0/x86_64-unknown-linux-gnu/bits/c++config.h:524,
from /home/ec2-user/opt/gcc-9.1.0/lib/gcc/x86_64-unknown-linux-gnu/9.1.0/../../../../include/c++/9.1.0/type_traits:38,
from /home/ec2-user/opt/gcc-9.1.0/lib/gcc/x86_64-unknown-linux-gnu/9.1.0/../../../../include/c++/9.1.0/unordered_map:38,
from bazel-out/k8-opt/bin/transpiler/examples/string_reverse/string_reverse_tfhe.cc:1:
/usr/include/features.h:376:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
376 | # warning _FORTIFY_SOURCE requires compiling with optimization (-O)
| ^~~~~~~
gcc: internal compiler error: Segmentation fault signal terminated program cc1plus
Please submit a full bug report,
with preprocessed source if appropriate.
See https://gcc.gnu.org/bugs/ for instructions.
1633081684.261167928: src/main/tools/linux-sandbox-pid1.cc:410: wait returned pid=2, status=0x400
1633081684.261180298: src/main/tools/linux-sandbox-pid1.cc:428: child exited normally with code 4
1633081684.296650797: src/main/tools/linux-sandbox.cc:233: child exited normally with code 4
INFO: Elapsed time: 8640.140s, Critical Path: 127.58s
INFO: 5095 processes: 77 internal, 5018 linux-sandbox.
FAILED: Build did NOT complete successfully


(VERBOSE MESSAGE)

cd /home/ec2-user/.cache/bazel/_bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption && \

exec env -
BAZEL_CXXOPTS='-std=c++17'
LD_LIBRARY_PATH=/home/ec2-user/opt/gcc-9.1.0/lib:/home/ec2-user/opt/gcc-9.1.0/lib64:/home/ec2-user/opt/gcc-9.1.0/lib:/home/ec2-user/opt/gcc-9.1.0/lib64:
PATH=/home/ec2-user/.cache/bazelisk/downloads/bazelbuild/bazel-4.0.0-linux-x86_64/bin:/home/ec2-user/opt/gcc-9.1.0/bin:/home/ec2-user/opt/gcc-9.1.0/bin:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ec2-user/.local/bin:/home/ec2-user/bin
PWD=/proc/self/cwd
PYTHON_BIN_PATH=/usr/bin/python3
TMPDIR=/tmp
/home/ec2-user/.cache/bazel/bazel_ec2-user/install/1a4a2fac02d50c77031d44c0d91b8920/linux-sandbox -t 15 -w /home/ec2-user/.cache/bazel/bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption -w /tmp -w /dev/shm -D -- /home/ec2-user/opt/gcc-9.1.0/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections -fdata-sections '-std=c++17' -MD -MF bazel-out/k8-opt/bin/transpiler/examples/string_reverse/objs/string_reverse_tfhe/string_reverse_tfhe.pic.d '-frandom-seed=bazel-out/k8-opt/bin/transpiler/examples/string_reverse/objs/string_reverse_tfhe/string_reverse_tfhe.pic.o' -fPIC -iquote . -iquote bazel-out/k8-opt/bin -iquote external/com_google_absl -iquote bazel-out/k8-opt/bin/external/com_google_absl -isystem bazel-out/k8-opt/bin/external/tfhe/libtfhe/include -Wno-sign-compare -Wno-comment '-std=c++17' -O0 -fno-canonical-system-headers -Wno-builtin-macro-redefined '-D__DATE="redacted"' '-D__TIMESTAMP="redacted"' '-D__TIME__="redacted"' -c bazel-out/k8-opt/bin/transpiler/examples/string_reverse/string_reverse_tfhe.cc -o bazel-out/k8-opt/bin/transpiler/examples/string_reverse/_objs/string_reverse_tfhe/string_reverse_tfhe.pic.o
1633081928.551917951: src/main/tools/linux-sandbox.cc:152: calling pipe(2)...
1633081928.551946932: src/main/tools/linux-sandbox.cc:171: calling clone(2)...
1633081928.552163678: src/main/tools/linux-sandbox.cc:180: linux-sandbox-pid1 has PID 13130
1633081928.552235003: src/main/tools/linux-sandbox-pid1.cc:434: Pid1Main started
1633081928.552476950: src/main/tools/linux-sandbox-pid1.cc:176: working dir: /home/ec2-user/.cache/bazel/_bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption
1633081928.552513906: src/main/tools/linux-sandbox-pid1.cc:208: writable: /home/ec2-user/.cache/bazel/_bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption
1633081928.552526605: src/main/tools/linux-sandbox-pid1.cc:208: writable: /tmp
1633081928.552542624: src/main/tools/linux-sandbox.cc:197: done manipulating pipes
1633081928.552597246: src/main/tools/linux-sandbox-pid1.cc:208: writable: /dev/shm
1633081928.552705381: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /
1633081928.552719983: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /dev
1633081928.552727943: src/main/tools/linux-sandbox-pid1.cc:279: remount rw: /dev/shm
1633081928.552735604: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /dev/pts
1633081928.552746655: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /dev/hugepages
1633081928.552752344: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /dev/mqueue
1633081928.552758295: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /proc
1633081928.552765481: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /proc/sys/fs/binfmt_misc
1633081928.552779817: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys
1633081928.552787776: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/kernel/security
1633081928.552797806: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup
1633081928.552810420: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/systemd
1633081928.552826994: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/devices
1633081928.552863628: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/net_cls,net_prio
1633081928.552879945: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/pids
1633081928.552888437: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/cpu,cpuacct
1633081928.552896837: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/blkio
1633081928.552903057: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/perf_event
1633081928.552911217: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/freezer
1633081928.552923014: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/memory
1633081928.552930637: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/hugetlb
1633081928.552936839: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/cgroup/cpuset
1633081928.552944826: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/fs/pstore
1633081928.552952452: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /sys/kernel/debug
1633081928.552961061: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /run
1633081928.552968571: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /run/user/1000
1633081928.552976498: src/main/tools/linux-sandbox-pid1.cc:279: remount ro: /var/lib/nfs/rpc_pipefs
1633081928.552991629: src/main/tools/linux-sandbox-pid1.cc:279: remount rw: /home/ec2-user/.cache/bazel/_bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption
1633081928.553001690: src/main/tools/linux-sandbox-pid1.cc:279: remount rw: /home/ec2-user/.cache/bazel/_bazel_ec2-user/f9cbf21ed6e3a79982ef4879961c490e/sandbox/linux-sandbox/5050/execroot/com_google_fully_homomorphic_encryption
1633081928.553009078: src/main/tools/linux-sandbox-pid1.cc:279: remount rw: /tmp
1633081928.553014255: src/main/tools/linux-sandbox-pid1.cc:279: remount rw: /dev/shm
1633081928.553035610: src/main/tools/linux-sandbox-pid1.cc:363: calling fork...
1633081928.553148980: src/main/tools/linux-sandbox-pid1.cc:393: child started with PID 2
In file included from /home/ec2-user/opt/gcc-9.1.0/lib/gcc/x86_64-unknown-linux-gnu/9.1.0/../../../../include/c++/9.1.0/x86_64-unknown-linux-gnu/bits/os_defines.h:39,
from /home/ec2-user/opt/gcc-9.1.0/lib/gcc/x86_64-unknown-linux-gnu/9.1.0/../../../../include/c++/9.1.0/x86_64-unknown-linux-gnu/bits/c++config.h:524,
from /home/ec2-user/opt/gcc-9.1.0/lib/gcc/x86_64-unknown-linux-gnu/9.1.0/../../../../include/c++/9.1.0/type_traits:38,
from /home/ec2-user/opt/gcc-9.1.0/lib/gcc/x86_64-unknown-linux-gnu/9.1.0/../../../../include/c++/9.1.0/unordered_map:38,
from bazel-out/k8-opt/bin/transpiler/examples/string_reverse/string_reverse_tfhe.cc:1:
/usr/include/features.h:376:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
376 | # warning _FORTIFY_SOURCE requires compiling with optimization (-O)
| ^~~~~~~
gcc: internal compiler error: Segmentation fault signal terminated program cc1plus
Please submit a full bug report,
with preprocessed source if appropriate.
See https://gcc.gnu.org/bugs/ for instructions.
1633081937.316780606: src/main/tools/linux-sandbox-pid1.cc:410: wait returned pid=2, status=0x400
1633081937.316798991: src/main/tools/linux-sandbox-pid1.cc:428: child exited normally with code 4
1633081937.348607750: src/main/tools/linux-sandbox.cc:233: child exited normally with code 4

Bazel LLVM toolchain 10.0.0 causes known issue

On arch, the Bazel toolchain causes an unknown platform error (which seems to be noted but not fixed). Is there a reason that LLVM is pinned to 10.0.0 instead of 10.0.1? This just seems like a roadblock for developers to experiment with the library

From the bazel WORKSPACE file:

llvm_toolchain(
    name = "llvm_toolchain",
    # Try using llvm version 10.0.1 if you are getting an "Unknown LLVM
    # release" error.  This is a known issue for Ubuntu 16.04 LTS.
    llvm_version = "10.0.0",
)

bazel version 4.0.0

Trying to play hangman. My version of bazel is 6.1.1, whereas the version specified in fully-homomorphic-encryption/.bazelversion is 4.0.0. Can I change this to a current version? I'm not even sure where to get 4.0.0 (here I guess).

Representation Encrypted Number

Good Morning,
I want to create a script in which the input are the Encrypted number and not the plaintext. I want to realize a simple sum. How can represent the Encrypted Number through int type? Is possible to encode o to serialize the ciphertext in order to give it like input?
Thank you very much!

Performance issue about the jaxite

Hi all!
I was trying to compare the performance between the tfhe-rs and the Jaxite, expecting that the Jaxite would be way faster than the tfhe-rs as it exploits the GPU, but I found that the Jaxite was too slow than the tfhe-rs. I want to know if my configuration is wrong, or the Jaxite is not fully developed yet.

I've tested with the transpiler of the Jaxite and the tfhe-rs, and used the example of hello_world. I do not use the bazel run when I tested with Jaxite, as bazel run cannot initiate the CUDA. (Seems that the GPU / TPU test was not publicly opened in the bazel as far as I checked in here.) Rather, I just ran directly with the python.

The Jaxite spends about 10000 seconds per evaluation, which was not successful after the first iteration, while the tfhe-rs spends about 30 seconds.

user@gpu05:/home/user/fully-homomorphic-encryption$ python3 transpiler/tensorflow/examples/hello_world/hello_world_testbench_python.py
Generating keys
I0909 17:04:13.349542 139736576647680 xla_bridge.py:622] Unable to initialize backend 'rocm': NOT_FOUND: Could not find registered platform with name: "rocm". Available platform names are: Interpreter CUDA
I0909 17:04:13.350527 139736576647680 xla_bridge.py:622] Unable to initialize backend 'tpu': module 'jaxlib.xla_extension' has no attribute 'get_tpu_client'
Quantized x =  [-128  -42   43  127]
Running FHE circuit
FHE circuit took 9849.094140 seconds
f(-128) = 79
Traceback (most recent call last):
  File "/home/user/.local/lib/python3.10/site-packages/jax/_src/api_util.py", line 581, in shaped_abstractify
    return _shaped_abstractify_handlers[type(x)](x)
KeyError: <class 'jax.Array'>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/user/fully-homomorphic-encryption/transpiler/tensorflow/examples/hello_world/hello_world_testbench_python.py", line 98, in <module>
    app.run(main)
  File "/home/user/.local/lib/python3.10/site-packages/absl/app.py", line 308, in run
    _run_main(main, args)
  File "/home/user/.local/lib/python3.10/site-packages/absl/app.py", line 254, in _run_main
    sys.exit(main(argv))
  File "/home/user/fully-homomorphic-encryption/transpiler/tensorflow/examples/hello_world/hello_world_testbench_python.py", line 93, in main
    quantized_result = jnp.append(quantized_result, result_cleartext)
  File "/home/user/.local/lib/python3.10/site-packages/jax/_src/traceback_util.py", line 166, in reraise_with_filtered_traceback
    return fun(*args, **kwargs)
  File "/home/user/.local/lib/python3.10/site-packages/jax/_src/pjit.py", line 253, in cache_miss
    outs, out_flat, out_tree, args_flat, jaxpr = _python_pjit_helper(
  File "/home/user/.local/lib/python3.10/site-packages/jax/_src/pjit.py", line 161, in _python_pjit_helper
    args_flat, _, params, in_tree, out_tree, _ = infer_params_fn(
  File "/home/user/.local/lib/python3.10/site-packages/jax/_src/api.py", line 324, in infer_params
    return pjit.common_infer_params(pjit_info_args, *args, **kwargs)
  File "/home/user/.local/lib/python3.10/site-packages/jax/_src/pjit.py", line 477, in common_infer_params
    avals.append(shaped_abstractify(a))
  File "/home/user/.local/lib/python3.10/site-packages/jax/_src/api_util.py", line 583, in shaped_abstractify
    return _shaped_abstractify_slow(x)
  File "/home/user/.local/lib/python3.10/site-packages/jax/_src/api_util.py", line 572, in _shaped_abstractify_slow
    raise TypeError(
jax._src.traceback_util.UnfilteredStackTrace: TypeError: Cannot interpret value of type <class 'jax.Array'> as an abstract array; it does not have a dtype attribute

The stack trace below excludes JAX-internal frames.
The preceding is the original exception that occurred, unmodified.

--------------------

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/user/fully-homomorphic-encryption/transpiler/tensorflow/examples/hello_world/hello_world_testbench_python.py", line 98, in <module>
    app.run(main)
  File "/home/user/.local/lib/python3.10/site-packages/absl/app.py", line 308, in run
    _run_main(main, args)
  File "/home/user/.local/lib/python3.10/site-packages/absl/app.py", line 254, in _run_main
    sys.exit(main(argv))
  File "/home/user/fully-homomorphic-encryption/transpiler/tensorflow/examples/hello_world/hello_world_testbench_python.py", line 93, in main
    quantized_result = jnp.append(quantized_result, result_cleartext)
TypeError: Cannot interpret value of type <class 'jax.Array'> as an abstract array; it does not have a dtype attribute
user@gpu05:/home/user/fully-homomorphic-encryption$ ./bazel-bin/transpiler/tensorflow/examples/hello_world/./hello_world_testbench
Inferring sine for 0                                                                                                                              FHE computation in 33 s
Sine value: -0.01                                                                                                                                 Inferring sine for 1.5707964
FHE computation in 33 s                                                                                                                           Sine value: 0.99
Inferring sine for 3.1415927
FHE computation in 32 s                                                                                                                           Sine value: -0.01
Inferring sine for 4.712389
FHE computation in 32 s
Sine value: -1.09                                                                                                                                 Inferring sine for 6.2831855
FHE computation in 32 s
Sine value: -0.12

Both codes were based on the same netlist file, which means that they went through the same step but at the very end with different transpilers.

heir-opt --heir-tosa-to-arith ${INPUT_TOSA} | tee >(heir-translate --emit-metadata -o ${OUTPUT_METADATA}) |  heir-translate --emit-verilog -o ${OUTPUT_VERILOG}
YOSYS_SCRIPT="read_verilog ${OUTPUT_VERILOG}; hierarchy -check -top main; techmap; opt; splitnets -ports for_*; abc -lut 3; opt_clean -purge; techmap -map ${LUTMAP_SCRIPT}; opt_clean -purge; flatten; hierarchy -generate lut3 o:Y i:P* i:A i:B i:C; opt_expr; opt; opt_clean -purge; rename -hide */w:*; rename -enumerate */w:*; rename -top ${MODEL_NAME}; clean; write_verilog -noattr ${OUTPUT_NETLIST}"
yosys -p "${YOSYS_SCRIPT}"
# transpiler is exported to the tfhe-rs transpiler
transpiler --ir_path ${OUTPUT_NETLIST} --liberty_path ${LIBERTY_CELLS} --heir_metadata_path ${OUTPUT_METADATA} --parallelism=0 --rs_out ${OUTPUT_RUST}
# transpiler is exported to the jaxite transpiler
transpiler --ir_path  ${OUTPUT_NETLIST} --optimizer=yosys --liberty_path ${LIBERTY_CELLS} --metadata_path ${OUTPUT_METADATA} --parallelism=0 --py_out ${OUTPUT_PY}

This is the code that I've used as a testbench for the Jaxite.

"""A jaxite testbench for hello_world tensorflow code."""

from collections.abc import Sequence
import functools

from absl import app
from jaxite.jaxite_bool import bool_params
from jaxite.jaxite_bool import jaxite_bool
from jax import Array as ndarray
from jax import numpy as jnp
import timeit

from transpiler.tensorflow.examples.hello_world import hello_world_fhe_lib_python

def bit_slice_to_int(bit_slice: list[bool]) -> int:
  """Given an list of bits, return a base-10 integer."""
  result = 0
  for i, bit in enumerate(bit_slice):
    result |= int(bit) << i
  return result


def int_to_bit_slice(input_int: int) -> list[bool]:
  """Given an integer and bit width, return a bitwise representation."""
  result: list[bool] = [False] * 8
  for i in range(8):
    result[i] = ((input_int >> i) & 1) != 0
  return result

def quantize(arr: ndarray) -> ndarray:
    """
    Quantize an array of jnp.float32 to jnp.int8.

    Args:
    - arr (jnp.ndarray): Input array of jnp.float32.

    Returns:
    - jnp.ndarray: Quantized array of jnp.int8.
    """
    return ((arr / 0.024480115622282) - 128.0).astype(jnp.int8)

def dequantize(arr: ndarray) -> ndarray:
    """
    Dequantize an array of jnp.int8 to jnp.float32.

    Args:
    - arr (jnp.ndarray): Input array of jnp.int8.

    Returns:
    - jnp.ndarray: Dequantized array of jnp.float32.
    """
    return ((arr.astype(jnp.float32) - 5) * 0.00829095672816038)

@functools.cache
def setup():
  print(f'Generating keys')
  boolean_params = bool_params.get_params_for_128_bit_security()
  lwe_rng = bool_params.get_lwe_rng_for_128_bit_security(1)
  rlwe_rng = bool_params.get_rlwe_rng_for_128_bit_security(1)
    # lwe_dimension=800,
    # rlwe_dimension=2,
    # plaintext_modulus=2^32,
    # polynomial_modulus_degree=512,
    # bsk log_base=4, level_count=6
    # ksk log_base=4, level_count=5
  cks = jaxite_bool.ClientKeySet(boolean_params, lwe_rng, rlwe_rng)
  sks = jaxite_bool.ServerKeySet(cks, boolean_params, lwe_rng, rlwe_rng)
  return (boolean_params, lwe_rng, cks, sks)

def main(argv: Sequence[str]) -> None:
  del argv
  (boolean_params, lwe_rng, cks, sks) = setup()
  pi = 3.14159265358979323846
  x_vals = jnp.float32(jnp.linspace(0, 2.0*pi, 4))
  quantized_x_vals = quantize(x_vals)
  quantized_result = ndarray() # type: ignore
  print("Quantized x = ", quantized_x_vals)
  for x in quantized_x_vals:
    x_cleartext = int_to_bit_slice(x)
    x_ciphertext = [jaxite_bool.encrypt(z, cks, lwe_rng) for z in x_cleartext]
    print('Running FHE circuit')
    start = timeit.default_timer()
    result_ciphertext = hello_world_fhe_lib_python.hello_world(
        x_ciphertext,
        sks,
        boolean_params,
    )
    end = timeit.default_timer()
    print(f'FHE circuit took {end - start:1f} seconds')
    result_ciphertext = [jaxite_bool.decrypt(z, cks) for z in result_ciphertext]
    result_cleartext = bit_slice_to_int(result_ciphertext)
    print(f'f({x}) = {result_cleartext}')
    quantized_result = jnp.append(quantized_result, result_cleartext)
    
  result = dequantize(quantized_result)

if __name__ == '__main__':
  app.run(main)

This is the modified BUILD file to create the py_library

# Hello World example

load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_library")
load("@rules_python//python:defs.bzl", "py_binary", "py_library")

package(
    default_applicable_licenses = ["@com_google_fully_homomorphic_encryption//:license"],
    default_visibility = ["//visibility:public"],
)

licenses(["notice"])

rust_library(
    name = "hello_world_fhe_lib_rust",
    srcs = ["hello_world_fhe_lib_rust.rs"],
    disable_pipelining = True,
    tags = [
        "manual",
        "notap",
    ],
    deps = [
        "@crate_index//:rayon",
        "@crate_index//:tfhe",
    ],
	rustc_flags = ["--cfg", "lut"]
)

rust_binary(
    name = "hello_world_testbench_rust",
    srcs = [
        "hello_world_testbench_rust.rs",
    ],
    tags = [
        "manual",
        "notap",
    ],
    deps = [
        ":hello_world_fhe_lib_rust",
        "@crate_index//:rayon",
        "@crate_index//:tfhe",
    ],
)

py_library(
    name = "hello_world_fhe_lib_python",
    srcs = ["hello_world_fhe_lib_python.py"],
    tags = [
        "manual",
        "notap",
    ],
    deps = [
        "@transpiler_pip_deps//pypi__jaxite",
    ],
)

py_binary(
    name = "hello_world_testbench_python",
    srcs = [
        "hello_world_testbench_python.py",
    ],
    tags = [
        "manual",
        "notap",
    ],
    deps = [
        ":hello_world_fhe_lib_python",
        "@com_google_absl_py//absl:app",
        "@transpiler_pip_deps//pypi__jaxite",
    ],
)

I'm using Python 3.10.13, Nvidia V100 as GPU, and CUDA 11.8. Tell me if my testbench or configuration is wrong.

Transpiler fails to build under Ubuntu 22.04

I have been running the transpiler successfully under Ubuntu but after upgrading to 22.04, there is an issue when Bazel tries to build the llvm toolsuite, failing with the message:

Error in fail: Unknown LLVM release: clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz
Please ensure file name is correct.

Even deleting everything and reloading the repo does not fix this.

I did find a workaround, based on what I read in this issue report . The workaround is to edit /etc/os-release , changing 22 to 20 everywhere. After that Bazel will build properly with no further issues. Apparently there is not an appropriate release in the llvm repo for 22.04 yet?

However, one needs su privileges to do this, so some users will not be able (or may not want to) implement this workaround.

Using OpenFHE compile error,but Using TFHE is ok

bazel run //transpiler/examples/fibonacci:fibonacci_openfhe_testbench
Starting local Bazel server and connecting to it...
INFO: Analyzed target //transpiler/examples/fibonacci:fibonacci_openfhe_testbench (99 packages loaded, 21005 targets configured).
INFO: Found 1 target...
ERROR: /home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/external/openfhe/BUILD.bazel:55:6: Foreign Cc - CMake: Building binfhe failed: (Exit 1): bash failed: error executing command /bin/bash -c bazel-out/k8-opt/bin/external/openfhe/binfhe_foreign_cc/wrapper_build_script.sh

Use --sandbox_debug to see verbose messages from the sandbox bash failed: error executing command /bin/bash -c bazel-out/k8-opt/bin/external/openfhe/binfhe_foreign_cc/wrapper_build_script.sh

Use --sandbox_debug to see verbose messages from the sandbox
rules_foreign_cc: Build failed!
rules_foreign_cc: Keeping temp build directory and dependencies directory for debug.
rules_foreign_cc: Please note that the directories inside a sandbox are still cleaned unless you specify --sandbox_debug Bazel command line flag.
rules_foreign_cc: Printing build logs:
_____ BEGIN BUILD LOGS _____

Bazel external C/C++ Rules. Building library binfhe

Environment:______________
BUILD_SCRIPT=bazel-out/k8-opt/bin/external/openfhe/binfhe_foreign_cc/build_script.sh
EXT_BUILD_ROOT=/home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption
BUILD_LOG=bazel-out/k8-opt/bin/external/openfhe/binfhe_foreign_cc/CMake.log
PWD=/home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption
BUILD_WRAPPER_SCRIPT=bazel-out/k8-opt/bin/external/openfhe/binfhe_foreign_cc/wrapper_build_script.sh
PYTHON_BIN_PATH=/usr/bin/python3
TMPDIR=/tmp
EXT_BUILD_DEPS=/home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt/bin/external/openfhe/binfhe.ext_build_deps
BUILD_TMPDIR=/home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt/bin/external/openfhe/binfhe.build_tmpdir
SHLVL=2
BAZEL_CXXOPTS=-std=c++17
CMAKE_BUILD_PARALLEL_LEVEL=16
INSTALLDIR=/home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt/bin/external/openfhe/binfhe
PATH=/home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption:/home/constexpr/.cache/bazelisk/downloads/bazelbuild/bazel-4.0.0-linux-x86_64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
_=/usr/bin/env


  • /home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption/external/cmake-3.22.1-linux-x86_64/bin/cmake -DBUILD_BENCHMARKS=OFF -DBUILD_UNITTESTS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=crosstool_bazel.cmake -DCMAKE_INSTALL_PREFIX=/home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt/bin/external/openfhe/binfhe -DCMAKE_PREFIX_PATH=/home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt/bin/external/openfhe/binfhe.ext_build_deps -DCMAKE_RANLIB= -DCMAKE_MAKE_PROGRAM=/home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/rules_foreign_cc/toolchains/make/bin/make -G 'Unix Makefiles' /home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption/external/openfhe
    -- The C compiler identification is GNU 9.4.0
    -- The CXX compiler identification is GNU 9.4.0
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: /usr/bin/gcc - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: /usr/bin/gcc - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Building in Release mode
    -- BUILD_UNITTESTS: OFF
    -- BUILD_EXAMPLES: ON
    -- BUILD_BENCHMARKS: OFF
    -- BUILD_EXTRAS: OFF
    -- BUILD_DOCS: OFF
    -- BUILD_STATIC: OFF
    -- BUILD_SHARED: ON
    -- GIT_SUBMOD_AUTO: ON
    -- WITH_BE2: ON
    -- WITH_BE4: ON
    -- WITH_NTL: OFF
    -- WITH_TCM: OFF
    -- WITH_INTEL_HEXL: OFF
    -- WITH_OPENMP: ON
    -- NATIVE_SIZE: 64
    -- CKKS_M_FACTOR: 1
    -- WITH_NATIVEOPT: OFF
    -- WITH_COVTEST: OFF
    -- BUILTIN_INFO_AVAILABLE is defined
    ***** INSTALL IS AT /home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt/bin/external/openfhe/binfhe; to change, run cmake with -DCMAKE_INSTALL_PREFIX=/your/path
    -- Architecture is x86_64
    -- Looking for sys/types.h
    -- Looking for sys/types.h - found
    -- Looking for stdint.h
    -- Looking for stdint.h - found
    -- Looking for stddef.h
    -- Looking for stddef.h - found
    -- Check size of __int128
    -- Check size of __int128 - done
    -- Check size of uint64_t
    -- Check size of uint64_t - done
    -- NATIVEINT is set to 64
    -- MATHBACKEND is set to 2
    CMake Error at CMakeLists.txt:377 (message):
    Autoconf is not installed.

-- Found OpenMP_C: -fopenmp (found version "4.5")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Found Git: /usr/bin/git (found version "2.25.1")
-- Configuring incomplete, errors occurred!
See also "/home/constexpr/.cache/bazel/_bazel_constexpr/57e8517c1009cf8d8f04e6f3fe94bf13/sandbox/linux-sandbox/1/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt/bin/external/openfhe/binfhe.build_tmpdir/CMakeFiles/CMakeOutput.log".
_____ END BUILD LOGS _____
rules_foreign_cc: Build wrapper script location: bazel-out/k8-opt/bin/external/openfhe/binfhe_foreign_cc/wrapper_build_script.sh
rules_foreign_cc: Build script location: bazel-out/k8-opt/bin/external/openfhe/binfhe_foreign_cc/build_script.sh
rules_foreign_cc: Build log location: bazel-out/k8-opt/bin/external/openfhe/binfhe_foreign_cc/CMake.log

Target //transpiler/examples/fibonacci:fibonacci_openfhe_testbench failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 18.715s, Critical Path: 5.56s
INFO: 2 processes: 2 internal.
FAILED: Build did NOT complete successfully
FAILED: Build did NOT complete successfully

Issue Building With Bazel

  1. Fully Homomorphic Library with Bazel in Container Environment.
  2. Created a new example in Fully Homomorphic Library using openfhe https://github.com/openfheorg/ library.
  3. The example I am trying to run is https://github.com/openfheorg/openfhe-development/blob/main/src/pke/examples/simple-integers-serial-bgvrns.cpp
  4. The example runs fine when I compile and execute openfhe as a standalone project (independent of Fully Homomorphic Library).
  5. When I try to run the same example using bazel as part of Fully Homomorphic Library, I get a compilation error, show below

Screenshot 2022-04-13 at 3 00 53 PM

My steps:
A. I had cloned the repo
B. Created a new folder in examples to host my example code and made a new BUILD file
C. The build file is
Screenshot 2022-04-13 at 3 03 37 PM

Everything else in the project is constant, and not been altered.
Trying to understand why the openfhe example is not working within the Fully Homomorphic encryption Library.

This is a test

This is a test of email forwarding. Will close immediately.

Bazel build failed in windows

Dear Team,

When I'm building a Docker image I'm getting the below-mentioned error.
Could you please help me?

C:\Users\21335\fully-homomorphic-encryption>docker build -t google-fhe-transpiler -f docker/debian-bullseye.Dockerfile .
error during connect: This error may indicate that the docker daemon is not running.: Post "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=docker%2Fdebian-bullseye.Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&shmsize=0&t=google-fhe-transpiler&target=&ulimits=null&version=1": open //./pipe/docker_engine: The system cannot find the file specified.

C:\Users\21335\fully-homomorphic-encryption>docker build -t google-fhe-transpiler -f docker/debian-bullseye.Dockerfile .
[+] Building 2274.5s (11/11) FINISHED
=> [internal] load build definition from debian-bullseye.Dockerfile 0.1s
=> => transferring dockerfile: 48B 0.0s
=> [internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for docker.io/library/debian:bullseye-20220527 3.0s
=> [1/7] FROM docker.io/library/debian:bullseye-20220527@sha256:3f1d6c17773a45c97bd8f158d665c9709d7b29ed7917ac93 0.0s
=> [internal] load build context 0.2s
=> => transferring context: 22.56kB 0.2s
=> CACHED [2/7] RUN apt-get update && apt-get install -y gcc git libtinfo5 python python3 python3-pi 0.0s
=> CACHED [3/7] RUN wget -O bazel "https://github.com/bazelbuild/bazel/releases/download/5.3.2/bazel-5.3.2-linux 0.0s
=> CACHED [4/7] WORKDIR /usr/src/fhe/ 0.0s
=> CACHED [5/7] COPY . . 0.0s
=> CACHED [6/7] RUN bazel build @llvm_toolchain//:all 0.0s
=> ERROR [7/7] RUN bazel build ... 2270.9s

[7/7] RUN bazel build ...:
#11 1.170 Starting local Bazel server and connecting to it...
#11 7.768 Loading:
#11 7.780 Loading: 0 packages loaded
#11 8.794 Loading: 0 packages loaded
#11 9.795 Loading: 0 packages loaded
#11 10.87 Loading: 0 packages loaded
#11 10.87 currently loading: transpiler/struct_transpiler ... (8 packages)
#11 11.82 Analyzing: 1774 targets (27 packages loaded, 0 targets configured)
#11 12.82 Analyzing: 1774 targets (31 packages loaded, 26 targets configured)
#11 13.82 Analyzing: 1774 targets (81 packages loaded, 496 targets configured)
#11 15.48 Analyzing: 1774 targets (81 packages loaded, 496 targets configured)
#11 16.72 Analyzing: 1774 targets (84 packages loaded, 554 targets configured)
#11 18.17 Analyzing: 1774 targets (85 packages loaded, 556 targets configured)
#11 19.85 Analyzing: 1774 targets (95 packages loaded, 671 targets configured)
#11 21.72 DEBUG: Rule 'yosys' indicated that a canonical reproducible form can be obtained by modifying arguments shallow_since = "1662445410 +0200"
#11 21.74 DEBUG: Repository yosys instantiated at:
#11 21.74 /usr/src/fhe/WORKSPACE:130:19: in
#11 21.74 Repository rule new_git_repository defined at:
#11 21.74 /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/external/bazel_tools/tools/build_defs/repo/git.bzl:186:37: in
#11 21.75 Analyzing: 1774 targets (95 packages loaded, 671 targets configured)
#11 23.91 Analyzing: 1774 targets (114 packages loaded, 2218 targets configured)
#11 26.51 Analyzing: 1774 targets (126 packages loaded, 3272 targets configured)
#11 29.41 Analyzing: 1774 targets (128 packages loaded, 3472 targets configured)
#11 32.88 Analyzing: 1774 targets (131 packages loaded, 7546 targets configured)
#11 36.73 Analyzing: 1774 targets (133 packages loaded, 7546 targets configured)
#11 41.14 Analyzing: 1774 targets (133 packages loaded, 8012 targets configured)
#11 46.26 Analyzing: 1774 targets (133 packages loaded, 8012 targets configured)
#11 52.16 Analyzing: 1774 targets (133 packages loaded, 8012 targets configured)
#11 56.11 DEBUG: Rule 'openfhe' indicated that a canonical reproducible form can be obtained by modifying arguments shallow_since = "1667502783 +0200"
#11 56.12 DEBUG: Repository openfhe instantiated at:
#11 56.12 /usr/src/fhe/WORKSPACE:48:19: in
#11 56.12 Repository rule new_git_repository defined at:
#11 56.12 /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/external/bazel_tools/tools/build_defs/repo/git.bzl:186:37: in
#11 58.92 Analyzing: 1774 targets (134 packages loaded, 8044 targets configured)
#11 66.93 Analyzing: 1774 targets (135 packages loaded, 14426 targets configured)
#11 75.89 Analyzing: 1774 targets (140 packages loaded, 15974 targets configured)
#11 86.36 Analyzing: 1774 targets (140 packages loaded, 15974 targets configured)
#11 98.37 Analyzing: 1774 targets (140 packages loaded, 15974 targets configured)
#11 112.1 Analyzing: 1774 targets (140 packages loaded, 15974 targets configured)
#11 129.9 Analyzing: 1774 targets (141 packages loaded, 16112 targets configured)
#11 148.3 Analyzing: 1774 targets (156 packages loaded, 26507 targets configured)
#11 169.4 Analyzing: 1774 targets (157 packages loaded, 28598 targets configured)
#11 193.8 Analyzing: 1774 targets (157 packages loaded, 28598 targets configured)
#11 223.3 Analyzing: 1774 targets (157 packages loaded, 28598 targets configured)
#11 237.2 INFO: Analyzed 1774 targets (170 packages loaded, 29641 targets configured).
#11 237.2 INFO: Found 1774 targets...
#11 237.9 [0 / 349] [Prepa] BazelWorkspaceStatusAction stable-status.txt
#11 273.2 [111 / 872] Compiling src/google/protobuf/util/internal/proto_writer.cc; 4s processwrapper-sandbox ... (8 actions, 7 running)
#11 313.2 [177 / 872] Compiling src/google/protobuf/descriptor.cc; 36s processwrapper-sandbox ... (8 actions, 7 running)#11 359.6 [278 / 872] Compiling src/google/protobuf/descriptor.pb.cc; 11s processwrapper-sandbox ... (8 actions, 7 running)
#11 413.7 [359 / 872] Compiling src/google/protobuf/struct.pb.cc; 13s processwrapper-sandbox ... (8 actions, 7 running)
#11 476.5 [433 / 872] Compiling src/google/protobuf/compiler/java/shared_code_generator.cc; 9s processwrapper-sandbox ... (8 actions, 7 running)
#11 547.4 [510 / 872] Compiling googletest/src/gtest.cc; 24s processwrapper-sandbox ... (8 actions, 7 running)
#11 619.1 INFO: From Executing genrule @z3//:gen_src/ackermannization/ackermannization_params:
#11 619.1 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/538/execroot/com_google_fully_homomorphic_encryption/external/z3/src/ackermannization/ackermannization_params.pyg
#11 619.1 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/538/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/ackermannization/ackermannization_params.hpp"
#11 619.3 INFO: From Executing genrule @z3//:gen_src/ast/rewriter/bool_rewriter_params:
#11 619.3 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/539/execroot/com_google_fully_homomorphic_encryption/external/z3/src/ast/rewriter/bool_rewriter_params.pyg
#11 619.3 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/539/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/ast/rewriter/bool_rewriter_params.hpp"
#11 619.5 INFO: From Executing genrule @z3//:gen_src/ast/rewriter/bv_rewriter_params:
#11 619.5 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/540/execroot/com_google_fully_homomorphic_encryption/external/z3/src/ast/rewriter/bv_rewriter_params.pyg
#11 619.5 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/540/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/ast/rewriter/bv_rewriter_params.hpp"
#11 620.1 INFO: From Executing genrule @z3//:gen_src/tactic/tactic_params:
#11 620.2 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/541/execroot/com_google_fully_homomorphic_encryption/external/z3/src/tactic/tactic_params.pyg
#11 620.2 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/541/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/tactic/tactic_params.hpp"
#11 620.3 INFO: From Executing genrule @z3//:gen_src/tactic/sls/sls_params:
#11 620.3 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/542/execroot/com_google_fully_homomorphic_encryption/external/z3/src/tactic/sls/sls_params.pyg
#11 620.3 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/542/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/tactic/sls/sls_params.hpp"
#11 620.7 INFO: From Executing genrule @z3//:gen_src/model/model_evaluator_params:
#11 620.7 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/543/execroot/com_google_fully_homomorphic_encryption/external/z3/src/model/model_evaluator_params.pyg
#11 620.7 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/543/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/model/model_evaluator_params.hpp"
#11 620.8 INFO: From Executing genrule @z3//:gen_src/model/model_params:
#11 620.8 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/544/execroot/com_google_fully_homomorphic_encryption/external/z3/src/model/model_params.pyg
#11 620.8 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/544/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/model/model_params.hpp"
#11 620.8 INFO: From Executing genrule @z3//:gen_src/solver/solver_params:
#11 620.8 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/545/execroot/com_google_fully_homomorphic_encryption/external/z3/src/solver/solver_params.pyg
#11 620.8 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/545/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/solver/solver_params.hpp"
#11 620.9 INFO: From Executing genrule @z3//:gen_src/solver/parallel_params:
#11 620.9 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/546/execroot/com_google_fully_homomorphic_encryption/external/z3/src/solver/parallel_params.pyg
#11 620.9 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/546/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/solver/parallel_params.hpp"
#11 621.1 INFO: From Executing genrule @z3//:gen_src/nlsat/nlsat_params:
#11 621.1 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/548/execroot/com_google_fully_homomorphic_encryption/external/z3/src/nlsat/nlsat_params.pyg
#11 621.1 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/548/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/nlsat/nlsat_params.hpp"
#11 621.2 INFO: From Executing genrule @z3//:gen_src/smt/params/smt_params_helper:
#11 621.2 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/547/execroot/com_google_fully_homomorphic_encryption/external/z3/src/smt/params/smt_params_helper.pyg
#11 621.2 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/547/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/smt/params/smt_params_helper.hpp"
#11 621.3 INFO: From Executing genrule @z3//:gen_src/opt/opt_params:
#11 621.3 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/549/execroot/com_google_fully_homomorphic_encryption/external/z3/src/opt/opt_params.pyg
#11 621.3 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/549/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/opt/opt_params.hpp"
#11 621.4 INFO: From Executing genrule @z3//:gen_src/parsers/util/parser_params:
#11 621.4 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/550/execroot/com_google_fully_homomorphic_encryption/external/z3/src/parsers/util/parser_params.pyg
#11 621.4 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/550/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/parsers/util/parser_params.hpp"
#11 621.5 INFO: From Executing genrule @z3//:gen_src/sat/sat_simplifier_params:
#11 621.5 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/551/execroot/com_google_fully_homomorphic_encryption/external/z3/src/sat/sat_simplifier_params.pyg
#11 621.5 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/551/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/sat/sat_simplifier_params.hpp"
#11 621.6 INFO: From Executing genrule @z3//:gen_src/sat/sat_params:
#11 621.6 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/552/execroot/com_google_fully_homomorphic_encryption/external/z3/src/sat/sat_params.pyg
#11 621.6 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/552/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/sat/sat_params.hpp"
#11 621.6 INFO: From Executing genrule @z3//:gen_src/sat/sat_asymm_branch_params:
#11 621.6 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/553/execroot/com_google_fully_homomorphic_encryption/external/z3/src/sat/sat_asymm_branch_params.pyg
#11 621.6 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/553/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/sat/sat_asymm_branch_params.hpp"
#11 621.7 INFO: From Executing genrule @z3//:gen_src/sat/sat_scc_params:
#11 621.7 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/554/execroot/com_google_fully_homomorphic_encryption/external/z3/src/sat/sat_scc_params.pyg
#11 621.7 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/554/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/sat/sat_scc_params.hpp"
#11 622.0 INFO: From Executing genrule @z3//:gen_src/solver/combined_solver_params:
#11 622.0 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/556/execroot/com_google_fully_homomorphic_encryption/external/z3/src/solver/combined_solver_params.pyg
#11 622.0 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/556/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/solver/combined_solver_params.hpp"
#11 622.0 INFO: From Executing genrule @z3//:gen_src/muz/base/fp_params:
#11 622.0 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/555/execroot/com_google_fully_homomorphic_encryption/external/z3/src/muz/base/fp_params.pyg
#11 622.0 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/555/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/muz/base/fp_params.hpp"
#11 622.2 INFO: From Executing genrule @z3//:gen_src/math/realclosure/rcf_params:
#11 622.2 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/558/execroot/com_google_fully_homomorphic_encryption/external/z3/src/math/realclosure/rcf_params.pyg
#11 622.2 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/558/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/math/realclosure/rcf_params.hpp"
#11 622.2 INFO: From Executing genrule @z3//:gen_src/math/polynomial/algebraic_params:
#11 622.2 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/559/execroot/com_google_fully_homomorphic_encryption/external/z3/src/math/polynomial/algebraic_params.pyg
#11 622.2 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/559/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/math/polynomial/algebraic_params.hpp"
#11 622.3 INFO: From Executing genrule @z3//:gen_src/tactic/smtlogics/qfufbv_tactic_params:
#11 622.3 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/560/execroot/com_google_fully_homomorphic_encryption/external/z3/src/tactic/smtlogics/qfufbv_tactic_params.pyg
#11 622.3 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/560/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/tactic/smtlogics/qfufbv_tactic_params.hpp"
#11 622.5 INFO: From Executing genrule @z3//:gen_src/ast/rewriter/rewriter_params:
#11 622.5 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/562/execroot/com_google_fully_homomorphic_encryption/external/z3/src/ast/rewriter/rewriter_params.pyg
#11 622.5 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/562/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/ast/rewriter/rewriter_params.hpp"
#11 622.5 INFO: From Executing genrule @z3//:gen_src/ast/rewriter/seq_rewriter_params:
#11 622.5 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/561/execroot/com_google_fully_homomorphic_encryption/external/z3/src/ast/rewriter/seq_rewriter_params.pyg
#11 622.5 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/561/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/ast/rewriter/seq_rewriter_params.hpp"
#11 622.6 INFO: From Executing genrule @z3//:gen_src/ast/rewriter/poly_rewriter_params:
#11 622.6 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/563/execroot/com_google_fully_homomorphic_encryption/external/z3/src/ast/rewriter/poly_rewriter_params.pyg
#11 622.6 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/563/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/ast/rewriter/poly_rewriter_params.hpp"
#11 622.6 INFO: From Executing genrule @z3//:gen_src/ast/rewriter/fpa_rewriter_params:
#11 622.6 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/564/execroot/com_google_fully_homomorphic_encryption/external/z3/src/ast/rewriter/fpa_rewriter_params.pyg
#11 622.6 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/564/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/ast/rewriter/fpa_rewriter_params.hpp"
#11 622.7 INFO: From Executing genrule @z3//:gen_src/ast/rewriter/array_rewriter_params:
#11 622.7 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/565/execroot/com_google_fully_homomorphic_encryption/external/z3/src/ast/rewriter/array_rewriter_params.pyg
#11 622.7 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/565/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/ast/rewriter/array_rewriter_params.hpp"
#11 622.8 INFO: From Executing genrule @z3//:gen_src/ast/pp_params:
#11 622.8 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/566/execroot/com_google_fully_homomorphic_encryption/external/z3/src/ast/pp_params.pyg
#11 622.8 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/566/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/ast/pp_params.hpp"
#11 622.8 INFO: From Executing genrule @z3//:gen_src/ast/pattern/database:
#11 622.8 INFO:root:Generated "bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/ast/pattern/database.h"
#11 622.8 INFO: From Executing genrule @z3//:gen_src/ast/pattern/pattern_inference_params_helper:
#11 622.9 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/568/execroot/com_google_fully_homomorphic_encryption/external/z3/src/ast/pattern/pattern_inference_params_helper.pyg
#11 622.9 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/568/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/ast/pattern/pattern_inference_params_helper.hpp"
#11 622.9 INFO: From Executing genrule @z3//:gen_src/ast/fpa/fpa2bv_rewriter_params:
#11 622.9 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/569/execroot/com_google_fully_homomorphic_encryption/external/z3/src/ast/fpa/fpa2bv_rewriter_params.pyg
#11 622.9 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/569/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/ast/fpa/fpa2bv_rewriter_params.hpp"
#11 623.0 INFO: From Executing genrule @z3//:gen_src/ast/normal_forms/nnf_params:
#11 623.0 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/570/execroot/com_google_fully_homomorphic_encryption/external/z3/src/ast/normal_forms/nnf_params.pyg
#11 623.0 INFO:root:Generated "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/570/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/ast/normal_forms/nnf_params.hpp"
#11 623.8 INFO: From Executing genrule @z3//:gen_src/ackermannization/ackermannize_bv_tactic_params:
#11 623.8 INFO:root:Using /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/571/execroot/com_google_fully_homomorphic_encryption/external/z3/src/ackermannization/ackermannize_bv_tactic_params.pyg#11 623.8 INFO:root:Generated "/root/.cache/bazel/bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/571/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/ackermannization/ackermannize_bv_tactic_params.hpp"
#11 623.8 INFO: From Executing genrule @z3//:gen_src/ast/rewriter/arith_rewriter_params:
#11 623.8 INFO:root:Using /root/.cache/bazel/bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/572/execroot/com_google_fully_homomorphic_encryption/external/z3/src/ast/rewriter/arith_rewriter_params.pyg
#11 623.8 INFO:root:Generated "/root/.cache/bazel/bazel_root/595596dc4dacd40e54f4e8ca596c8a84/sandbox/processwrapper-sandbox/572/execroot/com_google_fully_homomorphic_encryption/bazel-out/k8-opt-exec-2B5CBBC6/bin/external/z3/src/ast/rewriter/arith_rewriter_params.hpp"
#11 628.4 [664 / 2,153] Compiling src/google/protobuf/extension_set.cc; 11s processwrapper-sandbox ... (8 actions, 7 running)
#11 646.3 INFO: From Executing genrule @z3//:gen_srcs:
#11 646.3 New component: 'util'
#11 646.3 New component: 'polynomial'
#11 646.3 New component: 'interval'
#11 646.3 New component: 'dd'
#11 646.3 New component: 'simplex'
#11 646.3 New component: 'hilbert'
#11 646.3 New component: 'automata'
#11 646.3 New component: 'realclosure'
#11 646.3 New component: 'subpaving'
#11 646.3 New component: 'ast'
#11 646.3 New component: 'grobner'
#11 646.3 New component: 'sat'
#11 646.3 New component: 'nlsat'
#11 646.3 New component: 'lp'
#11 646.3 New component: 'rewriter'
#11 646.3 New component: 'macros'
#11 646.3 New component: 'normal_forms'
#11 646.3 New component: 'model'
#11 646.3 New component: 'tactic'
#11 646.3 New component: 'substitution'
#11 646.3 New component: 'parser_util'
#11 646.3 New component: 'proofs'
#11 646.3 New component: 'solver'
#11 646.3 New component: 'cmd_context'
#11 646.3 New component: 'sat_tactic'
#11 646.3 New component: 'smt2parser'
#11 646.3 New component: 'pattern'
#11 646.3 New component: 'core_tactics'
#11 646.3 New component: 'arith_tactics'
#11 646.3 New component: 'nlsat_tactic'
#11 646.3 New component: 'subpaving_tactic'
#11 646.3 New component: 'aig_tactic'
#11 646.3 New component: 'ackermannization'
#11 646.3 New component: 'fpa'
#11 646.3 New component: 'bit_blaster'
#11 646.3 New component: 'smt_params'
#11 646.3 New component: 'proto_model'
#11 646.3 New component: 'smt'
#11 646.3 New component: 'bv_tactics'
#11 646.3 New component: 'fuzzing'
#11 646.3 New component: 'smt_tactic'
#11 646.3 New component: 'sls_tactic'
#11 646.3 New component: 'qe'
#11 646.3 New component: 'sat_solver'
#11 646.3 New component: 'fd_solver'
#11 646.3 New component: 'muz'
#11 646.3 New component: 'dataflow'
#11 646.3 New component: 'transforms'
#11 646.3 New component: 'rel'
#11 646.3 New component: 'spacer'
#11 646.3 New component: 'clp'
#11 646.3 New component: 'tab'
#11 646.3 New component: 'ddnf'
#11 646.3 New component: 'bmc'
#11 646.3 New component: 'fp'
#11 646.3 New component: 'ufbv_tactic'
#11 646.3 New component: 'smtlogic_tactics'
#11 646.3 New component: 'fpa_tactics'
#11 646.3 New component: 'portfolio'
#11 646.3 New component: 'opt'
#11 646.3 New component: 'api'
#11 646.3 New component: 'extra_cmds'
#11 646.3 New component: 'shell'
#11 646.3 New component: 'test'
#11 646.3 New component: 'api_dll'
#11 646.3 New component: 'dotnet'
#11 646.3 New component: 'java'
#11 646.3 New component: 'ml'
#11 646.3 New component: 'cpp'
#11 646.3 Python bindings directory was detected.
#11 646.3 New component: 'python'
#11 646.3 New component: 'python_install'
#11 646.3 New component: 'js'
#11 646.3 New component: 'cpp_example'
#11 646.3 New component: 'z3_tptp'
#11 646.3 New component: 'c_example'
#11 646.3 New component: 'maxsat'
#11 646.3 New component: 'dotnet_example'
#11 646.3 New component: 'java_example'
#11 646.3 New component: 'ml_example'
#11 646.3 New component: 'py_example'
#11 646.3 Generating src/util/z3_version.h from src/util/z3_version.h.in
#11 646.3 Generated 'src/util/z3_version.h'
#11 646.3 Generated 'src/opt/opt_params.hpp'
#11 646.3 Generated 'src/math/polynomial/algebraic_params.hpp'
#11 646.3 Generated 'src/math/realclosure/rcf_params.hpp'
#11 646.3 Generated 'src/smt/params/smt_params_helper.hpp'
#11 646.3 Generated 'src/sat/sat_params.hpp'
#11 646.3 Generated 'src/sat/sat_scc_params.hpp'
#11 646.3 Generated 'src/sat/sat_simplifier_params.hpp'
#11 646.3 Generated 'src/sat/sat_asymm_branch_params.hpp'
#11 646.3 Generated 'src/nlsat/nlsat_params.hpp'
#11 646.3 Generated 'src/muz/base/fp_params.hpp'
#11 646.3 Generated 'src/ast/pp_params.hpp'
#11 646.3 Generated 'src/ast/pattern/pattern_inference_params_helper.hpp'
#11 646.3 Generated 'src/ast/rewriter/arith_rewriter_params.hpp'
#11 646.3 Generated 'src/ast/rewriter/seq_rewriter_params.hpp'
#11 646.3 Generated 'src/ast/rewriter/array_rewriter_params.hpp'
#11 646.3 Generated 'src/ast/rewriter/fpa_rewriter_params.hpp'
#11 646.3 Generated 'src/ast/rewriter/bool_rewriter_params.hpp'
#11 646.3 Generated 'src/ast/rewriter/rewriter_params.hpp'
#11 646.3 Generated 'src/ast/rewriter/poly_rewriter_params.hpp'
#11 646.3 Generated 'src/ast/rewriter/bv_rewriter_params.hpp'
#11 646.3 Generated 'src/ast/fpa/fpa2bv_rewriter_params.hpp'
#11 646.3 Generated 'src/ast/normal_forms/nnf_params.hpp'
#11 646.3 Generated 'src/parsers/util/parser_params.hpp'
#11 646.3 Generated 'src/tactic/tactic_params.hpp'
#11 646.3 Generated 'src/tactic/smtlogics/qfufbv_tactic_params.hpp'
#11 646.3 Generated 'src/tactic/sls/sls_params.hpp'
#11 646.3 Generated 'src/ackermannization/ackermannize_bv_tactic_params.hpp'
#11 646.3 Generated 'src/ackermannization/ackermannization_params.hpp'
#11 646.3 Generated 'src/model/model_params.hpp'
#11 646.3 Generated 'src/model/model_evaluator_params.hpp'
#11 646.3 Generated 'src/solver/combined_solver_params.hpp'
#11 646.3 Generated 'src/solver/parallel_params.hpp'
#11 646.3 Generated 'src/solver/solver_params.hpp'
#11 646.3 Generated 'src/ast/pattern/database.h'
#11 646.3 Component api
#11 646.3 Component portfolio
#11 646.3 Component smtlogic_tactics
#11 646.3 Component ackermannization
#11 646.3 Component model
#11 646.3 Component rewriter
#11 646.3 Component ast
#11 646.3 Component util
#11 646.3 Component polynomial
#11 646.3 Component automata
#11 646.3 Component solver
#11 646.3 Component tactic
#11 646.3 Component proofs
#11 646.3 Component sat_solver
#11 646.3 Component core_tactics
#11 646.3 Component macros
#11 646.3 Component normal_forms
#11 646.3 Component pattern
#11 646.3 Component smt2parser
#11 646.3 Component cmd_context
#11 646.3 Component parser_util
#11 646.3 Component aig_tactic
#11 646.3 Component bv_tactics
#11 646.3 Component bit_blaster
#11 646.3 Component arith_tactics
#11 646.3 Component sat
#11 646.3 Component dd
#11 646.3 Component interval
#11 646.3 Component grobner
#11 646.3 Component simplex
#11 646.3 Component sat_tactic
#11 646.3 Component nlsat_tactic
#11 646.3 Component nlsat
#11 646.3 Component smt_tactic
#11 646.3 Component smt
#11 646.3 Component proto_model
#11 646.3 Component smt_params
#11 646.3 Component substitution
#11 646.3 Component fpa
#11 646.3 Component lp
#11 646.3 Component fp
#11 646.3 Component muz
#11 646.3 Component qe
#11 646.3 Component clp
#11 646.3 Component transforms
#11 646.3 Component hilbert
#11 646.3 Component dataflow
#11 646.3 Component tab
#11 646.3 Component rel
#11 646.3 Component bmc
#11 646.3 Component fd_solver
#11 646.3 Component ddnf
#11 646.3 Component spacer
#11 646.3 Component ufbv_tactic
#11 646.3 Component fpa_tactics
#11 646.3 Component sls_tactic
#11 646.3 Component subpaving_tactic
#11 646.3 Component subpaving
#11 646.3 Component realclosure
#11 646.3 Component opt
#11 646.3 Component extra_cmds
#11 646.3 Component shell
#11 646.3 Generated 'src/shell/install_tactic.cpp'
#11 646.3 Component api
#11 646.3 Component portfolio
#11 646.3 Component smtlogic_tactics
#11 646.3 Component ackermannization
#11 646.3 Component model
#11 646.3 Component rewriter
#11 646.3 Component ast
#11 646.3 Component util
#11 646.3 Component polynomial
#11 646.3 Component automata
#11 646.3 Component solver
#11 646.3 Component tactic
#11 646.3 Component proofs
#11 646.3 Component sat_solver
#11 646.3 Component core_tactics
#11 646.3 Component macros
#11 646.3 Component normal_forms
#11 646.3 Component pattern
#11 646.3 Component smt2parser
#11 646.3 Component cmd_context
#11 646.3 Component parser_util
#11 646.3 Component aig_tactic
#11 646.3 Component bv_tactics
#11 646.3 Component bit_blaster
#11 646.3 Component arith_tactics
#11 646.3 Component sat
#11 646.3 Component dd
#11 646.3 Component interval
#11 646.3 Component grobner
#11 646.3 Component simplex
#11 646.3 Component sat_tactic
#11 646.3 Component nlsat_tactic
#11 646.3 Component nlsat
#11 646.3 Component smt_tactic
#11 646.3 Component smt
#11 646.3 Component proto_model
#11 646.3 Component smt_params
#11 646.3 Component substitution
#11 646.3 Component fpa
#11 646.3 Component lp
#11 646.3 Component fp
#11 646.3 Component muz
#11 646.3 Component qe
#11 646.3 Component clp
#11 646.3 Component transforms
#11 646.3 Component hilbert
#11 646.3 Component dataflow
#11 646.3 Component tab
#11 646.3 Component rel
#11 646.3 Component bmc
#11 646.3 Component fd_solver
#11 646.3 Component ddnf
#11 646.3 Component spacer
#11 646.3 Component ufbv_tactic
#11 646.3 Component fpa_tactics
#11 646.3 Component sls_tactic
#11 646.3 Component subpaving_tactic
#11 646.3 Component subpaving
#11 646.3 Component realclosure
#11 646.3 Component opt
#11 646.3 Component fuzzing
#11 646.3 Component test
#11 646.3 Generated 'src/test/install_tactic.cpp'
#11 646.3 Component api
#11 646.3 Component portfolio
#11 646.3 Component smtlogic_tactics
#11 646.3 Component ackermannization
#11 646.3 Component model
#11 646.3 Component rewriter
#11 646.3 Component ast
#11 646.3 Component util
#11 646.3 Component polynomial
#11 646.3 Component automata
#11 646.3 Component solver
#11 646.3 Component tactic
#11 646.3 Component proofs
#11 646.3 Component sat_solver
#11 646.3 Component core_tactics
#11 646.3 Component macros
#11 646.3 Component normal_forms
#11 646.3 Component pattern
#11 646.3 Component smt2parser
#11 646.3 Component cmd_context
#11 646.3 Component parser_util
#11 646.3 Component aig_tactic
#11 646.3 Component bv_tactics
#11 646.3 Component bit_blaster
#11 646.3 Component arith_tactics
#11 646.3 Component sat
#11 646.3 Component dd
#11 646.3 Component interval
#11 646.3 Component grobner
#11 646.3 Component simplex
#11 646.3 Component sat_tactic
#11 646.3 Component nlsat_tactic
#11 646.3 Component nlsat
#11 646.3 Component smt_tactic
#11 646.3 Component smt
#11 646.3 Component proto_model
#11 646.3 Component smt_params
#11 646.3 Component substitution
#11 646.3 Component fpa
#11 646.3 Component lp
#11 646.3 Component fp
#11 646.3 Component muz
#11 646.3 Component qe
#11 646.3 Component clp
#11 646.3 Component transforms
#11 646.3 Component hilbert
#11 646.3 Component dataflow
#11 646.3 Component tab
#11 646.3 Component rel
#11 646.3 Component bmc
#11 646.3 Component fd_solver
#11 646.3 Component ddnf
#11 646.3 Component spacer
#11 646.3 Component ufbv_tactic
#11 646.3 Component fpa_tactics
#11 646.3 Component sls_tactic
#11 646.3 Component subpaving_tactic
#11 646.3 Component subpaving
#11 646.3 Component realclosure
#11 646.3 Component opt
#11 646.3 Component extra_cmds
#11 646.3 Component api_dll
#11 646.3 Generated 'src/api/dll/install_tactic.cpp'
#11 646.3 Generated 'src/shell/mem_initializer.cpp'
#11 646.3 Generated 'src/test/mem_initializer.cpp'
#11 646.3 Generated 'src/api/dll/mem_initializer.cpp'
#11 646.3 Generated 'src/shell/gparams_register_modules.cpp'
#11 646.3 Generated 'src/test/gparams_register_modules.cpp'
#11 646.3 Generated 'src/api/dll/gparams_register_modules.cpp'
#11 646.3 Generated 'src/api/python/z3/z3consts.py
#11 646.3 Generated 'src/api/api_log_macros.h'
#11 646.3 Generated 'src/api/api_log_macros.cpp'
#11 646.3 Generated 'src/api/api_commands.cpp'
#11 646.3 Generated 'src/api/python/z3/z3core.py'
#11 646.3 Listing src/api/python/z3 ...
#11 646.3 Compiling src/api/python/z3/init.py ...
#11 646.3 Compiling src/api/python/z3/z3.py ...
#11 646.3 Compiling src/api/python/z3/z3consts.py ...
#11 646.3 Compiling src/api/python/z3/z3core.py ...
#11 646.3 Compiling src/api/python/z3/z3num.py ...
#11 646.3 Compiling src/api/python/z3/z3poly.py ...
#11 646.3 Compiling src/api/python/z3/z3printer.py ...
#11 646.3 Compiling src/api/python/z3/z3rcf.py ...
#11 646.3 Compiling src/api/python/z3/z3types.py ...
#11 646.3 Compiling src/api/python/z3/z3util.py ...
#11 646.3 Generated python bytecode
#11 646.3 Copied 'z3rcf.py'
#11 646.3 Copied 'z3.py'
#11 646.3 Copied 'z3poly.py'
#11 646.3 Copied 'z3consts.py'
#11 646.3 Copied 'z3core.py'
#11 646.3 Copied 'init.py'
#11 646.3 Copied 'z3num.py'
#11 646.3 Copied 'z3util.py'
#11 646.3 Copied 'z3types.py'
#11 646.3 Copied 'z3printer.py'
#11 646.3 Copied 'z3num.pyc'
#11 646.3 Copied 'z3types.pyc'
#11 646.3 Copied 'z3rcf.pyc'
#11 646.3 Copied 'z3util.pyc'
#11 646.3 Copied 'z3core.pyc'
#11 646.3 Copied 'z3poly.pyc'
#11 646.3 Copied 'z3consts.pyc'
#11 646.3 Copied 'z3.pyc'
#11 646.3 Copied 'z3printer.pyc'
#11 646.3 Copied 'init.pyc'
#11 646.3 Testing ar...
#11 646.3 Testing g++...
#11 646.3 Testing gcc...
#11 646.3 Testing floating point support...
#11 646.3 Host platform: Linux
#11 646.3 C++ Compiler: g++
#11 646.3 C Compiler : gcc
#11 646.3 Archive Tool: ar
#11 646.3 Arithmetic: internal
#11 646.3 Prefix: /usr
#11 646.3 64-bit: True
#11 646.3 FP math: SSE2-GCC
#11 646.3 Python pkg dir: /usr/lib/python2.7/dist-packages
#11 646.3 Python version: 2.7
#11 646.3 Writing build/Makefile
#11 646.3 Copied Z3Py example 'all_interval_series.py' to 'build/python'
#11 646.3 Copied Z3Py example 'trafficjam.py' to 'build/python'
#11 646.3 Copied Z3Py example 'example.py' to 'build/python'
#11 646.3 Copied Z3Py example 'mini_ic3.py' to 'build/python'
#11 646.3 Copied Z3Py example 'visitor.py' to 'build/python'
#11 646.3 Copied Z3Py example 'mini_quip.py' to 'build/python'
#11 646.3 Copied Z3Py example 'union_sort.py' to 'build/python'
#11 646.3 Copied Z3Py example 'socrates.py' to 'build/python'
#11 646.3 Copied Z3Py example 'rc2.py' to 'build/python'
#11 646.3 Copied Z3Py example 'parallel.py' to 'build/python'
#11 646.3 Makefile was successfully generated.
#11 646.3 compilation mode: Release
#11 646.3 Type 'cd build; make' to build Z3
#11 721.9 [802 / 2,153] Compiling src/math/lp/lar_core_solver.cpp; 10s processwrapper-sandbox ... (8 actions, 7 running)#11 728.2 INFO: From Compiling src/math/lp/int_branch.cpp:
#11 728.2 external/z3/src/math/lp/int_branch.cpp: In member function 'int lp::int_branch::find_inf_int_base_column()':
#11 728.2 external/z3/src/math/lp/int_branch.cpp:83:40: warning: 'prev_usage' may be used uninitialized in this function [-Wmaybe-uninitialized]
#11 728.2 83 | } else if (usage == prev_usage && (lia.random() % (++n) == 0)) {
#11 728.2 | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#11 728.2 At global scope:
#11 728.2 cc1plus: note: unrecognized command-line option '-Wno-string-conversion' may have been intended to silence earlier diagnostics
#11 829.6 [946 / 2,154] Compiling src/muz/tab/tab_context.cpp; 11s processwrapper-sandbox ... (8 actions, 7 running)
#11 896.7 INFO: From Compiling src/sat/sat_cutset.cpp:
#11 896.8 external/z3/src/sat/sat_cutset.cpp: In member function 'void sat::cut_set::push_back(sat::cut_set::on_update_t&, const sat::cut&)':
#11 896.8 external/z3/src/sat/sat_cutset.cpp:88:56: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'class sat::cut' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
#11 896.8 88 | memcpy(new_cuts, m_cuts, sizeof(cut)m_size);
#11 896.8 | ^
#11 896.8 In file included from external/z3/src/sat/sat_cutset.cpp:17:
#11 896.8 external/z3/src/sat/sat_cutset.h:34:11: note: 'class sat::cut' declared here
#11 896.8 34 | class cut {
#11 896.8 | ^~~
#11 896.8 At global scope:
#11 896.8 cc1plus: note: unrecognized command-line option '-Wno-string-conversion' may have been intended to silence earlier diagnostics
#11 955.1 [1,107 / 2,155] Compiling xls/ir/package.cc; 17s processwrapper-sandbox ... (8 actions, 7 running)
#11 1097.4 [1,220 / 2,155] Compiling src/tactic/sls/bvsls_opt_engine.cpp; 11s processwrapper-sandbox ... (8 actions, 7 running)
#11 1139.4 INFO: From Compiling src/util/fixed_bit_vector.cpp:
#11 1139.4 external/z3/src/util/fixed_bit_vector.cpp: In constructor 'fixed_bit_vector_manager::fixed_bit_vector_manager(unsigned int)':
#11 1139.4 external/z3/src/util/fixed_bit_vector.cpp:51:32: warning: 'void
memset(void*, int, size_t)' clearing an object of non-trivial type 'class fixed_bit_vector'; use assignment or value-initialization instead [-Wclass-memaccess]
#11 1139.4 51 | memset(&m_0, 0, sizeof(m_0));
#11 1139.4 | ^
#11 1139.4 In file included from external/z3/src/util/fixed_bit_vector.cpp:23:
#11 1139.4 external/z3/src/util/fixed_bit_vector.h:28:7: note: 'class fixed_bit_vector' declared here
#11 1139.4 28 | class fixed_bit_vector {
#11 1139.4 | ^~~~~~~~~~~~~~~~
#11 1139.4 At global scope:
#11 1139.4 cc1plus: note: unrecognized command-line option '-Wno-string-conversion' may have been intended to silence earlier diagnostics
#11 1249.0 INFO: From Compiling src/smt/smt_justification.cpp:
#11 1249.0 external/z3/src/smt/smt_justification.cpp: In constructor 'smt::ext_simple_justification::ext_simple_justification(region&, unsigned int, const smt::literal*, unsigned int, const enode_pair*)':
#11 1249.0 external/z3/src/smt/smt_justification.cpp:306:60: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'smt::enode_pair' {aka 'struct std::pair<smt::enode*, smt::enode*>'} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
#11 1249.0 306 | memcpy(m_eqs, eqs, sizeof(enode_pair) * num_eqs);
#11 1249.0 | ^
#11 1249.0 In file included from /usr/include/c++/10/bits/stl_algobase.h:64,
#11 1249.0 from /usr/include/c++/10/bits/char_traits.h:39,
#11 1249.0 from /usr/include/c++/10/ios:40,
#11 1249.0 from /usr/include/c++/10/ostream:38,
#11 1249.0 from /usr/include/c++/10/iostream:39,
#11 1249.0 from external/z3/src/util/warning.h:21,
#11 1249.0 from external/z3/src/util/debug.h:39,
#11 1249.0 from external/z3/src/util/vector.h:29,
#11 1249.0 from external/z3/src/ast/ast.h:23,
#11 1249.0 from external/z3/src/smt/smt_clause.h:22,
#11 1249.0 from external/z3/src/smt/smt_context.h:22,
#11 1249.0 from external/z3/src/smt/smt_justification.cpp:19:
#11 1249.0 /usr/include/c++/10/bits/stl_pair.h:211:12: note: 'smt::enode_pair' {aka 'struct std::pair<smt::enode*, smt::enode*>'} declared here
#11 1249.0 211 | struct pair
#11 1249.0 | ^~~~
#11 1249.0 At global scope:
#11 1249.0 cc1plus: note: unrecognized command-line option '-Wno-string-conversion' may have been intended to silence earlier diagnostics
#11 1267.3 [1,340 / 2,155] Compiling src/smt/theory_arith.cpp; 88s processwrapper-sandbox ... (8 actions, 7 running)
#11 1275.8 INFO: From Compiling xls/ir/node_util.cc:
#11 1275.8 In file included from external/com_google_absl/absl/container/inlined_vector.h:53,
#11 1275.8 from external/com_google_absl/absl/status/status.h:57,
#11 1275.8 from external/com_google_absl/absl/status/internal/statusor_internal.h:22,
#11 1275.8 from external/com_google_absl/absl/status/statusor.h:49,
#11 1275.8 from external/com_google_xls/xls/ir/node_util.h:21,
#11 1275.8 from external/com_google_xls/xls/ir/node_util.cc:15:
#11 1275.8 external/com_google_absl/absl/container/internal/inlined_vector.h: In function 'absl::lts_20220623::StatusOrxls::Node* xls::GatherBits(xls::Node*, absl::lts_20220623::Span)':
#11 1275.8 external/com_google_absl/absl/container/internal/inlined_vector.h:447:5: warning: '((void)+8).absl::lts_20220623::inlined_vector_internal::Storage<long unsigned int, 1, std::allocator >::data
' may be used uninitialized in this function [-Wmaybe-uninitialized]
#11 1275.8 447 | data
= other_storage.data
;
#11 1275.8 | ^~~~~
#11 1457.0 [1,626 / 2,155] Compiling src/math/polynomial/polynomial.cpp; 22s processwrapper-sandbox ... (8 actions, 7 running)
#11 1464.1 INFO: From Compiling src/math/polynomial/polynomial.cpp:
#11 1464.1 external/z3/src/math/polynomial/polynomial.cpp: In member function 'void polynomial::tmp_monomial::expand_capacity(unsigned int)':
#11 1464.1 external/z3/src/math/polynomial/polynomial.cpp:531:83: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'class polynomial::power' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
#11 1464.1 531 | memcpy(new_ptr->m_powers, m_ptr->m_powers, sizeof(power)m_ptr->m_size);
#11 1464.1 | ^
#11 1464.1 external/z3/src/math/polynomial/polynomial.cpp:91:11: note: 'class polynomial::power' declared here
#11 1464.1 91 | class power : public std::pair<var, unsigned> {
#11 1464.1 | ^~~~~
#11 1464.1 external/z3/src/math/polynomial/polynomial.cpp: In member function 'void polynomial::tmp_monomial::init(unsigned int, const polynomial::power
)':
#11 1464.1 external/z3/src/math/polynomial/polynomial.cpp:552:60: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'class polynomial::power' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
#11 1464.1 552 | memcpy(m_ptr->m_powers, pws, sizeof(power) * sz);
#11 1464.1 | ^
#11 1464.1 external/z3/src/math/polynomial/polynomial.cpp:91:11: note: 'class polynomial::power' declared here
#11 1464.1 91 | class power : public std::pair<var, unsigned> {
#11 1464.1 | ^~~~~
#11 1464.1 At global scope:
#11 1464.1 cc1plus: note: unrecognized command-line option '-Wno-string-conversion' may have been intended to silence earlier diagnostics
#11 1705.0 [1,782 / 2,155] Compiling xls/dslx/ir_converter.cc; 117s processwrapper-sandbox ... (8 actions running)
#11 1974.1 [1,782 / 2,155] Compiling xls/dslx/ir_converter.cc; 372s processwrapper-sandbox ... (8 actions running)
#11 2264.8 [1,782 / 2,155] Compiling xls/dslx/ir_converter.cc; 697s processwrapper-sandbox ... (8 actions running)
#11 2265.5 ERROR: /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/external/com_google_xls/xls/dslx/BUILD:1155:11: Compiling xls/dslx/ir_converter.cc failed: (Exit 1): gcc failed: error executing command /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections ... (remaining 59 arguments skipped)
#11 2265.5
#11 2265.5 Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
#11 2265.5 gcc: fatal error: Killed signal terminated program cc1plus
#11 2265.5 compilation terminated.
#11 2269.9 INFO: Elapsed time: 2267.768s, Critical Path: 745.90s
#11 2269.9 INFO: 1791 processes: 92 internal, 1699 processwrapper-sandbox.
#11 2269.9 FAILED: Build did NOT complete successfully
#11 2270.1 FAILED: Build did NOT complete successfully


executor failed running [/bin/sh -c bazel build ...]: exit code: 1

Failed build using supplied Docker

While using the supplied instructions to build the docker image, the process fails. There seems to be some checksum error with loading com_grail_bazel_toolchain

Error message log data is below:

[6/7] RUN bazel build @llvm_toolchain//:all:
3.270 2024/03/11 00:54:40 Downloading https://releases.bazel.build/5.4.1/release/bazel-5.4.1-linux-x86_64...
6.849 Extracting Bazel installation...
130.8 Starting local Bazel server and connecting to it...
134.2 Loading:
134.3 Loading: 0 packages loaded
135.3 Loading: 0 packages loaded"/bin/sh -c bazel build @llvm_toolchain//:all" did not complete successfully: exit code:136.3 Loading: 0 packages loaded
137.3 Loading: 0 packages loaded
137.4 INFO: Repository com_grail_bazel_toolchain instantiated at:-encryption-main>docker run --rm -i -t google-fhe-trans137.4 /usr/src/fhe/WORKSPACE:94:13: in
137.4 Repository rule http_archive defined at:test' locally
137.4 /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/external/bazel_tools/tools/build_defs/repo/http.bzl:355:31: in : requested access to the resource is denied.
137.5 WARNING: Download from https://github.com/grailbio/bazel-toolchain/archive/refs/tags/0.8.zip failed: class com.google.devtools.build.lib.bazel.repository.downloader.UnrecoverableHttpException Checksum was 2dc9de41b115b43feed18a585061522e2ab828eac5a55213f6cb394dbb7e58f8 but wanted 06e1421091f153029c070f1ae364f8cb5a61dab20ede97a844a0f7bfcec632a4:default
137.5 ERROR: An error occurred during the fetch of repository 'com_grail_bazel_toolchain': 0.8s
137.5 Traceback (most recent call last): 0.0s
137.5 ntFile "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/external/bazel_tools/tools/build_defs/repo/http.bzl", line 125, column 45, in _http_archive_implcker.io 0.0s
137.5 nternal] ldownload_info = ctx.download_and_extract( 0.8s
137.5 Error in download_and_extract: java.io.IOException: Error downloading [https://github.com/grailbio/bazel-toolchain/archive/refs/tags/0.8.zip] to /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/external/com_grail_bazel_toolchain/temp15147802889498845463/0.8.zip: Checksum was 2dc9de41b115b43feed18a585061522e2ab828eac5a55213f6cb394dbb7e58f8 but wanted 06e1421091f153029c070f1ae364f8cb5a61dab20ede97a844a0f7bfcec632a4 0.1s
137.5 ERROR: /usr/src/fhe/WORKSPACE:94:13: fetching http_archive rule //external:com_grail_bazel_toolchain: Traceback (most recent call last):get -O bazel "https://github.com/bazelbuild/bazelisk/releases/download/v1.12.0/bazelisk-lin 0.0s
137.5 CHFile "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/external/bazel_tools/tools/build_defs/repo/http.bzl", line 125, column 45, in _http_archive_impl 0.0s
137.5 /7] RUN badownload_info = ctx.download_and_extract( 116.7s
137.5 Error in download_and_extract: java.io.IOException: Error downloading [https://github.com/grailbio/bazel-toolchain/archive/refs/tags/0.8.zip] to /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/external/com_grail_bazel_toolchain/temp15147802889498845463/0.8.zip: Checksum was 2dc9de41b115b43feed18a585061522e2ab828eac5a55213f6cb394dbb7e58f8 but wanted 06e1421091f153029c070f1ae364f8cb5a61dab20ede97a844a0f7bfcec632a4
137.5 ERROR: no such package '@com_grail_bazel_toolchain//toolchain': java.io.IOException: Error downloading [https://github.com/grailbio/bazel-toolchain/archive/refs/tags/0.8.zip] to /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/external/com_grail_bazel_toolchain/temp15147802889498845463/0.8.zip: Checksum was 2dc9de41b115b43feed18a585061522e2ab828eac5a55213f6cb394dbb7e58f8 but wanted 06e1421091f153029c070f1ae364f8cb5a61dab20ede97a844a0f7bfcec632a4
137.6 INFO: Elapsed time: 130.645s
137.6 INFO: 0 processes.
137.6 FAILED: Build did NOT complete successfully (0 packages loaded)
137.6 FAILED: Build did NOT complete successfully (0 packages loaded)


debian-bullseye.Dockerfile:51

49 | # it's necessary for some reason, this will allow docker to cache the resulting
50 | # image and build failures unrelated to LLVM will not incur a rebuild of LLVM.
51 | >>> RUN bazel build @llvm_toolchain//:all
52 |
53 | # Build all targets.

ERROR: failed to solve: process "/bin/sh -c bazel build @llvm_toolchain//:all" did not complete successfully: exit code: 1

LLVM Release error with Docker

Hey guys, first thank you for the code and the libary.

I just tried the docker installation guide on my arch linux system. I got the error which you describe in the troubleshooting area, but I got it with the docker image.

Step 6/6 : RUN bazel build ...
 ---> Running in 5529e63f0ab1
Extracting Bazel installation...
Starting local Bazel server and connecting to it...
Loading: 
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
INFO: Repository llvm_toolchain instantiated at:
  /usr/src/fhe/WORKSPACE:59:15: in <toplevel>
Repository rule llvm_toolchain defined at:
  /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/external/com_grail_bazel_toolchain/toolchain/rules.bzl:24:33: in <toplevel>
ERROR: An error occurred during the fetch of repository 'llvm_toolchain':
   Traceback (most recent call last):
	File "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/external/com_grail_bazel_toolchain/toolchain/internal/configure.bzl", line 110, column 37, in llvm_toolchain_impl
		_download_llvm_preconfigured(rctx)
	File "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/external/com_grail_bazel_toolchain/toolchain/internal/llvm_distributions.bzl", line 177, column 13, in download_llvm_preconfigured
		fail("Unknown LLVM release: %s\nPlease ensure file name is correct." % basename)
Error in fail: Unknown LLVM release: clang+llvm-10.0.1-x86_64-linux-gnu-ubuntu-18.04.tar.xz
Please ensure file name is correct.
ERROR: Error fetching repository: Traceback (most recent call last):
	File "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/external/com_grail_bazel_toolchain/toolchain/internal/configure.bzl", line 110, column 37, in llvm_toolchain_impl
		_download_llvm_preconfigured(rctx)
	File "/root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/external/com_grail_bazel_toolchain/toolchain/internal/llvm_distributions.bzl", line 177, column 13, in download_llvm_preconfigured
		fail("Unknown LLVM release: %s\nPlease ensure file name is correct." % basename)
Error in fail: Unknown LLVM release: clang+llvm-10.0.1-x86_64-linux-gnu-ubuntu-18.04.tar.xz
Please ensure file name is correct.
ERROR: no such package '@llvm_toolchain//': Unknown LLVM release: clang+llvm-10.0.1-x86_64-linux-gnu-ubuntu-18.04.tar.xz
Please ensure file name is correct.
INFO: Elapsed time: 12.690s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded)
FAILED: Build did NOT complete successfully (0 packages loaded)
The command '/bin/sh -c bazel build ...' returned a non-zero code: 

Is there any way to fix this?

Best regards

Thomas

Expected Performance

I managed to build this project in docker on Linux, and run the example code. However, the computation takes a quite long to complete.

Specifically, I run

bazel run //transpiler/examples/calculator:calculator_tfhe_testbench

and the first computation (10 * 20) takes around 460 seconds with 100% CPU on single core to compute. My computer has a 4th gen i7 CPU.

I am quite new to homomorphic encryption. So I am not sure how long should it take. Is my result similar to the expected performance?

Docker Install Error on Mac

Using Mac catalina

`2021/06/22 07:39:43 Downloading https://releases.bazel.build/4.0.0/release/bazel-4.0.0-linux-x86_64...
Extracting Bazel installation...
Starting local Bazel server and connecting to it...
Loading:
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Analyzing: 362 targets (17 packages loaded, 0 targets configured)
Analyzing: 362 targets (64 packages loaded, 909 targets configured)
Analyzing: 362 targets (82 packages loaded, 9004 targets configured)
Analyzing: 362 targets (105 packages loaded, 11569 targets configured)
INFO: Analyzed 362 targets (110 packages loaded, 18310 targets configured).
INFO: Found 362 targets...
[0 / 64] [Prepa] Writing script external/tfhe/libtfhe_foreign_cc/build_script.sh
INFO: From Compiling clang/utils/TableGen/RISCVVEmitter.cpp [for host]:
external/llvm-project/clang/utils/TableGen/RISCVVEmitter.cpp: In member function 'void {anonymous}::RVVType::applyModifier(llvm::StringRef)':
external/llvm-project/clang/utils/TableGen/RISCVVEmitter.cpp:644:27: warning: 'Log2EEW' may be used uninitialized in this function [-Wmaybe-uninitialized]
644 | ElementBitwidth = 1 << Log2EEW;
| ~~^~~~~~~~~~
INFO: From Compiling clang/utils/TableGen/NeonEmitter.cpp [for host]:
external/llvm-project/clang/utils/TableGen/NeonEmitter.cpp: In static member function 'static {anonymous}::Type {anonymous}::Type::fromTypedefName(llvm::StringRef)':
external/llvm-project/clang/utils/TableGen/NeonEmitter.cpp:770:36: warning: 'NumLanes' may be used uninitialized in this function [-Wmaybe-uninitialized]
770 | T.Bitwidth = T.ElementBitwidth * NumLanes;
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~
[46 / 467] BootstrapGNUMake external/rules_foreign_cc/toolchains/make [for host]; 29s processwrapper-sandbox ... (4 actions, 3 running)
[90 / 467] CcCmakeMakeRule external/tfhe/libtfhe/include; 23s processwrapper-sandbox ... (4 actions, 3 running)
[146 / 467] Compiling llvm/lib/Support/Signals.cpp [for host]; 1s processwrapper-sandbox ... (4 actions, 3 running)
INFO: From Compiling llvm/lib/Support/YAMLParser.cpp [for host]:
external/llvm-project/llvm/lib/Support/YAMLParser.cpp: In member function 'bool llvm::yaml::Scanner::findBlockScalarIndent(unsigned int&, unsigned int, unsigned int&, bool&)':
external/llvm-project/llvm/lib/Support/YAMLParser.cpp:268:5: warning: 'LongestAllSpaceLine' may be used uninitialized in this function [-Wmaybe-uninitialized]
268 | if (Position >= End)
| ^~
external/llvm-project/llvm/lib/Support/YAMLParser.cpp:1584:23: note: 'LongestAllSpaceLine' was declared here
1584 | StringRef::iterator LongestAllSpaceLine;
| ^~~~~~~~~~~~~~~~~~~
INFO: From Compiling llvm/lib/Support/VirtualFileSystem.cpp [for host]:
external/llvm-project/llvm/lib/Support/VirtualFileSystem.cpp: In member function 'std::unique_ptrllvm::vfs::RedirectingFileSystem::Entry llvm::vfs::RedirectingFileSystemParser::parseEntry(llvm::yaml::Node*, llvm::vfs::RedirectingFileSystem*, bool)':
external/llvm-project/llvm/lib/Support/VirtualFileSystem.cpp:1616:5: warning: 'Kind' may be used uninitialized in this function [-Wmaybe-uninitialized]
1616 | switch (Kind) {
| ^~~~~~
INFO: From Compiling llvm/lib/Support/APFloat.cpp [for host]:
external/llvm-project/llvm/lib/Support/APFloat.cpp: In member function 'llvm::Expectedllvm::APFloatBase::opStatus llvm::detail::IEEEFloat::convertFromDecimalString(llvm::StringRef, llvm::APFloatBase::roundingMode)':
external/llvm-project/llvm/lib/Support/APFloat.cpp:2794:16: warning: 'D.llvm::decimalInfo::lastSigDigit' may be used uninitialized in this function [-Wmaybe-uninitialized]
2794 | } while (p <= D.lastSigDigit);
| ~~^~~~~~~~~~~~~~~~~
external/llvm-project/llvm/lib/Support/APFloat.cpp:2753:58: warning: 'D.llvm::decimalInfo::firstSigDigit' may be used uninitialized in this function [-Wmaybe-uninitialized]
2753 | partCount = static_cast(D.lastSigDigit - D.firstSigDigit) + 1;
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
[241 / 696] [Sched] Linking external/llvm-project/clang/clang-tblgen [for host] ... (4 actions, 2 running)
INFO: From Compiling llvm/lib/BinaryFormat/MsgPackDocument.cpp [for host]:
external/llvm-project/llvm/lib/BinaryFormat/MsgPackDocument.cpp: In member function 'bool llvm::msgpack::Document::readFromBlob(llvm::StringRef, bool, llvm::function_ref<int(llvm::msgpack::DocNode*, llvm::msgpack::DocNode, llvm::msgpack::DocNode)>)':
external/llvm-project/llvm/lib/BinaryFormat/MsgPackDocument.cpp:174:12: warning: 'N.llvm::msgpack::DocNode::.llvm::msgpack::DocNode::::Raw.llvm::StringRef::Length' may be used uninitialized in this function [-Wmaybe-uninitialized]
174 | Node = getArrayNode();
| ~~~~~^~~~~~~~~~~~~~~~
[308 / 706] [Sched] Linking external/llvm-project/clang/clang-tblgen [for host]; 55s ... (4 actions, 2 running)
INFO: From Compiling llvm/lib/MC/WasmObjectWriter.cpp [for host]:
external/llvm-project/llvm/lib/MC/WasmObjectWriter.cpp: In member function 'uint64_t {anonymous}::WasmObjectWriter::writeOneObject(llvm::MCAssembler&, const llvm::MCAsmLayout&, {anonymous}::WasmObjectWriter::DwoMode)':
external/llvm-project/llvm/lib/MC/WasmObjectWriter.cpp:1885:22: warning: 'DataSectionIndex' may be used uninitialized in this function [-Wmaybe-uninitialized]
1885 | writeRelocSection(DataSectionIndex, "DATA", DataRelocations);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
external/llvm-project/llvm/lib/MC/WasmObjectWriter.cpp:1884:22: warning: 'CodeSectionIndex' may be used uninitialized in this function [-Wmaybe-uninitialized]
1884 | writeRelocSection(CodeSectionIndex, "CODE", CodeRelocations);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[363 / 706] [Sched] Linking external/llvm-project/clang/clang-tblgen [for host]; 116s ... (4 actions, 2 running)
INFO: From Compiling llvm/lib/MC/MachObjectWriter.cpp [for host]:
external/llvm-project/llvm/lib/MC/MachObjectWriter.cpp: In member function 'void llvm::MachObjectWriter::writeNlist(llvm::MachObjectWriter::MachSymbolData&, const llvm::MCAsmLayout&)':
external/llvm-project/llvm/lib/MC/MachObjectWriter.cpp:381:13: warning: 'AliaseeInfo' may be used uninitialized in this function [-Wmaybe-uninitialized]
381 | Address = AliaseeInfo->StringIndex;
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
[419 / 706] [Sched] Linking external/llvm-project/clang/clang-tblgen [for host]; 186s ... (4 actions, 3 running)
ERROR: /root/.cache/bazel/_bazel_root/595596dc4dacd40e54f4e8ca596c8a84/external/llvm-project/llvm/BUILD:1689:12: Generating code from table: lib/Target/RISCV/RISCV.td @llvm-project//llvm:RISCVCommonTableGen__gen_instr_info_genrule failed: (Killed): bash failed: error executing command /bin/bash -c ... (remaining 1 argument(s) skipped)

Use --sandbox_debug to see verbose messages from the sandbox bash failed: error executing command /bin/bash -c ... (remaining 1 argument(s) skipped)

Use --sandbox_debug to see verbose messages from the sandbox
ERROR: /usr/src/fhe/transpiler/examples/calculator/BUILD:69:15 Action transpiler/examples/calculator/calculator_bool.bool.ir failed: (Killed): bash failed: error executing command /bin/bash -c ... (remaining 1 argument(s) skipped)

Use --sandbox_debug to see verbose messages from the sandbox bash failed: error executing command /bin/bash -c ... (remaining 1 argument(s) skipped)

Use --sandbox_debug to see verbose messages from the sandbox
INFO: Elapsed time: 599.389s, Critical Path: 210.46s
INFO: 1057 processes: 528 internal, 529 processwrapper-sandbox.
FAILED: Build did NOT complete successfully
FAILED: Build did NOT complete successfully`

Performance Lag while building the Canonical Examples on Ubuntu 20.0.0 LTS Locally

Hi,

I was trying to build out the Canonical Demos/Code Samples supplied with the Project but unfortunately from the past few days, everytime I am trying to compile, it takes me even more than 2 hours to load all the dependencies and additionally even the build process does not complete successfully. My Machine goes into a Lag State and all the process that took me around 2-2.5 hours to setup goes into Vain.

I am skeptical whether is this Common for Ubuntu Users or this is something specific that I am only Facing

Any Help will be appreciated on this Part

Docker with jazzy Ubuntu not compiling (FIX)

The Ubuntu Jazzy docker file fails to build. The reason why is that python2.x is not in the new versions of Ubuntu... only python3. This build requires python2 in addition to python3.

Here's a working fix for the docker file (TESTED):

after line 26 add:
python2 \

then add this line after the end of the apt-get command (add this before install deps required section):
RUN ln -s /usr/bin/python2 /usr/bin/python

no make?

I download this
but how creating a library and make a program?

any sugestion? debian on arm

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.