Skip to content

Parallelization of FHE operations in both FheBool and FheUint8 #38

Description

@lovely-necromancer

Hey,
Thanks for the awesome project.
I've been playing with it lately and did some little implementations using the examples provided.

So, I have a line that looks like this using FheBool:

// Perform XOR operation on encrypted values
let enc_out: Vec<_> = enc_m0.iter().zip(enc_m1.iter()).map(|(a, b)| a ^ b).collect();

I want to make it parallel:

use rayon::prelude::*;

let enc_out: Vec<_> = enc_m0.par_iter().zip(enc_m1.par_iter()).map(|(a, b)| a ^ b).collect();

But I get errors like this:

thread '<unnamed>' panicked at src/bool/ni_mp_api.rs:169:60:
Parameters not set
thread '<unnamed>' panicked at src/bool/ni_mp_api.rs:169:60:
Parameters not set
thread '<unnamed>' panicked at src/bool/ni_mp_api.rs:169:60:
Parameters not set

can you help me what should I set? I've seen from your commits that did paralelization for key-aggregation that you set some stuff. but I didn't understand well.

Any help is appreciated 😃

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions