aboutsummaryrefslogtreecommitdiff
path: root/verif
diff options
context:
space:
mode:
Diffstat (limited to 'verif')
-rw-r--r--verif/conformance/tosa_ext_profile_ops_info.json420
-rwxr-xr-xverif/frameworks/tosa_verif_framework_compiler_runner.py9
-rw-r--r--verif/generator/tosa_test_gen.py6
3 files changed, 354 insertions, 81 deletions
diff --git a/verif/conformance/tosa_ext_profile_ops_info.json b/verif/conformance/tosa_ext_profile_ops_info.json
index 2cb7be2..f5329b8 100644
--- a/verif/conformance/tosa_ext_profile_ops_info.json
+++ b/verif/conformance/tosa_ext_profile_ops_info.json
@@ -2252,7 +2252,8 @@
"const": {
"group": "data_nodes",
"support_for": [
- "lazy_data_gen"
+ "lazy_data_gen",
+ "stable_random_gen"
],
"generation": {
"tosa-bi": {
@@ -2297,6 +2298,7 @@
"supports_all": [
"tosa-mi"
],
+ "selector": "tosa-mi",
"no_negative_tests": "true",
"generator_args": [
[
@@ -2307,6 +2309,8 @@
"--fp-values-range",
"-max,max",
"--target-rank",
+ "0",
+ "--target-rank",
"1",
"2",
"3"
@@ -2322,7 +2326,10 @@
"1,16",
"--target-rank",
"4",
- "5"
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6"
],
[
"--target-dtype",
@@ -2339,6 +2346,7 @@
"supports_all": [
"tosa-ext-bf16"
],
+ "selector": "tosa-mi",
"no_negative_tests": "true",
"generator_args": [
[
@@ -2347,6 +2355,8 @@
"--fp-values-range",
"-max,max",
"--target-rank",
+ "0",
+ "--target-rank",
"1",
"2",
"3"
@@ -2360,7 +2370,10 @@
"1,16",
"--target-rank",
"4",
- "5"
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6"
]
]
},
@@ -2368,6 +2381,7 @@
"supports_all": [
"tosa-ext-fp8e4m3"
],
+ "selector": "tosa-mi",
"no_negative_tests": "true",
"from_version": "v0.100.0",
"generator_args": [
@@ -2391,6 +2405,7 @@
"supports_all": [
"tosa-ext-fp8e5m2"
],
+ "selector": "tosa-mi",
"no_negative_tests": "true",
"from_version": "v0.100.0",
"generator_args": [
@@ -2443,6 +2458,9 @@
"shape",
"type"
]
+ },
+ "tosa-mi": {
+ "generator_select": "true"
}
}
},
@@ -2603,7 +2621,7 @@
"supports_all": [
"tosa-ext-bf16"
],
- "selector": "tosa-mi",
+ "selector": "tosa-ext-bf16",
"no_negative_tests": "true",
"negative_dim_range": "1,10",
"generator_args": [
@@ -2640,7 +2658,7 @@
"supports_all": [
"tosa-ext-fp8e4m3"
],
- "selector": "tosa-mi",
+ "selector": "tosa-ext-fp8e4m3",
"no_negative_tests": "true",
"from_version": "v0.100.0",
"generator_args": [
@@ -2660,7 +2678,7 @@
"supports_all": [
"tosa-ext-fp8e5m2"
],
- "selector": "tosa-mi",
+ "selector": "tosa-ext-fp8e5m2",
"no_negative_tests": "true",
"from_version": "v0.100.0",
"generator_args": [
@@ -2772,6 +2790,78 @@
"s"
],
"maximum": 3
+ },
+ "tosa-ext-bf16": {
+ "generator_select": "true",
+ "permutes": [
+ "shape",
+ "kernel",
+ "acc_type"
+ ],
+ "full_params": [
+ "stride",
+ "dilation"
+ ],
+ "specifics": {
+ "pad": [
+ "(0, 0, 0, 0)"
+ ],
+ "type": [
+ "bf16xbf16"
+ ]
+ },
+ "groups": [
+ "s"
+ ],
+ "maximum": 3
+ },
+ "tosa-ext-fp8e4m3": {
+ "generator_select": "true",
+ "permutes": [
+ "shape",
+ "kernel",
+ "acc_type"
+ ],
+ "full_params": [
+ "stride",
+ "dilation"
+ ],
+ "specifics": {
+ "pad": [
+ "(0, 0, 0, 0)"
+ ],
+ "type": [
+ "f8e4m3xf8e4m3"
+ ]
+ },
+ "groups": [
+ "s"
+ ],
+ "maximum": 3
+ },
+ "tosa-ext-fp8e5m2": {
+ "generator_select": "true",
+ "permutes": [
+ "shape",
+ "kernel",
+ "acc_type"
+ ],
+ "full_params": [
+ "stride",
+ "dilation"
+ ],
+ "specifics": {
+ "pad": [
+ "(0, 0, 0, 0)"
+ ],
+ "type": [
+ "f8e5m2xf8e5m2"
+ ]
+ },
+ "groups": [
+ "s"
+ ],
+ "maximum": 3
}
}
},
@@ -2884,7 +2974,7 @@
"supports_all": [
"tosa-ext-bf16"
],
- "selector": "tosa-mi",
+ "selector": "tosa-ext-bf16",
"no_negative_tests": "true",
"negative_dim_range": "1,10",
"generator_args": [
@@ -2906,7 +2996,7 @@
"supports_all": [
"tosa-ext-fp8e4m3"
],
- "selector": "tosa-mi",
+ "selector": "tosa-ext-fp8e4m3",
"no_negative_tests": "true",
"from_version": "v0.100.0",
"generator_args": [
@@ -2929,7 +3019,7 @@
"supports_all": [
"tosa-ext-fp8e5m2"
],
- "selector": "tosa-mi",
+ "selector": "tosa-ext-fp8e5m2",
"no_negative_tests": "true",
"from_version": "v0.100.0",
"generator_args": [
@@ -3039,21 +3129,95 @@
"all": "true"
},
"tosa-mi": {
- "params": {
- "shape": [],
- "type": [],
- "kernel": [],
- "stride": [],
- "pad": [],
- "dilation": []
- },
+ "generator_select": "true",
"permutes": [
- "kernel",
"shape",
"type",
- "pad",
- "stride"
- ]
+ "kernel",
+ "acc_type"
+ ],
+ "full_params": [
+ "stride",
+ "dilation"
+ ],
+ "specifics": {
+ "pad": [
+ "(0, 0, 0, 0, 0, 0)"
+ ]
+ },
+ "groups": [
+ "s"
+ ],
+ "maximum": 3
+ },
+ "tosa-ext-bf16": {
+ "generator_select": "true",
+ "permutes": [
+ "shape",
+ "kernel"
+ ],
+ "full_params": [
+ "stride",
+ "dilation"
+ ],
+ "specifics": {
+ "pad": [
+ "(0, 0, 0, 0, 0, 0)"
+ ],
+ "type": [
+ "bf16xbf16"
+ ]
+ },
+ "groups": [
+ "s"
+ ],
+ "maximum": 3
+ },
+ "tosa-ext-fp8e4m3": {
+ "generator_select": "true",
+ "permutes": [
+ "shape",
+ "kernel"
+ ],
+ "full_params": [
+ "stride",
+ "dilation"
+ ],
+ "specifics": {
+ "pad": [
+ "(0, 0, 0, 0, 0, 0)"
+ ],
+ "type": [
+ "f8e4m3xf8e4m3"
+ ]
+ },
+ "groups": [
+ "s"
+ ],
+ "maximum": 3
+ },
+ "tosa-ext-fp8e5m2": {
+ "generator_select": "true",
+ "permutes": [
+ "shape",
+ "kernel"
+ ],
+ "full_params": [
+ "stride",
+ "dilation"
+ ],
+ "specifics": {
+ "pad": [
+ "(0, 0, 0, 0, 0, 0)"
+ ],
+ "type": [
+ "f8e5m2xf8e5m2"
+ ]
+ },
+ "groups": [
+ "s"
+ ],
+ "maximum": 3
}
}
},
@@ -3368,58 +3532,67 @@
"maximum": 3
},
"tosa-ext-bf16": {
- "params": {
- "shape": [],
+ "generator_select": "true",
+ "permutes": [
+ "shape",
+ "kernel",
+ "acc_type"
+ ],
+ "full_params": [
+ "stride",
+ "dilation"
+ ],
+ "specifics": {
+ "pad": [
+ "(0, 0, 0, 0)"
+ ],
"type": [
"bf16xbf16"
- ],
- "kernel": [],
- "stride": [],
- "pad": [],
- "dilation": []
+ ]
},
- "permutes": [
- "kernel",
- "shape",
- "type",
- "pad"
- ]
+ "maximum": 3
},
"tosa-ext-fp8e4m3": {
- "params": {
- "shape": [],
+ "generator_select": "true",
+ "permutes": [
+ "shape",
+ "kernel",
+ "acc_type"
+ ],
+ "full_params": [
+ "stride",
+ "dilation"
+ ],
+ "specifics": {
+ "pad": [
+ "(0, 0, 0, 0)"
+ ],
"type": [
"f8e4m3xf8e4m3"
- ],
- "kernel": [],
- "stride": [],
- "pad": [],
- "dilation": []
+ ]
},
- "permutes": [
- "kernel",
- "shape",
- "type",
- "pad"
- ]
+ "maximum": 3
},
"tosa-ext-fp8e5m2": {
- "params": {
- "shape": [],
+ "generator_select": "true",
+ "permutes": [
+ "shape",
+ "kernel",
+ "acc_type"
+ ],
+ "full_params": [
+ "stride",
+ "dilation"
+ ],
+ "specifics": {
+ "pad": [
+ "(0, 0, 0, 0)"
+ ],
"type": [
"f8e5m2xf8e5m2"
- ],
- "kernel": [],
- "stride": [],
- "pad": [],
- "dilation": []
+ ]
},
- "permutes": [
- "kernel",
- "shape",
- "type",
- "pad"
- ]
+ "maximum": 3
}
}
},
@@ -4542,6 +4715,7 @@
"tosa-ext-bf16"
],
"no_negative_tests": "true",
+ "selector": "tosa-mi",
"generator_args": [
[
"--target-dtype",
@@ -4575,13 +4749,18 @@
"shape",
"type"
]
+ },
+ "tosa-mi": {
+ "generator_select": "true"
}
}
},
"identity": {
"group": "data_nodes",
"support_for": [
- "lazy_data_gen"
+ "lazy_data_gen",
+ "stable_random_gen",
+ "random_const_inputs"
],
"generation": {
"tosa-bi": {
@@ -4630,6 +4809,7 @@
"supports_all": [
"tosa-mi"
],
+ "selector": "tosa-mi",
"no_negative_tests": "true",
"generator_args": [
[
@@ -4641,6 +4821,8 @@
"--tensor-dim-range",
"1,67",
"--target-rank",
+ "0",
+ "--target-rank",
"1",
"2",
"3"
@@ -4655,7 +4837,10 @@
"1,19",
"--target-rank",
"4",
- "5"
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6"
],
[
"--target-dtype",
@@ -4682,6 +4867,8 @@
"--tensor-dim-range",
"1,67",
"--target-rank",
+ "0",
+ "--target-rank",
"1",
"2",
"3"
@@ -4695,7 +4882,10 @@
"1,19",
"--target-rank",
"4",
- "5"
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6"
]
]
},
@@ -10219,7 +10409,7 @@
"supports_all": [
"tosa-ext-bf16"
],
- "selector": "tosa-mi",
+ "selector": "tosa-ext-bf16",
"no_negative_tests": "true",
"negative_dim_range": "1,10",
"generator_args": [
@@ -10241,7 +10431,7 @@
"supports_all": [
"tosa-ext-fp8e4m3"
],
- "selector": "tosa-mi",
+ "selector": "tosa-ext-fp8e4m3",
"no_negative_tests": "true",
"from_version": "v0.100.0",
"generator_args": [
@@ -10266,7 +10456,7 @@
"supports_all": [
"tosa-ext-fp8e5m2"
],
- "selector": "tosa-mi",
+ "selector": "tosa-ext-fp8e5m2",
"no_negative_tests": "true",
"from_version": "v0.100.0",
"generator_args": [
@@ -10332,20 +10522,98 @@
"all": "true"
},
"tosa-mi": {
- "params": {
- "shape": [],
- "type": [],
- "kernel": [],
- "stride": [],
- "pad": [],
- "out_shape": []
- },
+ "generator_select": "true",
"permutes": [
"shape",
"type",
+ "kernel",
+ "acc_type"
+ ],
+ "full_params": [
"stride",
- "pad"
- ]
+ "out_shape"
+ ],
+ "specifics": {
+ "pad": [
+ "(0, 0, 0, 0)"
+ ]
+ },
+ "groups": [
+ "s"
+ ],
+ "maximum": 3
+ },
+ "tosa-ext-bf16": {
+ "generator_select": "true",
+ "permutes": [
+ "shape",
+ "kernel",
+ "acc_type"
+ ],
+ "full_params": [
+ "stride",
+ "out_shape"
+ ],
+ "specifics": {
+ "pad": [
+ "(0, 0, 0, 0)"
+ ],
+ "type": [
+ "bf16xbf16"
+ ]
+ },
+ "groups": [
+ "s"
+ ],
+ "maximum": 3
+ },
+ "tosa-ext-fp8e4m3": {
+ "generator_select": "true",
+ "permutes": [
+ "shape",
+ "kernel",
+ "acc_type"
+ ],
+ "full_params": [
+ "stride",
+ "out_shape"
+ ],
+ "specifics": {
+ "pad": [
+ "(0, 0, 0, 0)"
+ ],
+ "type": [
+ "f8e4m3xf8e4m3"
+ ]
+ },
+ "groups": [
+ "s"
+ ],
+ "maximum": 3
+ },
+ "tosa-ext-fp8e5m2": {
+ "generator_select": "true",
+ "permutes": [
+ "shape",
+ "kernel",
+ "acc_type"
+ ],
+ "full_params": [
+ "stride",
+ "out_shape"
+ ],
+ "specifics": {
+ "pad": [
+ "(0, 0, 0, 0)"
+ ],
+ "type": [
+ "f8e5m2xf8e5m2"
+ ]
+ },
+ "groups": [
+ "s"
+ ],
+ "maximum": 3
}
}
},
diff --git a/verif/frameworks/tosa_verif_framework_compiler_runner.py b/verif/frameworks/tosa_verif_framework_compiler_runner.py
index 86e3c01..070df15 100755
--- a/verif/frameworks/tosa_verif_framework_compiler_runner.py
+++ b/verif/frameworks/tosa_verif_framework_compiler_runner.py
@@ -324,7 +324,7 @@ def compile_dynamic_model(
def convert_shape_tuple_to_string(tup):
string = ""
for dim in tup:
- string = string + str(dim) + ","
+ string = string + str(dim) + "x"
# skip the last `,` character.
return string[0:-1]
@@ -332,7 +332,7 @@ def compile_dynamic_model(
if not isinstance(shape, tuple):
raise Exception("Only single input is supported currently")
- arg0_argument = '"arg0=' + convert_shape_tuple_to_string(shape) + '"'
+ arg0_argument = '"args=arg0:' + convert_shape_tuple_to_string(shape) + '"'
compile_and_shape_infer_cmd = compiler_cmd.copy()
compile_and_shape_infer_cmd.extend(
@@ -725,6 +725,11 @@ def run_test(args, test_path, framework):
ref_model_result_files = list((test_path / flatbuffer_dir).glob("ref_model_*.npy"))
ref_model_result = np.load(ref_model_result_files[0])
+ if np.issubdtype(tf_result.dtype, np.unsignedinteger) and (
+ tf_result.dtype != ref_model_result.dtype
+ ):
+ ref_model_result = ref_model_result.astype(tf_result.dtype)
+
assert (
tf_result.dtype == ref_model_result.dtype
), f"Numpy type mismatch {tf_result.dtype} != {ref_model_result.dtype} when comparing result"
diff --git a/verif/generator/tosa_test_gen.py b/verif/generator/tosa_test_gen.py
index beb3da3..d982508 100644
--- a/verif/generator/tosa_test_gen.py
+++ b/verif/generator/tosa_test_gen.py
@@ -2062,7 +2062,7 @@ class TosaTestGen:
attr = ts.TosaSerializerAttribute()
# write empty scale/offset/border into ResizeAttribute
- attr.ResizeAttribute([], [], [], mode)
+ attr.ResizeAttribute(mode)
self.ser.addOperator(op["op"], input_list, output_list, attr)
compliance = self.tensorComplianceMetaData(
@@ -4707,7 +4707,7 @@ class TosaTestGen:
TosaArgGen.agNone,
),
"types": TYPE_FIB + [DType.INT48, DType.FP8E4M3, DType.FP8E5M2],
- "data_gen": PSEUDO_RANDOM_DATAGEN,
+ "data_gen": PR_FS_DATAGEN,
},
"identity": {
"op": Op.IDENTITY,
@@ -4719,7 +4719,7 @@ class TosaTestGen:
TosaArgGen.agNone,
),
"types": TYPE_FIB + [DType.INT4, DType.INT48],
- "data_gen": PSEUDO_RANDOM_DATAGEN,
+ "data_gen": PR_FS_DATAGEN,
},
# Scatter/Gather
"gather": {