Skip to content

Conversation

arcturusannamalai
Copy link

@arcturusannamalai arcturusannamalai commented Apr 15, 2024

  • Introduce VectorLWECipherText with cached validation flag
    • this has potential to speedup the evaluation of binary operators etc.
  • early exit when possible

@arcturusannamalai arcturusannamalai changed the title (minor change) example code to early exit Introduce VectorLWECipherText with cached validation flag Apr 15, 2024
…ith known validation status.

- This can reduce time for running binary operations potentially
  speedup the computations
@yspolyakov
Copy link
Contributor

I suggest discussing this further. The idea of adding a vector of LWE ciphertexts is reasonable but it is worth discussing how to do it first.

@yspolyakov yspolyakov marked this pull request as draft April 19, 2024 18:39
@yspolyakov yspolyakov added this to the Release 1.2.0 milestone Apr 19, 2024
@arcturusannamalai
Copy link
Author

@yspolyakov - thank you for the note; there are few use cases:

  • the same argument sets are used to compute functions f and g and this type of caching can help
  • lowering primitives from various transpilers maybe ensuring uniqueness of the cipher-text arguments to the OPenFHE primitives we can indicate uniqueness already

As for the implementation I can think of two strategies,

  • Global register of vectors which are unique or not and update it (not my choice of implementation since its hard to do it threadsafe)
  • Current implementation (need polish perhaps to propagate the solution through the OPenFHE API instead of wrap the arguments locally like I have done) where each vector stores its validation flag within it; perhaps the validate() method could be private and set only at c-tor time or by invoking at the time of OPenFHE binary operator etc.

Let me know what are your thoughts

@yspolyakov yspolyakov removed this from the Release 1.4.0 milestone Nov 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants