mirror of
https://github.com/zama-ai/concrete.git
synced 2026-04-17 03:00:54 -04:00
tests: add option to minimize tests
also removes 80 bits of security tests
This commit is contained in:
committed by
Quentin Bourgerie
parent
a2b260dcd1
commit
23bfb7f00a
@@ -12,6 +12,7 @@ CUDA_SUPPORT?=OFF
|
||||
INSTALL_PREFIX?=$(abspath $(BUILD_DIR))/install
|
||||
INSTALL_PATH=$(abspath $(INSTALL_PREFIX))/concretecompiler/
|
||||
MAKEFILE_ROOT_DIR=$(shell pwd)
|
||||
MINIMAL_TESTS?=OFF
|
||||
|
||||
KEYSETCACHEDEV=/tmp/KeySetCache
|
||||
KEYSETCACHECI ?= ../KeySetCache
|
||||
@@ -231,16 +232,21 @@ build-end-to-end-tests: build-end-to-end-jit-chunked-int build-end-to-end-jit-te
|
||||
|
||||
FIXTURE_CPU_DIR=tests/end_to_end_fixture/tests_cpu
|
||||
|
||||
$(FIXTURE_CPU_DIR)/%.yaml: tests/end_to_end_fixture/%_gen.py
|
||||
ifeq ($(MINIMAL_TESTS),ON)
|
||||
MINIMAL_TESTS_BOOL=true
|
||||
else
|
||||
MINIMAL_TESTS_BOOL=false
|
||||
endif
|
||||
$(FIXTURE_CPU_DIR)/%.yaml: tests/end_to_end_fixture/%_gen.py FORCE
|
||||
mkdir -p $(FIXTURE_CPU_DIR)
|
||||
$(Python3_EXECUTABLE) $< > $@
|
||||
$(Python3_EXECUTABLE) $< --minimal=$(MINIMAL_TESTS_BOOL) > $@
|
||||
|
||||
$(FIXTURE_CPU_DIR)/bug_report.yaml:
|
||||
unzip -o $(FIXTURE_CPU_DIR)/bug_report.zip -d $(FIXTURE_CPU_DIR)
|
||||
|
||||
generate-cpu-tests: $(FIXTURE_CPU_DIR)/end_to_end_leveled.yaml $(FIXTURE_CPU_DIR)/end_to_end_apply_lookup_table.yaml $(FIXTURE_CPU_DIR)/end_to_end_linalg_apply_lookup_table.yaml $(FIXTURE_CPU_DIR)/bug_report.yaml $(FIXTURE_CPU_DIR)/end_to_end_round.yaml
|
||||
|
||||
SECURITY_TO_TEST=80 128
|
||||
SECURITY_TO_TEST=128
|
||||
run-end-to-end-tests: build-end-to-end-tests generate-cpu-tests
|
||||
$(BUILD_DIR)/tools/concretelang/tests/end_to_end_tests/end_to_end_jit_test
|
||||
$(BUILD_DIR)/tools/concretelang/tests/end_to_end_tests/end_to_end_jit_encrypted_tensor
|
||||
@@ -485,6 +491,8 @@ install: concretecompiler CAPI install-deps
|
||||
cd $(abspath $(BUILD_DIR))/tools/concretelang/include && find . -iname '*.inc' -exec $(HIERARCHY_PRESERVING_COPY) {} $(INSTALL_PATH)/include \;
|
||||
cd $(abspath $(BUILD_DIR))/tools/mlir/include && find . -iname '*.inc' -exec $(HIERARCHY_PRESERVING_COPY) {} $(INSTALL_PATH)/include \;
|
||||
|
||||
FORCE:
|
||||
|
||||
.PHONY: build-initialized \
|
||||
build-end-to-end-jit \
|
||||
concretecompiler \
|
||||
|
||||
@@ -29,18 +29,19 @@ def generate(args):
|
||||
print(f"p-error: {P_ERROR}")
|
||||
print("tests:")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[0]}")
|
||||
print(" - inputs:")
|
||||
random_i = np.random.randint(max_value)
|
||||
print(f" - scalar: {random_i}")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[random_i]}")
|
||||
print(" - inputs:")
|
||||
print(f" - scalar: {max_value}")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[max_value]}")
|
||||
if not args.minimal:
|
||||
print(" - inputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[0]}")
|
||||
print(" - inputs:")
|
||||
print(f" - scalar: {max_value}")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[max_value]}")
|
||||
print("---")
|
||||
# unsigned_signed
|
||||
for p in args.bitwidth:
|
||||
@@ -62,21 +63,22 @@ def generate(args):
|
||||
print(f"p-error: {P_ERROR}")
|
||||
print("tests:")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[0]}")
|
||||
print(f" signed: true")
|
||||
print(" - inputs:")
|
||||
random_i = np.random.randint(max_value)
|
||||
print(f" - scalar: {random_i}")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[random_i]}")
|
||||
print(f" signed: true")
|
||||
print(" - inputs:")
|
||||
print(f" - scalar: {max_value}")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[max_value]}")
|
||||
print(f" signed: true")
|
||||
if not args.minimal:
|
||||
print(" - inputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[0]}")
|
||||
print(f" signed: true")
|
||||
print(" - inputs:")
|
||||
print(f" - scalar: {max_value}")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[max_value]}")
|
||||
print(f" signed: true")
|
||||
print("---")
|
||||
# signed_signed
|
||||
for p in args.bitwidth:
|
||||
@@ -97,36 +99,37 @@ def generate(args):
|
||||
print(f"p-error: {P_ERROR}")
|
||||
print("tests:")
|
||||
print(" - inputs:")
|
||||
print(f" - scalar: 0")
|
||||
print(f" signed: true")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[0]}")
|
||||
print(f" signed: true")
|
||||
print(" - inputs:")
|
||||
print(f" - scalar: {upper_bound}")
|
||||
print(f" signed: true")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[upper_bound]}")
|
||||
print(f" signed: true")
|
||||
print(" - inputs:")
|
||||
print(f" - scalar: {lower_bound}")
|
||||
print(f" signed: true")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[lower_bound]}")
|
||||
print(f" signed: true")
|
||||
print(" - inputs:")
|
||||
print(f" - scalar: -1")
|
||||
print(f" signed: true")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[-1]}")
|
||||
print(f" signed: true")
|
||||
print(" - inputs:")
|
||||
random_i = np.random.randint(lower_bound, upper_bound)
|
||||
print(f" - scalar: {random_i}")
|
||||
print(f" signed: true")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[random_i]}")
|
||||
print(f" signed: true")
|
||||
if not args.minimal:
|
||||
print(" - inputs:")
|
||||
print(f" - scalar: 0")
|
||||
print(f" signed: true")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[0]}")
|
||||
print(f" signed: true")
|
||||
print(" - inputs:")
|
||||
print(f" - scalar: {upper_bound}")
|
||||
print(f" signed: true")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[upper_bound]}")
|
||||
print(f" signed: true")
|
||||
print(" - inputs:")
|
||||
print(f" - scalar: {lower_bound}")
|
||||
print(f" signed: true")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[lower_bound]}")
|
||||
print(f" signed: true")
|
||||
print(" - inputs:")
|
||||
print(f" - scalar: -1")
|
||||
print(f" signed: true")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[-1]}")
|
||||
print(f" signed: true")
|
||||
print("---")
|
||||
|
||||
# signed_unsigned
|
||||
@@ -149,31 +152,32 @@ def generate(args):
|
||||
print(f"p-error: {P_ERROR}")
|
||||
print("tests:")
|
||||
print(" - inputs:")
|
||||
print(f" - scalar: 0")
|
||||
print(f" signed: true")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[0]}")
|
||||
print(" - inputs:")
|
||||
print(f" - scalar: {upper_bound}")
|
||||
print(f" signed: true")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[upper_bound]}")
|
||||
print(" - inputs:")
|
||||
print(f" - scalar: {lower_bound}")
|
||||
print(f" signed: true")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[lower_bound]}")
|
||||
print(" - inputs:")
|
||||
print(f" - scalar: -1")
|
||||
print(f" signed: true")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[-1]}")
|
||||
print(" - inputs:")
|
||||
random_i = np.random.randint(lower_bound, upper_bound)
|
||||
print(f" - scalar: {random_i}")
|
||||
print(f" signed: true")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[random_i]}")
|
||||
if not args.minimal:
|
||||
print(" - inputs:")
|
||||
print(f" - scalar: 0")
|
||||
print(f" signed: true")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[0]}")
|
||||
print(" - inputs:")
|
||||
print(f" - scalar: {upper_bound}")
|
||||
print(f" signed: true")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[upper_bound]}")
|
||||
print(" - inputs:")
|
||||
print(f" - scalar: {lower_bound}")
|
||||
print(f" signed: true")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[lower_bound]}")
|
||||
print(" - inputs:")
|
||||
print(f" - scalar: -1")
|
||||
print(f" signed: true")
|
||||
print(" outputs:")
|
||||
print(f" - scalar: {random_lut[-1]}")
|
||||
print("---")
|
||||
|
||||
if __name__ == "__main__":
|
||||
@@ -185,4 +189,10 @@ if __name__ == "__main__":
|
||||
type=int,
|
||||
default=list(range(1,17)),
|
||||
)
|
||||
CLI.add_argument(
|
||||
"--minimal",
|
||||
help="Specify whether to generate minimal tests only",
|
||||
type=bool,
|
||||
default=False,
|
||||
)
|
||||
generate(CLI.parse_args())
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import argparse
|
||||
import random
|
||||
|
||||
MIN_PRECISON = 1
|
||||
@@ -15,7 +16,7 @@ PRECISIONS_WITH_ERROR_RATES = {
|
||||
}
|
||||
|
||||
|
||||
def main():
|
||||
def main(args):
|
||||
print("# /!\ DO NOT EDIT MANUALLY THIS FILE MANUALLY")
|
||||
print("# /!\ THIS FILE HAS BEEN GENERATED THANKS THE end_to_end_levelled_gen.py scripts")
|
||||
print("# This reference file aims to test all levelled ops with all bitwidth than we known that the compiler/optimizer support.\n\n")
|
||||
@@ -283,25 +284,26 @@ def main():
|
||||
print(" }")
|
||||
print("tests:")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" outputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" - scalar: 0")
|
||||
print(" outputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: 1")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" - scalar: 1")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
if not args.minimal:
|
||||
print(" - inputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" outputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" - scalar: 0")
|
||||
print(" outputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: 1")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
may_check_error_rate()
|
||||
print("---")
|
||||
# mul_eint
|
||||
@@ -322,37 +324,38 @@ def main():
|
||||
print(" return %1: !FHE.eint<{0}>".format(p+1))
|
||||
print(" }")
|
||||
print("tests:")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" - scalar: 0")
|
||||
print(" outputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" - scalar: 0")
|
||||
print(" outputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" outputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: 1")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" - scalar: 1")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
inp = gen_random_encodable()
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(inp[0]))
|
||||
print(" - scalar: {0}".format(inp[1]))
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(inp[0]*inp[1]))
|
||||
if not args.minimal:
|
||||
print(" - inputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" - scalar: 0")
|
||||
print(" outputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" - scalar: 0")
|
||||
print(" outputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" outputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: 1")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" - scalar: 1")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print("---")
|
||||
# signed
|
||||
for p in range(MIN_PRECISON, MAX_PRECISION+1):
|
||||
@@ -790,62 +793,6 @@ def main():
|
||||
print(" }")
|
||||
print("tests:")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(0))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(0))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(0))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(min_value))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(0))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(0))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(0))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(min_value))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(0))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(0))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(0))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(0))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(0))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(min_value))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(1))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(min_value))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(1))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(min_value))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(min_value))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(1))
|
||||
@@ -856,76 +803,133 @@ def main():
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(1))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" - scalar: {0}".format(min_value))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" - scalar: {0}".format(min_value))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(-1))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(min_value + 1))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(-1))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(min_value + 1))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(min_value + 1))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(-1))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(-1))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(min_value + 1))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
if p > 2:
|
||||
if not args.minimal:
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(3))
|
||||
print(" - scalar: {0}".format(0))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(0))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(0))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(min_value))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(0))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(0))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(0))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(min_value))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(0))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(0))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(0))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(0))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(0))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(min_value))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(1))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(3))
|
||||
print(" - scalar: {0}".format(min_value))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(3))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(-1))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(-3))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(-3))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(1))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(-3))
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(-3))
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(-1))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(3))
|
||||
print(" - scalar: {0}".format(min_value + 1))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(-1))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(min_value + 1))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(min_value + 1))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(-1))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(-1))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(min_value + 1))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
if p > 2:
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(3))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(1))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(3))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(3))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(-1))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(-3))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(-3))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(1))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(-3))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(-3))
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(-1))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(3))
|
||||
print(" signed: true")
|
||||
may_check_error_rate()
|
||||
|
||||
print("---")
|
||||
@@ -950,110 +954,6 @@ def main():
|
||||
print(" return %1: !FHE.esint<{0}>".format(p+1))
|
||||
print(" }")
|
||||
print("tests:")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" signed: true")
|
||||
print(" - scalar: 0")
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" - scalar: 0")
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(min_value))
|
||||
print(" signed: true")
|
||||
print(" - scalar: 0")
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(min_value))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: 1")
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: 1")
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(min_value))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(min_value))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" - scalar: 1")
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(min_value))
|
||||
print(" signed: true")
|
||||
print(" - scalar: 1")
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(min_value))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: -1")
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(-max_value))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: -1")
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(min_value+1))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(-(min_value+1)))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" - scalar: -1")
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(-max_value))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(min_value+1))
|
||||
print(" signed: true")
|
||||
print(" - scalar: -1")
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(-(min_value+1)))
|
||||
print(" signed: true")
|
||||
inp = gen_random_encodable(p+1)
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(inp[0]))
|
||||
@@ -1063,7 +963,119 @@ def main():
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(inp[0]*inp[1]))
|
||||
print(" signed: true")
|
||||
if not args.minimal:
|
||||
print(" - inputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" signed: true")
|
||||
print(" - scalar: 0")
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" - scalar: 0")
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(min_value))
|
||||
print(" signed: true")
|
||||
print(" - scalar: 0")
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(min_value))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: 0")
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: 1")
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: 1")
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(min_value))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(min_value))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" - scalar: 1")
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(min_value))
|
||||
print(" signed: true")
|
||||
print(" - scalar: 1")
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(min_value))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: -1")
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(-max_value))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: -1")
|
||||
print(" signed: true")
|
||||
print(" - scalar: {0}".format(min_value+1))
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(-(min_value+1)))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(max_value))
|
||||
print(" signed: true")
|
||||
print(" - scalar: -1")
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(-max_value))
|
||||
print(" signed: true")
|
||||
print(" - inputs:")
|
||||
print(" - scalar: {0}".format(min_value+1))
|
||||
print(" signed: true")
|
||||
print(" - scalar: -1")
|
||||
print(" signed: true")
|
||||
print(" outputs:")
|
||||
print(" - scalar: {0}".format(-(min_value+1)))
|
||||
print(" signed: true")
|
||||
print("---")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
CLI = argparse.ArgumentParser()
|
||||
CLI.add_argument(
|
||||
"--minimal",
|
||||
help="Specify whether to generate minimal tests only",
|
||||
type=bool,
|
||||
default=False,
|
||||
)
|
||||
main(CLI.parse_args())
|
||||
|
||||
@@ -44,28 +44,33 @@ def generate(args):
|
||||
print("---")
|
||||
|
||||
|
||||
CLI = argparse.ArgumentParser()
|
||||
CLI.add_argument(
|
||||
"--bitwidth",
|
||||
help="Specify the list of bitwidth to generate",
|
||||
nargs="+",
|
||||
type=int,
|
||||
default=list(range(1,17)),
|
||||
)
|
||||
CLI.add_argument(
|
||||
"--n-ct",
|
||||
help="Specify the tensor sizes to generate",
|
||||
nargs="+",
|
||||
type=int,
|
||||
default=[4],
|
||||
)
|
||||
CLI.add_argument(
|
||||
"--n-lut",
|
||||
help="Specify the number of FHELinalg.apply_lookup_table layers to generate",
|
||||
nargs="+",
|
||||
type=int,
|
||||
default=[1,2],
|
||||
)
|
||||
|
||||
if __name__ == "__main__":
|
||||
CLI = argparse.ArgumentParser()
|
||||
CLI.add_argument(
|
||||
"--bitwidth",
|
||||
help="Specify the list of bitwidth to generate",
|
||||
nargs="+",
|
||||
type=int,
|
||||
default=list(range(1,17)),
|
||||
)
|
||||
CLI.add_argument(
|
||||
"--n-ct",
|
||||
help="Specify the tensor sizes to generate",
|
||||
nargs="+",
|
||||
type=int,
|
||||
default=[4],
|
||||
)
|
||||
CLI.add_argument(
|
||||
"--n-lut",
|
||||
help="Specify the number of FHELinalg.apply_lookup_table layers to generate",
|
||||
nargs="+",
|
||||
type=int,
|
||||
default=[1,2],
|
||||
)
|
||||
CLI.add_argument(
|
||||
"--minimal",
|
||||
help="Specify whether to generate minimal tests only",
|
||||
type=bool,
|
||||
default=False,
|
||||
)
|
||||
generate(CLI.parse_args())
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import argparse
|
||||
import numpy as np
|
||||
|
||||
PRECISIONS_TO_BENCH = [1, 2, 5, 8, 9, 12, 16, 24, 32, 40, 48, 56]
|
||||
@@ -75,4 +76,11 @@ def main():
|
||||
print("---")
|
||||
|
||||
if __name__ == "__main__":
|
||||
CLI = argparse.ArgumentParser()
|
||||
CLI.add_argument(
|
||||
"--minimal",
|
||||
help="Specify whether to generate minimal tests only",
|
||||
type=bool,
|
||||
default=False,
|
||||
)
|
||||
main()
|
||||
|
||||
@@ -73,4 +73,10 @@ if __name__ == "__main__":
|
||||
type=int,
|
||||
default=list(range(3,9)),
|
||||
)
|
||||
CLI.add_argument(
|
||||
"--minimal",
|
||||
help="Specify whether to generate minimal tests only",
|
||||
type=bool,
|
||||
default=False,
|
||||
)
|
||||
generate(CLI.parse_args())
|
||||
|
||||
Reference in New Issue
Block a user