Multinode computation.

This commit is contained in:
Marcel Keller
2023-12-14 12:00:24 +11:00
parent 1f8f784611
commit cf4426fdb3
130 changed files with 2505 additions and 799 deletions

View File

@@ -87,6 +87,7 @@ public:
void xorc(const ::BaseInstruction& instruction);
void nots(const ::BaseInstruction& instruction);
void notcb(const ::BaseInstruction& instruction);
void movsb(const ::BaseInstruction& instruction);
void andm(const ::BaseInstruction& instruction);
void and_(const vector<int>& args, bool repeat);
void andrs(const vector<int>& args) { and_(args, true); }

View File

@@ -283,6 +283,13 @@ void Processor<T>::notcb(const ::BaseInstruction& instruction)
}
}
template<class T>
void Processor<T>::movsb(const ::BaseInstruction& instruction)
{
for (int i = 0; i < DIV_CEIL(instruction.get_n(), T::default_length); i++)
S[instruction.get_r(0) + i] = S[instruction.get_r(1) + i];
}
template<class T>
void Processor<T>::andm(const ::BaseInstruction& instruction)
{

View File

@@ -32,7 +32,7 @@ void TinierSharePrep<T>::buffer_secret_triples()
assert(triple_generator != 0);
params.generateBits = false;
vector<array<T, 3>> triples;
TripleShuffleSacrifice<T> sacrifice;
TripleShuffleSacrifice<T> sacrifice(DATA_GF2);
size_t required;
required = sacrifice.minimum_n_inputs_with_combining(
BaseMachine::batch_size<T>(DATA_TRIPLE));

View File

@@ -65,7 +65,7 @@
X(STMSBI, PROC.mem_op(SIZE, MMS, PROC.S, Ci[REG1], R0)) \
X(LDMCBI, PROC.mem_op(SIZE, PROC.C, MMC, R0, Ci[REG1])) \
X(STMCBI, PROC.mem_op(SIZE, MMC, PROC.C, Ci[REG1], R0)) \
X(MOVSB, S0 = PS1) \
X(MOVSB, PROC.movsb(INST)) \
X(TRANS, T::trans(PROC, IMM, EXTRA)) \
X(BITB, PROC.random_bit(S0)) \
X(REVEAL, T::reveal_inst(PROC, EXTRA)) \
@@ -123,7 +123,7 @@
X(LDMINTI, I0 = MII) \
X(STMINTI, MII = I0) \
X(PUSHINT, PROC.pushi(I0.get())) \
X(POPINT, long x; PROC.popi(x); I0 = x) \
X(POPINT, PROC.popi(I0)) \
X(MOVINT, I0 = PI1) \
X(BITDECINT, PROC.bitdecint(EXTRA, I0)) \
X(LDARG, I0 = PROC.get_arg()) \