aboutsummaryrefslogtreecommitdiff
path: root/verif/frameworks/tosa_verif_framework_compiler_runner.py
diff options
context:
space:
mode:
Diffstat (limited to 'verif/frameworks/tosa_verif_framework_compiler_runner.py')
-rwxr-xr-xverif/frameworks/tosa_verif_framework_compiler_runner.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/verif/frameworks/tosa_verif_framework_compiler_runner.py b/verif/frameworks/tosa_verif_framework_compiler_runner.py
index 0d98c17..28e4369 100755
--- a/verif/frameworks/tosa_verif_framework_compiler_runner.py
+++ b/verif/frameworks/tosa_verif_framework_compiler_runner.py
@@ -57,6 +57,13 @@ def parse_args():
help="Reference model base directory",
)
parser.add_argument(
+ "-p",
+ "--precise-mode",
+ dest="precise_mode",
+ action="store_true",
+ help="run in precise mode (FP64)",
+ )
+ parser.add_argument(
"-v", "--verbose", dest="verbose", action="count", help="Verbose run"
)
parser.add_argument(
@@ -552,6 +559,9 @@ def run_test(args, test, framework):
if args.debug_ref_model:
ref_model_cmd.extend(["-D ALL", "-l high"])
+ if args.precise_mode:
+ ref_model_cmd.extend(["--precise_mode=1"])
+
if args.valgrind:
ref_model_cmd = [
"valgrind",
@@ -594,7 +604,11 @@ def run_test(args, test, framework):
)
return (TestResult.REF_MODEL_RUNTIME_ERROR, 0.0, e)
- if tf_result.dtype == np.float16:
+ if args.precise_mode == 1 and (
+ tf_result.dtype == np.float16 or tf_result.dtype == np.float32
+ ):
+ tf_result = tf_result.astype(np.float64)
+ elif tf_result.dtype == np.float16:
tf_result = tf_result.astype(np.float32)
elif (
tf_result.dtype == np.uint8