mirror of
https://github.com/data61/MP-SPDZ.git
synced 2026-01-10 05:57:57 -05:00
Expected communication cost in compiler.
This commit is contained in:
5
Programs/Source/and-bench.py
Normal file
5
Programs/Source/and-bench.py
Normal file
@@ -0,0 +1,5 @@
|
||||
a = sbits.get_type(int(program.args[1]))(0)
|
||||
|
||||
@for_range(int(program.args[2]))
|
||||
def _(i):
|
||||
a & a
|
||||
11
Programs/Source/combo-bench.py
Normal file
11
Programs/Source/combo-bench.py
Normal file
@@ -0,0 +1,11 @@
|
||||
import math
|
||||
|
||||
n = int(program.args[1])
|
||||
n_sqrt = int(math.sqrt(n))
|
||||
|
||||
sfix.Matrix(n_sqrt, 10) * sfix.Matrix(10, n_sqrt)
|
||||
(sfix(0, size=n) < 0).store_in_mem(0)
|
||||
|
||||
sint.Array(n).secure_shuffle()
|
||||
|
||||
sint(personal(0, cint(0, size=n)))
|
||||
15
Programs/Source/comp-bench.py
Normal file
15
Programs/Source/comp-bench.py
Normal file
@@ -0,0 +1,15 @@
|
||||
#sfix.set_precision(32, 63)
|
||||
#program.use_trunc_pr = True
|
||||
#program.use_split(3)
|
||||
program.options_from_args()
|
||||
sfix.set_precision_from_args(program)
|
||||
try:
|
||||
n_loops = int(program.args[2])
|
||||
except:
|
||||
n_loops = 1
|
||||
|
||||
a = sfix(cint(0, size=int(program.args[1])))
|
||||
|
||||
@for_range(n_loops)
|
||||
def _(i):
|
||||
(a < a)#.store_in_mem(0)
|
||||
10
Programs/Source/fdiv-bench.py
Normal file
10
Programs/Source/fdiv-bench.py
Normal file
@@ -0,0 +1,10 @@
|
||||
program.options_from_args()
|
||||
sfix.set_precision_from_args(program)
|
||||
|
||||
n = int(program.args[1])
|
||||
m = int(program.args[2])
|
||||
a = sfix(0, size=n)
|
||||
|
||||
@for_range(m)
|
||||
def _(i):
|
||||
(a / a).store_in_mem(0)
|
||||
14
Programs/Source/fmul-bench.py
Normal file
14
Programs/Source/fmul-bench.py
Normal file
@@ -0,0 +1,14 @@
|
||||
program.options_from_args()
|
||||
sfix.set_precision_from_args(program)
|
||||
|
||||
try:
|
||||
n = int(program.args[1])
|
||||
except:
|
||||
n = 10 ** 6
|
||||
|
||||
m = int(program.args[2])
|
||||
a = sfix(0, size=n)
|
||||
|
||||
@for_range(m)
|
||||
def _(i):
|
||||
(a * a).store_in_mem(0)
|
||||
5
Programs/Source/input-bench.py
Normal file
5
Programs/Source/input-bench.py
Normal file
@@ -0,0 +1,5 @@
|
||||
x = personal(0, cint(0, size=int(program.args[1])))
|
||||
|
||||
@for_range(int(program.args[2]))
|
||||
def _(i):
|
||||
sint(x).store_in_mem(0)
|
||||
15
Programs/Source/matmul-bench.py
Normal file
15
Programs/Source/matmul-bench.py
Normal file
@@ -0,0 +1,15 @@
|
||||
n = int(program.args[1])
|
||||
try:
|
||||
m = int(program.args[3])
|
||||
except:
|
||||
m = n
|
||||
try:
|
||||
k = int(program.args[4])
|
||||
except:
|
||||
k = n
|
||||
A = sint.Matrix(n, m)
|
||||
B = sint.Matrix(m, k)
|
||||
|
||||
@for_range(int(program.args[2]))
|
||||
def _(i):
|
||||
A * B
|
||||
6
Programs/Source/mul-bench.py
Normal file
6
Programs/Source/mul-bench.py
Normal file
@@ -0,0 +1,6 @@
|
||||
x = sint(0, size=int(program.args[1]))
|
||||
|
||||
m = int(program.args[2])
|
||||
@for_range(m)
|
||||
def _(i):
|
||||
(x * x)#.store_in_mem(0)
|
||||
5
Programs/Source/open-bench.py
Normal file
5
Programs/Source/open-bench.py
Normal file
@@ -0,0 +1,5 @@
|
||||
x = sint(0, size=int(program.args[1]))
|
||||
|
||||
@for_range(int(program.args[2]))
|
||||
def _(i):
|
||||
x.reveal().store_in_mem(0)
|
||||
3
Programs/Source/random-bench.py
Normal file
3
Programs/Source/random-bench.py
Normal file
@@ -0,0 +1,3 @@
|
||||
@for_range(int(program.args[1]))
|
||||
def _(i):
|
||||
sint.get_random().store_in_mem(0)
|
||||
14
Programs/Source/shuffle-bench.py
Normal file
14
Programs/Source/shuffle-bench.py
Normal file
@@ -0,0 +1,14 @@
|
||||
n_apply = 1
|
||||
if len(program.args) > 3:
|
||||
n_apply = int(program.args[3])
|
||||
|
||||
@for_range(int(program.args[2]))
|
||||
def _(i):
|
||||
print_ln('%s', i)
|
||||
handle = sint.get_secure_shuffle(int(program.args[1]))
|
||||
|
||||
@for_range(n_apply)
|
||||
def _(i):
|
||||
sint.Array(int(program.args[1])).secure_permute(handle)
|
||||
|
||||
print_ln('bye')
|
||||
@@ -21,9 +21,14 @@ test(sbit(1) * sbits(3), 3)
|
||||
test(sbit(1) * 3, 3)
|
||||
test(~sbits.new(1, n=64), 2**64 - 2)
|
||||
test(sbits(5) & sbits(3), 5 & 3)
|
||||
test(sbits(5) | sbits(3), 5 | 3)
|
||||
|
||||
test(sbits(3).equal(sbits(3)), 1)
|
||||
test(sbits(3).equal(sbits(2)), 0)
|
||||
test(sbits(3) == sbits(3), 1)
|
||||
test(sbits(3) == sbits(2), 0)
|
||||
test(sbits(3) != sbits(3), 0)
|
||||
test(sbits(3) != sbits(2), 1)
|
||||
test(sbit(1).if_else(sbits(3), sbits(5)), 3)
|
||||
test(sbits(7) << 1, 14)
|
||||
test(cbits(5) >> 1, 2)
|
||||
|
||||
16
Programs/Source/trunc-bench.py
Normal file
16
Programs/Source/trunc-bench.py
Normal file
@@ -0,0 +1,16 @@
|
||||
program.options_from_args()
|
||||
sfix.set_precision_from_args(program)
|
||||
|
||||
try:
|
||||
n = int(program.args[1])
|
||||
except:
|
||||
n = 10 ** 6
|
||||
|
||||
m = int(program.args[2])
|
||||
|
||||
x = sint(0, size=n)
|
||||
|
||||
@for_range(m)
|
||||
def _(i):
|
||||
x.round(sfix.k + sfix.f, sfix.f, nearest=sfix.round_nearest,
|
||||
signed=True)
|
||||
Reference in New Issue
Block a user