Jeremy Kun
Jeremy Kun
I think rapidjson is also a transitive dep of OpenFHE. Not at my computer but we should be able to run a bazel query to find out which.
I think this was the main reason I used rapidjson, we already had it. We can still switch off though for HEIR's direct use, if desired.
This is definitely on my immediate reading list.
Notes as I read: - They have a Python-embedded tensor-DSL as their frontend - They support Lattigo and CraterLake as backends - Their code does not appear to be open...
In sec 5.4 they describe their layout assignment pass. It does a forward dataflow analysis: 1. Set each input to row-major order 2. Propagate layouts forward (some ops have an...
In 6.2 they define a bootstrap-placement algorithm based on dynamic programming: partition the dataflow graph by multiplicative depth, and then insert bootstrap operations for _all_ nodes at a given level...
It's clear that there is a _lot_ of good stuff in this paper to implement. CC @lawrencekhlim who is thinking about Halevi-Shoup packing. It might be too much for the...
One thing we can also look into is having a sh_binary wrapper around heir-opt for the standalone case, so that it can set up all the paths correctly.
In the interest of pruning the PR page, I'm closing old PRs. Feel free to create a new PR if/when the code has been rebased and updated.
I see an `into_par_iter` here: https://github.com/google/heir/blob/114e8c3d564273d60e36d398f7a795eca60d4bcd/lib/Target/TfheRust/TfheRustTemplates.h#L52 Is this not being used? Edit: the heir-translate flag has a poorly-named option `use-levels` that should generate rayon-enabled code: https://github.com/google/heir/blob/114e8c3d564273d60e36d398f7a795eca60d4bcd/lib/Target/TfheRust/TfheRustEmitter.cpp#L131