tests: add option to minimize tests

also removes 80 bits of security tests
This commit is contained in:
youben11
2023-03-14 09:26:49 +01:00
committed by Quentin Bourgerie
parent a2b260dcd1
commit 23bfb7f00a
6 changed files with 389 additions and 340 deletions

View File

@@ -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 \

View File

@@ -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())

View File

@@ -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())

View File

@@ -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())

View File

@@ -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()

View File

@@ -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())