aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWon Jeon <won.jeon@arm.com>2024-03-11 22:17:13 +0000
committerWon Jeon <won.jeon@arm.com>2024-04-18 18:31:24 +0000
commit3eec59b22128462eef668dbfb770c6924aeee40f (patch)
tree2d5e906705c12ce11b5e4ae2e4a65323b71db3af
parentb7f5eed148f515bc07e23ec8903d05dfe35dc8d7 (diff)
downloadreference_model-3eec59b22128462eef668dbfb770c6924aeee40f.tar.gz
Add extensions & profiles support to conformance generator
Support existing conformance profiles to ease transition New combined config tosa_ext_profile_ops_info.json that supports extension selection Signed-off-by: Won Jeon <won.jeon@arm.com> Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com> Change-Id: Ic04696a01d619d191b9c8abc4ef7f4e8b86c52ca
-rwxr-xr-xscripts/convert2conformance/convert2conformance.py8
-rw-r--r--verif/conformance/tosa_base_profile_ops_info.json10
-rw-r--r--verif/conformance/tosa_ext_profile_ops_info.json10880
-rw-r--r--verif/conformance/tosa_profiles.py34
-rw-r--r--verif/conformance/tosa_verif_conformance_generator.py281
5 files changed, 11079 insertions, 134 deletions
diff --git a/scripts/convert2conformance/convert2conformance.py b/scripts/convert2conformance/convert2conformance.py
index 4a006d6..6fe1bc8 100755
--- a/scripts/convert2conformance/convert2conformance.py
+++ b/scripts/convert2conformance/convert2conformance.py
@@ -15,6 +15,7 @@ import shutil
from pathlib import Path
from typing import Optional
+from conformance.tosa_profiles import TosaProfiles
from json2fbbin.json2fbbin import fbbin_to_json
from json2numpy.json2numpy import npy_to_json
from schemavalidation.schemavalidation import TestDescSchemaValidator
@@ -28,7 +29,8 @@ NAME_DESC_FILENAME = "desc.json"
NAME_CONFORMANCE_RESULT_PREFIX = "Conformance-"
NAME_REFMODEL_RUN_RESULT_SUFFIX = ".runner.tosa_refmodel_sut_run.npy"
-PROFILES_LIST = ["tosa-bi", "tosa-mi"]
+PROFILES_LIST = TosaProfiles.profiles()
+EXTENSIONS_LIST = TosaProfiles.extensions()
OUTPUT_TYPE_JSON = "json"
OUTPUT_TYPE_BINARY = "binary"
@@ -93,10 +95,10 @@ def parse_args(argv):
parser.add_argument(
"--profile",
dest="profile",
- choices=PROFILES_LIST,
+ choices=PROFILES_LIST + EXTENSIONS_LIST,
action="append",
required=True,
- help="Profiles this test is suitable for. May be repeated",
+ help="Profiles and extensions this test is suitable for. May be repeated",
)
parser.add_argument(
"--tag",
diff --git a/verif/conformance/tosa_base_profile_ops_info.json b/verif/conformance/tosa_base_profile_ops_info.json
index 4232851..a26c4a7 100644
--- a/verif/conformance/tosa_base_profile_ops_info.json
+++ b/verif/conformance/tosa_base_profile_ops_info.json
@@ -358,7 +358,8 @@
"int16",
"--tensor-dim-range",
"3,10",
- "--level-8k-sizes" ]
+ "--level-8k-sizes"
+ ]
]
}
},
@@ -1029,8 +1030,7 @@
"selection": {
"default": {
"params": {},
- "permutes": [
- ]
+ "permutes": []
}
}
},
@@ -1173,8 +1173,7 @@
"selection": {
"default": {
"params": {},
- "permutes": [
- ]
+ "permutes": []
}
}
},
@@ -1452,7 +1451,6 @@
"8k_level": {
"from_version": "v0.80.0",
"no_negative_tests": "true",
- "selector": "8k_level",
"generator_args": [
[
"--target-dtype",
diff --git a/verif/conformance/tosa_ext_profile_ops_info.json b/verif/conformance/tosa_ext_profile_ops_info.json
new file mode 100644
index 0000000..9ca19db
--- /dev/null
+++ b/verif/conformance/tosa_ext_profile_ops_info.json
@@ -0,0 +1,10880 @@
+{
+ "abs": {
+ "group": "ew_unary",
+ "support_for": [ "lazy_data_gen", "stable_random_gen", "random_const_inputs" ],
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "selector": "tosa-bi",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int32",
+ "--target-shape",
+ "1,2,65533,1",
+ "--target-shape",
+ "1,65539,1,1,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "selector": "tosa-bi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "selector": "tosa-mi",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "30,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,65531,2,1",
+ "--target-shape",
+ "65538,1,1,1"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "tosa-bi": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ },
+ "tosa-mi": {
+ "generator_select": "true"
+ }
+ }
+ },
+ "add": {
+ "group": "ew_binary",
+ "support_for": [ "lazy_data_gen", "stable_random_gen", "random_const_inputs" ],
+ "generation": {
+ "tosa-bi-mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int32",
+ "--target-shape",
+ "1,2,65533,1",
+ "--target-shape",
+ "1,65539,1,1,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "selector": "tosa-mi",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "2,1,1,65532",
+ "--target-shape",
+ "65542,2,1,1,1"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ },
+ "tosa-mi": {
+ "generator_select": "true"
+ }
+ }
+ },
+ "add_shape": {
+ "group": "shape",
+ "generation": {
+ "tosa-bi-mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "shape",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "1"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape"
+ ]
+ }
+ }
+ },
+ "argmax": {
+ "group": "tensor",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--tensor-dim-range",
+ "1,32",
+ "--target-rank",
+ "4",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "from_version": "v0.70.0",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,32",
+ "--target-rank",
+ "4",
+ "--num-rand-permutations",
+ "2"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,3,65535,1",
+ "--target-shape",
+ "1,65537,1,2",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,32",
+ "--target-rank",
+ "4",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e4m3": {
+ "supports_all": [
+ "tosa-ext-fp8e4m3"
+ ],
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e4m3",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e5m2": {
+ "supports_all": [
+ "tosa-ext-fp8e5m2"
+ ],
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e5m2",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-int16": {
+ "supports_all": [
+ "tosa-ext-int16"
+ ],
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ],
+ [
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "1,32",
+ "--target-rank",
+ "4",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "8k_level_ext-int16": {
+ "supports_all": [
+ "tosa-ext-int16"
+ ],
+ "from_version": "v0.70.0",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "arithmetic_right_shift": {
+ "group": "ew_binary",
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,2,65533,1",
+ "--target-shape",
+ "1,65539,1,1,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type",
+ "rounding"
+ ]
+ }
+ }
+ },
+ "avg_pool2d": {
+ "group": "tensor",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "selector": "tosa-bi",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,49,42,28",
+ "--target-shape",
+ "1,11,44,3",
+ "--allow-pooling-and-conv-oversizes"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,65535,5,1",
+ "--target-shape",
+ "1,3,65537,1",
+ "--allow-pooling-and-conv-oversizes"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "selector": "8k_level",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--tensor-dim-range",
+ "3,10",
+ "--level-8k-sizes"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "selector": "tosa-mi",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "4,11,7,39",
+ "--target-shape",
+ "5,21,36,17",
+ "--allow-pooling-and-conv-oversizes"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,2,65533,2",
+ "--target-shape",
+ "1,65539,2,1",
+ "--allow-pooling-and-conv-oversizes"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "4,11,7,39",
+ "--target-shape",
+ "5,21,36,17",
+ "--allow-pooling-and-conv-oversizes"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e4m3": {
+ "supports_all": [
+ "tosa-ext-fp8e4m3"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e4m3",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e5m2": {
+ "supports_all": [
+ "tosa-ext-fp8e5m2"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e5m2",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-int16": {
+ "supports_all": [
+ "tosa-ext-int16"
+ ],
+ "selector": "tosa-bi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--target-shape",
+ "1,49,42,28",
+ "--target-shape",
+ "1,11,44,3",
+ "--allow-pooling-and-conv-oversizes"
+ ]
+ ]
+ },
+ "8k_level_ext_int16": {
+ "supports_all": [
+ "tosa-ext-int16"
+ ],
+ "no_negative_tests": "true",
+ "selector": "8k_level",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "3,10",
+ "--level-8k-sizes"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "tosa-bi": {
+ "params": {
+ "shape": [],
+ "type": [
+ "i8",
+ "i16"
+ ],
+ "kernel": [],
+ "stride": [],
+ "pad": []
+ },
+ "permutes": [
+ "shape",
+ "type",
+ "pad"
+ ]
+ },
+ "tosa-mi": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ],
+ "sparsity": {
+ "pad": 17
+ }
+ },
+ "8k_level": {
+ "all": "true"
+ }
+ }
+ },
+ "bitwise_and": {
+ "group": "ew_binary",
+ "generation": {
+ "standard": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,2,65536,1",
+ "--target-shape",
+ "1,65539,1,1,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "bitwise_not": {
+ "group": "ew_unary",
+ "generation": {
+ "standard": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "2,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,2,65537,1",
+ "--target-shape",
+ "1,65538,1,1,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "bitwise_or": {
+ "group": "ew_binary",
+ "generation": {
+ "standard": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "selector": "tosa-bi",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "3,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,2,65538,1",
+ "--target-shape",
+ "1,65537,1,1,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "bitwise_xor": {
+ "group": "ew_binary",
+ "generation": {
+ "standard": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "4,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,2,65536,1",
+ "--target-shape",
+ "1,65536,1,1,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "cast": {
+ "group": "type_conversion",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "selector": "tosa-bi",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,1,65535,1,1",
+ "--target-shape",
+ "1,65538,1,2"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "selector": "tosa-bi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "selector": "tosa-mi",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,1,1,65533,1",
+ "--target-shape",
+ "2,65538,1,1"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "selector": "tosa-ext-bf16",
+ "no_negative_tests": "true",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "bf16",
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "bf16",
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ },
+ "tosa-ext-bf16-fp8e4m3": {
+ "supports_all": [
+ "tosa-ext-bf16",
+ "tosa-ext-fp8e4m3"
+ ],
+ "selector": "tosa-ext-bf16-fp8e4m3",
+ "no_negative_tests": "true",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--target-dtype",
+ "fp8e4m3",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--target-dtype",
+ "fp8e4m3",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ },
+ "tosa-ext-bf16-fp8e5m2": {
+ "supports_all": [
+ "tosa-ext-bf16",
+ "tosa-ext-fp8e5m2"
+ ],
+ "selector": "tosa-ext-bf16-fp8e5m2",
+ "no_negative_tests": "true",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--target-dtype",
+ "fp8e5m2",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--target-dtype",
+ "fp8e5m2",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e4m3": {
+ "supports_all": [
+ "tosa-ext-fp8e4m3"
+ ],
+ "no_negative_tests": "true",
+ "selector": "tosa-ext-fp8e4m3",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e4m3",
+ "--target-dtype",
+ "fp16",
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e5m2": {
+ "supports_all": [
+ "tosa-ext-fp8e5m2"
+ ],
+ "selector": "tosa-ext-fp8e5m2",
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e5m2",
+ "--target-dtype",
+ "fp16",
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "tosa-bi": {
+ "params": {
+ "shape": [],
+ "type": [],
+ "output_type": [
+ "outi8",
+ "outi16",
+ "outi32",
+ "outb"
+ ]
+ },
+ "permutes": [
+ "shape",
+ "type",
+ "output_type"
+ ],
+ "exclude_patterns": [
+ "^((?!ERRORIF).)*_out(f16|f32)"
+ ]
+ },
+ "tosa-mi": {
+ "params": {
+ "shape": [],
+ "type": [],
+ "output_type": [
+ "outi8",
+ "outi16",
+ "outi32",
+ "outf16",
+ "outf32"
+ ]
+ },
+ "permutes": [
+ "shape",
+ "type",
+ "output_type"
+ ],
+ "exclude_patterns": [
+ "^((?!ERRORIF).)*_(b|i8|i16|i32|bf16|f8e4m3|f8e5m2)_out(b|i8|i16|i32|bf16|f8e4m3|f8e5m2)"
+ ]
+ },
+ "tosa-ext-bf16": {
+ "params": {
+ "shape": [],
+ "type": [],
+ "output_type": [
+ "outi8",
+ "outi16",
+ "outi32",
+ "outf32",
+ "outbf16"
+ ]
+ },
+ "permutes": [
+ "shape",
+ "type",
+ "output_type"
+ ],
+ "exclude_patterns": [
+ "^((?!ERRORIF).)*_(b|i8|i16|i32|f16|f32)_out(b|i8|i16|i32|f16|f32)",
+ "^((?!ERRORIF).)*_bf16_out(b|f16|f8e4m3|f8e5m2)",
+ "^((?!ERRORIF).)*_(b|f16|f8e4m3|f8e5m2)_outbf16"
+ ]
+ },
+ "tosa-ext-fp8e4m3": {
+ "params": {
+ "shape": [],
+ "type": [],
+ "output_type": [
+ "outf16",
+ "outf32",
+ "outf8e4m3"
+ ]
+ },
+ "permutes": [
+ "shape",
+ "type",
+ "output_type"
+ ],
+ "exclude_patterns": [
+ "^((?!ERRORIF).)*_(b|i8|i16|i32|f16|bf16|f32)_out(b|i8|i16|i32|f16|bf16|f32|f8e5m2)",
+ "^((?!ERRORIF).)*_f8e4m3_out(b|i8|i16|i32|bf16|f8e4m3|f8e5m2)",
+ "^((?!ERRORIF).)*_(b|i8|i16|i32|bf16|f8e4m3|f8e5m2)_outf8e4m3"
+ ]
+ },
+ "tosa-ext-fp8e5m2": {
+ "params": {
+ "shape": [],
+ "type": [],
+ "output_type": [
+ "outf16",
+ "outf32",
+ "outf8e5m2"
+ ]
+ },
+ "permutes": [
+ "shape",
+ "type",
+ "output_type"
+ ],
+ "exclude_patterns": [
+ "^((?!ERRORIF).)*_(b|i8|i16|i32|f16|bf16|f32)_out(b|i8|i16|i32|f16|bf16|f32|f8e4m3)",
+ "^((?!ERRORIF).)*_f8e5m2_out(b|i8|i16|i32|bf16|f8e4m3|f8e5m2)",
+ "^((?!ERRORIF).)*_(b|i8|i16|i32|bf16|f8e4m3|f8e5m2)_outf8e5m2"
+ ]
+ },
+ "tosa-ext-bf16-fp8e4m3": {
+ "params": {
+ "shape": [],
+ "type": [],
+ "output_type": [
+ "outf8e4m3",
+ "outbf16"
+ ]
+ },
+ "permutes": [
+ "shape",
+ "type",
+ "output_type"
+ ],
+ "exclude_patterns": [
+ "^((?!ERRORIF).)*_(b|i8|i16|f16|f32|f8e5m2)_out(b|i8|i16|i32|f16|f32|f8e5m2)",
+ "^((?!ERRORIF).)*_(bf16|f8e4m3)_out(b|i8|i16|i32|f16|f32|f8e5m2)",
+ "^((?!ERRORIF).)*_(b|i8 d|i16|i32|f16|f32|f8e5m2)_out(bf16|f8e4m3)"
+ ]
+ },
+ "tosa-ext-bf16-fp8e5m2": {
+ "params": {
+ "shape": [],
+ "type": [],
+ "output_type": [
+ "outf8e5m2",
+ "outbf16"
+ ]
+ },
+ "permutes": [
+ "shape",
+ "type",
+ "output_type"
+ ],
+ "exclude_patterns": [
+ "^((?!ERRORIF).)*_(b|i8|i16|f16|f32|f8e4m3)_out(b|i8|i16|i32|f16|f32|f8e4m3)",
+ "^((?!ERRORIF).)*_(bf16|f8e5m2)_out(b|i8|i16|i32|f16|f32|f8e4m3)",
+ "^((?!ERRORIF).)*_(b|i8 d|i16|i32|f16|f32|f8e4m3)_out(bf16|f8e5m2)"
+ ]
+ }
+ }
+ },
+ "ceil": {
+ "group": "ew_unary",
+ "support_for": [ "lazy_data_gen", "stable_random_gen", "random_const_inputs" ],
+ "generation": {
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "24,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "2,1,65530,1",
+ "--target-shape",
+ "1,1,65539,1"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "4,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "generator_select": "true"
+ }
+ }
+ },
+ "clamp": {
+ "group": "activation",
+ "support_for": [ "lazy_data_gen", "stable_random_gen", "random_const_inputs" ],
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--tensor-dim-range",
+ "20,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--tensor-dim-range",
+ "1,20",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,2,1,65536",
+ "--target-shape",
+ "1,3,65537,1,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "selector": "tosa-mi",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "20,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,20",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,2,1,65536",
+ "--target-shape",
+ "1,3,65537,1,1"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "20,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,20",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ },
+ "tosa-ext-int16": {
+ "supports_all": [
+ "tosa-ext-int16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "20,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "1,20",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ },
+ "8k_level_ext_int16": {
+ "supports_all": [
+ "tosa-ext-int16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ },
+ "tosa-mi": {
+ "generator_select": "true"
+ }
+ }
+ },
+ "clz": {
+ "group": "ew_unary",
+ "generation": {
+ "standard": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "selector": "tosa-bi",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int32",
+ "--target-shape",
+ "1,2,65533,1",
+ "--target-shape",
+ "1,65539,1,1,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "concat": {
+ "group": "data_layout",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-bi-mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-const-inputs-concat",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5",
+ "--num-const-inputs-concat",
+ "1"
+ ]
+ ]
+ },
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-const-inputs-concat",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5",
+ "--num-const-inputs-concat",
+ "1"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,1,65535,1,1",
+ "--target-shape",
+ "1,65538,1,2",
+ "--num-const-inputs-concat",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-int16": {
+ "supports_all": [
+ "tosa-ext-int16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-const-inputs-concat",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5",
+ "--num-const-inputs-concat",
+ "1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6",
+ "--num-const-inputs-concat",
+ "2"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-const-inputs-concat",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5",
+ "--num-const-inputs-concat",
+ "1"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,1,65534,1,1",
+ "--target-shape",
+ "1,65537,1,2",
+ "--num-const-inputs-concat",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-const-inputs-concat",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5",
+ "--num-const-inputs-concat",
+ "1"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e4m3": {
+ "supports_all": [
+ "tosa-ext-fp8e4m3"
+ ],
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e4m3",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e5m2": {
+ "supports_all": [
+ "tosa-ext-fp8e5m2"
+ ],
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e5m2",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "concat_shape": {
+ "group": "shape",
+ "generation": {
+ "tosa-bi-mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "shape",
+ "--target-rank",
+ "1",
+ "--target-shape",
+ "1",
+ "--num-const-inputs-concat",
+ "2"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": []
+ }
+ }
+ },
+ "cond_if": {
+ "group": "control_flow",
+ "gen_filter": "^cond_if",
+ "generation": {
+ "standard": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4"
+ ],
+ [
+ "--target-dtype",
+ "int32",
+ "--target-shape",
+ "3,22,17,1,2"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "variant",
+ "shape",
+ "cond"
+ ]
+ }
+ }
+ },
+ "const": {
+ "group": "data_nodes",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--target-dtype",
+ "bool",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,1,65537,1,1",
+ "--target-shape",
+ "1,65530,1,2"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,65540,1,1,1",
+ "--target-shape",
+ "1,2,1,65529"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e4m3": {
+ "supports_all": [
+ "tosa-ext-fp8e4m3"
+ ],
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e4m3",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e5m2": {
+ "supports_all": [
+ "tosa-ext-fp8e5m2"
+ ],
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e5m2",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-int16": {
+ "supports_all": [
+ "tosa-ext-int16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int48",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int48",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "const_shape": {
+ "group": "shape",
+ "generation": {
+ "standard": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "shape",
+ "--target-rank",
+ "1",
+ "--target-shape",
+ "1"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": []
+ }
+ }
+ },
+ "conv2d": {
+ "group": "tensor",
+ "support_for": [
+ "lazy_data_gen",
+ "stable_random_gen"
+ ],
+ "gen_filter": "^conv2d",
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "selector": "tosa-bi",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,49,42,28",
+ "--target-shape",
+ "1,11,44,13",
+ "--tensor-dim-range",
+ "1,16",
+ "--allow-pooling-and-conv-oversizes"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,65535,3,1",
+ "--target-shape",
+ "1,2,65536,1",
+ "--max-conv-dilation",
+ "1",
+ "--tensor-dim-range",
+ "1,8",
+ "--allow-pooling-and-conv-oversizes"
+ ]
+ ]
+ },
+ "tosa-ext-int16": {
+ "supports_all": [
+ "tosa-ext-int16"
+ ],
+ "selector": "tosa-ext-int16",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--target-shape",
+ "1,49,42,28",
+ "--target-shape",
+ "1,11,44,13",
+ "--tensor-dim-range",
+ "1,16",
+ "--allow-pooling-and-conv-oversizes"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "selector": "8k_level",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--tensor-dim-range",
+ "2,5",
+ "--level-8k-sizes"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "selector": "tosa-mi",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,34,19,27",
+ "--target-shape",
+ "1,16,51,7",
+ "--tensor-dim-range",
+ "1,16",
+ "--allow-pooling-and-conv-oversizes"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,65537,1,3",
+ "--target-shape",
+ "1,2,65530,2",
+ "--tensor-dim-range",
+ "1,16",
+ "--max-conv-dilation",
+ "1",
+ "--allow-pooling-and-conv-oversizes"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--conv-kernel",
+ "7,7",
+ "--conv-kernel",
+ "9,9",
+ "--target-shape",
+ "1,127,127,1",
+ "--target-shape",
+ "1,256,256,1",
+ "--target-shape",
+ "1,1080,720,1",
+ "--tensor-dim-range",
+ "1,8"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,34,19,27",
+ "--target-shape",
+ "1,16,51,7",
+ "--tensor-dim-range",
+ "1,16",
+ "--allow-pooling-and-conv-oversizes"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--conv-kernel",
+ "7,7",
+ "--conv-kernel",
+ "9,9",
+ "--target-shape",
+ "1,127,127,1",
+ "--target-shape",
+ "1,256,256,1",
+ "--target-shape",
+ "1,1080,720,1",
+ "--tensor-dim-range",
+ "1,8"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e4m3": {
+ "supports_all": [
+ "tosa-ext-fp8e4m3"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e4m3",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e5m2": {
+ "supports_all": [
+ "tosa-ext-fp8e5m2"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e5m2",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "8k_level_ext-int16": {
+ "supports_all": [
+ "tosa-ext-int16"
+ ],
+ "no_negative_tests": "true",
+ "selector": "8k_level",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "2,5",
+ "--level-8k-sizes"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "tosa-bi": {
+ "params": {
+ "shape": [],
+ "type": [
+ "i8xi8"
+ ],
+ "kernel": [],
+ "stride": [],
+ "pad": [],
+ "dilation": []
+ },
+ "permutes": [
+ "kernel",
+ "shape",
+ "type",
+ "pad"
+ ]
+ },
+ "tosa-ext-int16": {
+ "params": {
+ "shape": [],
+ "type": [
+ "i16xi8"
+ ],
+ "kernel": [],
+ "stride": [],
+ "pad": [],
+ "dilation": []
+ },
+ "permutes": [
+ "kernel",
+ "shape",
+ "type",
+ "pad"
+ ]
+ },
+ "tosa-ext-int4": {
+ "params": {
+ "shape": [],
+ "type": [
+ "i8xi4"
+ ],
+ "kernel": [],
+ "stride": [],
+ "pad": [],
+ "dilation": []
+ },
+ "permutes": [
+ "kernel",
+ "shape",
+ "type",
+ "pad"
+ ]
+ },
+ "8k_level": {
+ "all": "true"
+ },
+ "tosa-mi": {
+ "generator_select": "true",
+ "permutes": [
+ "shape",
+ "type",
+ "kernel",
+ "acc_type"
+ ],
+ "full_params": [
+ "stride",
+ "dilation"
+ ],
+ "specifics": {
+ "pad": [
+ "(0, 0, 0, 0)"
+ ]
+ },
+ "groups": [
+ "s"
+ ],
+ "maximum": 3
+ }
+ }
+ },
+ "conv3d": {
+ "group": "tensor",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "gen_filter": "^conv3d",
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "selector": "tosa-bi",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,9,21,14,1",
+ "--target-shape",
+ "1,9,11,12,3",
+ "--tensor-dim-range",
+ "1,4",
+ "--allow-pooling-and-conv-oversizes"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,1,65535,2,1",
+ "--target-shape",
+ "1,1,2,65536,1",
+ "--max-conv-dilation",
+ "1",
+ "--tensor-dim-range",
+ "1,2",
+ "--allow-pooling-and-conv-oversizes"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "selector": "8k_level",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--tensor-dim-range",
+ "2,5",
+ "--level-8k-sizes"
+ ]
+ ]
+ },
+ "8k_level_ext_int16": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "selector": "8k_level",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "2,5",
+ "--level-8k-sizes"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "selector": "tosa-mi",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,7,18,5,4",
+ "--target-shape",
+ "1,6,12,17,3",
+ "--tensor-dim-range",
+ "1,4",
+ "--allow-pooling-and-conv-oversizes"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,2,65539,1,2",
+ "--target-shape",
+ "1,65532,1,1,3",
+ "--tensor-dim-range",
+ "1,2",
+ "--max-conv-dilation",
+ "1",
+ "--allow-pooling-and-conv-oversizes"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,7,18,5,4",
+ "--target-shape",
+ "1,6,12,17,3",
+ "--tensor-dim-range",
+ "1,4",
+ "--allow-pooling-and-conv-oversizes"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e4m3": {
+ "supports_all": [
+ "tosa-ext-fp8e4m3"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e4m3",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,7,18,5,4",
+ "--target-shape",
+ "1,6,12,17,3",
+ "--tensor-dim-range",
+ "1,4",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e5m2": {
+ "supports_all": [
+ "tosa-ext-fp8e5m2"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e5m2",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,7,18,5,4",
+ "--target-shape",
+ "1,6,12,17,3",
+ "--tensor-dim-range",
+ "1,4",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-int16": {
+ "supports_all": [
+ "tosa-ext-int16"
+ ],
+ "selector": "tosa-ext-int16",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--target-shape",
+ "1,9,21,14,1",
+ "--target-shape",
+ "1,9,11,12,3",
+ "--tensor-dim-range",
+ "1,4",
+ "--allow-pooling-and-conv-oversizes"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "tosa-bi": {
+ "params": {
+ "shape": [],
+ "type": [
+ "i8xi8"
+ ],
+ "kernel": [],
+ "stride": [],
+ "pad": [],
+ "dilation": []
+ },
+ "permutes": [
+ "kernel",
+ "shape",
+ "type",
+ "pad",
+ "stride"
+ ],
+ "exclude_patterns": [
+ "^((?!ERRORIF).)*_(i16xi8|i8xi4)_.*"
+ ]
+ },
+ "tosa-ext-int16": {
+ "params": {
+ "shape": [],
+ "type": [
+ "i16xi8"
+ ],
+ "kernel": [],
+ "stride": [],
+ "pad": [],
+ "dilation": []
+ },
+ "permutes": [
+ "kernel",
+ "shape",
+ "type",
+ "pad",
+ "stride"
+ ],
+ "exclude_patterns": [
+ "^((?!ERRORIF).)*_(i8xi8|i8xi4)_.*"
+ ]
+ },
+ "tosa-ext-int4": {
+ "params": {
+ "shape": [],
+ "type": [
+ "i8xi4"
+ ],
+ "kernel": [],
+ "stride": [],
+ "pad": [],
+ "dilation": []
+ },
+ "permutes": [
+ "kernel",
+ "shape",
+ "type",
+ "pad",
+ "stride"
+ ],
+ "exclude_patterns": [
+ "^((?!ERRORIF).)*_(i8xi8|i16xi8)_.*"
+ ]
+ },
+ "8k_level": {
+ "all": "true"
+ },
+ "tosa-mi": {
+ "params": {
+ "shape": [],
+ "type": [],
+ "kernel": [],
+ "stride": [],
+ "pad": [],
+ "dilation": []
+ },
+ "permutes": [
+ "kernel",
+ "shape",
+ "type",
+ "pad",
+ "stride"
+ ]
+ }
+ }
+ },
+ "cos": {
+ "group": "ew_unary",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "selector": "tosa-mi",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "15,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,15",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "2,1,65537,1",
+ "--target-shape",
+ "3,1,65539,2,1"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "15,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "tosa-mi": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "depthwise_conv2d": {
+ "group": "tensor",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "gen_filter": "^depthwise_conv2d",
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "selector": "tosa-bi",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,9,44,3",
+ "--target-shape",
+ "1,11,33,4",
+ "--tensor-dim-range",
+ "1,16",
+ "--allow-pooling-and-conv-oversizes"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,65532,2,1",
+ "--target-shape",
+ "1,4,65537,1",
+ "--max-conv-dilation",
+ "1",
+ "--tensor-dim-range",
+ "1,16",
+ "--allow-pooling-and-conv-oversizes"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "selector": "8k_level",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "2,5",
+ "--level-8k-sizes"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "selector": "tosa-mi",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,17,31,4",
+ "--target-shape",
+ "1,37,11,5",
+ "--tensor-dim-range",
+ "1,32",
+ "--allow-pooling-and-conv-oversizes"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,1,65531,2",
+ "--target-shape",
+ "1,65540,1,3",
+ "--tensor-dim-range",
+ "1,16",
+ "--max-conv-dilation",
+ "1",
+ "--allow-pooling-and-conv-oversizes"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "selector": "tosa-ext-bf16",
+ "no_negative_tests": "true",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,17,31,4",
+ "--target-shape",
+ "1,37,11,5",
+ "--tensor-dim-range",
+ "1,32",
+ "--allow-pooling-and-conv-oversizes"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e4m3": {
+ "supports_all": [
+ "tosa-ext-fp8e4m3"
+ ],
+ "selector": "tosa-ext-fp8e4m3",
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e4m3",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e5m2": {
+ "supports_all": [
+ "tosa-ext-fp8e5m2"
+ ],
+ "selector": "tosa-ext-fp8e5m2",
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e5m2",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-int16": {
+ "supports_all": [
+ "tosa-ext-int16"
+ ],
+ "selector": "tosa-bi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--target-shape",
+ "1,9,44,3",
+ "--target-shape",
+ "1,11,33,4",
+ "--tensor-dim-range",
+ "1,16",
+ "--allow-pooling-and-conv-oversizes"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "tosa-bi": {
+ "params": {
+ "shape": [],
+ "type": [
+ "i8xi8",
+ "i16xi8",
+ "i8xi4"
+ ],
+ "kernel": [],
+ "stride": [],
+ "pad": [],
+ "dilation": []
+ },
+ "permutes": [
+ "kernel",
+ "shape",
+ "type",
+ "pad"
+ ]
+ },
+ "8k_level": {
+ "all": "true"
+ },
+ "tosa-mi": {
+ "params": {
+ "shape": [],
+ "type": [
+ "f16xf16",
+ "f32xf32"
+ ],
+ "kernel": [],
+ "stride": [],
+ "pad": [],
+ "dilation": []
+ },
+ "permutes": [
+ "kernel",
+ "shape",
+ "type",
+ "pad"
+ ]
+ },
+ "tosa-ext-bf16": {
+ "params": {
+ "shape": [],
+ "type": [
+ "bf16xbf16"
+ ],
+ "kernel": [],
+ "stride": [],
+ "pad": [],
+ "dilation": []
+ },
+ "permutes": [
+ "kernel",
+ "shape",
+ "type",
+ "pad"
+ ]
+ },
+ "tosa-ext-fp8e4m3": {
+ "params": {
+ "shape": [],
+ "type": [
+ "f8e4m3xf8e4m3"
+ ],
+ "kernel": [],
+ "stride": [],
+ "pad": [],
+ "dilation": []
+ },
+ "permutes": [
+ "kernel",
+ "shape",
+ "type",
+ "pad"
+ ]
+ },
+ "tosa-ext-fp8e5m2": {
+ "params": {
+ "shape": [],
+ "type": [
+ "f8e5m2xf8e5m2"
+ ],
+ "kernel": [],
+ "stride": [],
+ "pad": [],
+ "dilation": []
+ },
+ "permutes": [
+ "kernel",
+ "shape",
+ "type",
+ "pad"
+ ]
+ }
+ }
+ },
+ "dim": {
+ "group": "data_layout",
+ "generation": {
+ "tosa-bi-mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "from_version": "v0.80.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ]
+ ]
+ },
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "from_version": "v0.80.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "from_version": "v0.80.0",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "from_version": "v0.80.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-2.0,2.0",
+ "--tensor-dim-range",
+ "1,65",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "from_version": "v0.80.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-2.0,2.0",
+ "--tensor-dim-range",
+ "1,65",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e4m3": {
+ "supports_all": [
+ "tosa-ext-fp8e4m3"
+ ],
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e4m3",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e5m2": {
+ "supports_all": [
+ "tosa-ext-fp8e5m2"
+ ],
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e5m2",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "div_shape": {
+ "group": "shape",
+ "generation": {
+ "tosa-bi-mi": {
+ "supports_all": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "shape",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "1"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape"
+ ]
+ }
+ }
+ },
+ "equal": {
+ "group": "comparison",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int32",
+ "--target-shape",
+ "1,2,65501,1",
+ "--target-shape",
+ "1,65541,1,1,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "18,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,18",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,1,2,65550",
+ "--target-shape",
+ "1,4,65530,1,1"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "18,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "erf": {
+ "group": "activation",
+ "support_for": [ "lazy_data_gen", "stable_random_gen", "random_const_inputs" ],
+ "generation": {
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-4.0,4.0",
+ "--tensor-dim-range",
+ "18,60",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-4.0,4.0",
+ "--tensor-dim-range",
+ "1,24",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-4.0,4.0",
+ "--target-shape",
+ "1,65535,2,1,1",
+ "--target-shape",
+ "1,65540,1,2"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-4.0,4.0",
+ "--tensor-dim-range",
+ "18,60",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-4.0,4.0",
+ "--tensor-dim-range",
+ "1,24",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "generator_select": "true"
+ }
+ }
+ },
+ "exp": {
+ "group": "ew_unary",
+ "support_for": [ "lazy_data_gen", "stable_random_gen", "random_const_inputs" ],
+ "generation": {
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "25,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,15",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,1,65535,4",
+ "--target-shape",
+ "2,65536,1,1,1"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "15,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "generator_select": "true"
+ }
+ }
+ },
+ "fft2d": {
+ "group": "tensor",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-ext-fft": {
+ "supports_all": [
+ "tosa-ext-fft"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,256,64",
+ "--target-shape",
+ "1,4,4096"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type",
+ "inverse"
+ ]
+ }
+ }
+ },
+ "floor": {
+ "group": "ew_unary",
+ "support_for": [ "lazy_data_gen", "stable_random_gen", "random_const_inputs" ],
+ "generation": {
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "34,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,1,65533,2",
+ "--target-shape",
+ "1,65537,1,1"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "4,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "generator_select": "true"
+ }
+ }
+ },
+ "fully_connected": {
+ "group": "tensor",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "444,1",
+ "--target-shape",
+ "3,65538",
+ "--tensor-dim-range",
+ "1,2"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "3,16",
+ "--target-shape",
+ "1,23",
+ "--tensor-dim-range",
+ "100,200"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "25,64"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "10,15",
+ "--target-shape",
+ "100,296",
+ "--target-shape",
+ "65540,2"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "35,64",
+ "--target-shape",
+ "30,16",
+ "--target-shape",
+ "100,23"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "25,64"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "35,64",
+ "--target-shape",
+ "30,16",
+ "--target-shape",
+ "100,23"
+ ]
+ ]
+ },
+ "tosa-ext-int16": {
+ "supports_all": [
+ "tosa-ext-int16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "gather": {
+ "group": "scatter_gather",
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "4,64",
+ "--max-batch-size",
+ "64"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--tensor-dim-range",
+ "5,20",
+ "--target-shape",
+ "2,65533,1",
+ "--target-shape",
+ "1,2,65533",
+ "--target-shape",
+ "5000,1,1"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "5,72",
+ "--max-batch-size",
+ "72"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "5,20",
+ "--target-shape",
+ "2,65536,1",
+ "--target-shape",
+ "1,2,65535",
+ "--target-shape",
+ "5000,1,1"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "5,72",
+ "--max-batch-size",
+ "72"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e4m3": {
+ "supports_all": [
+ "tosa-ext-fp8e4m3"
+ ],
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e4m3",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e5m2": {
+ "supports_all": [
+ "tosa-ext-fp8e5m2"
+ ],
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e5m2",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "greater": {
+ "group": "comparison",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "10,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,15",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int32",
+ "--target-shape",
+ "1,2,65530,1",
+ "--target-shape",
+ "1,65539,1,2,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "18,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "3,65551,1,1",
+ "--target-shape",
+ "1,1,3,65531,1"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "18,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,18",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "greater_equal": {
+ "group": "comparison",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "selector": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "20,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,20",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int32",
+ "--target-shape",
+ "1,2,65533,1",
+ "--target-shape",
+ "1,65539,1,3,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "18,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,18",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "18,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "65552,1,1,4",
+ "--target-shape",
+ "1,1,1,3,65532"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "identity": {
+ "group": "data_nodes",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--target-dtype",
+ "int48",
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,61",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--target-dtype",
+ "int48",
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,15",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,1,65536,1,1",
+ "--target-shape",
+ "1,65531,1,2"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,67",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,19",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,1,65539,1,1",
+ "--target-shape",
+ "1,1,2,65529"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,67",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,19",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ },
+ "tosa-ext-int16": {
+ "supports_all": [
+ "tosa-ext-int16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "1,61",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "1,15",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ },
+ "tosa-ext-int4": {
+ "supports_all": [
+ "tosa-ext-int4"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int4",
+ "--tensor-dim-range",
+ "1,61",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int4",
+ "--tensor-dim-range",
+ "1,15",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "intdiv": {
+ "group": "ew_binary",
+ "generation": {
+ "tosa-bi-mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int32",
+ "--target-shape",
+ "1,65533,1",
+ "--target-shape",
+ "1,1,65539,1,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "log": {
+ "group": "ew_unary",
+ "support_for": [ "lazy_data_gen", "stable_random_gen", "random_const_inputs" ],
+ "generation": {
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "35,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,15",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,65530,1,2",
+ "--target-shape",
+ "3,1,65540,1,1"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "15,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "generator_select": "true"
+ }
+ }
+ },
+ "logical_and": {
+ "group": "ew_binary",
+ "generation": {
+ "tosa-bi-mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "bool",
+ "--target-shape",
+ "1,65538,1",
+ "--target-shape",
+ "1,2,1,65536"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "logical_left_shift": {
+ "group": "ew_binary",
+ "generation": {
+ "tosa-bi-mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,65532,1,1",
+ "--target-shape",
+ "1,2,1,65538"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "logical_not": {
+ "group": "ew_unary",
+ "generation": {
+ "tosa-bi-mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "2,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,15",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "bool",
+ "--target-shape",
+ "1,65537,1",
+ "--target-shape",
+ "1,2,1,65535"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "logical_or": {
+ "group": "ew_binary",
+ "generation": {
+ "tosa-bi-mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "3,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,14",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "bool",
+ "--target-shape",
+ "1,65536,1",
+ "--target-shape",
+ "1,2,1,65537"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "logical_right_shift": {
+ "group": "ew_binary",
+ "generation": {
+ "tosa-bi-mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "25,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,25",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,1,65540,3",
+ "--target-shape",
+ "2,1,65530,1,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "logical_xor": {
+ "group": "ew_binary",
+ "generation": {
+ "tosa-bi-mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "4,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "3,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "bool",
+ "--target-shape",
+ "1,65539,1",
+ "--target-shape",
+ "1,2,1,65534"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "matmul": {
+ "group": "tensor",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "selector": "tosa-bi",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--tensor-dim-range",
+ "16,64"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--tensor-dim-range",
+ "1,16"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,65532,1",
+ "--target-shape",
+ "1,2,65538",
+ "--target-shape",
+ "2000,1,1"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "selector": "tosa-mi",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-2.0,2.0",
+ "--tensor-dim-range",
+ "13,70"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-2.0,2.0",
+ "--tensor-dim-range",
+ "10,19"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-2.0,2.0",
+ "--target-shape",
+ "4,65530,1",
+ "--target-shape",
+ "1,65538,3"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-2.0,2.0",
+ "--tensor-dim-range",
+ "13,70"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-2.0,2.0",
+ "--tensor-dim-range",
+ "10,19"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e4m3": {
+ "supports_all": [
+ "tosa-ext-fp8e4m3"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e4m3",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e5m2": {
+ "supports_all": [
+ "tosa-ext-fp8e5m2"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e5m2",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-int16": {
+ "supports_all": [
+ "tosa-ext-int16"
+ ],
+ "selector": "tosa-bi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "16,64"
+ ],
+ [
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "1,16"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "tosa-bi": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ },
+ "tosa-mi": {
+ "all": "true"
+ }
+ }
+ },
+ "maximum": {
+ "group": "ew_binary",
+ "support_for": [ "lazy_data_gen", "stable_random_gen", "random_const_inputs" ],
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int32",
+ "--target-shape",
+ "1,2,65533,1",
+ "--target-shape",
+ "1,65539,1,1,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "selector": "tosa-mi",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "65531,1,2,1",
+ "--target-shape",
+ "1,1,65541,1"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ },
+ "tosa-mi": {
+ "generator_select": "true"
+ }
+ }
+ },
+ "max_pool2d": {
+ "group": "tensor",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "selector": "tosa-bi",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,4,75,3",
+ "--target-shape",
+ "1,11,44,1",
+ "--allow-pooling-and-conv-oversizes"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,65535,5,1",
+ "--target-shape",
+ "1,3,65537,1",
+ "--target-shape",
+ "1,3,2,1",
+ "--allow-pooling-and-conv-oversizes"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "selector": "8k_level",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--tensor-dim-range",
+ "3,10",
+ "--level-8k-sizes"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "selector": "tosa-mi",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,47,37,25",
+ "--target-shape",
+ "1,15,13,38",
+ "--allow-pooling-and-conv-oversizes"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,65534,4,1",
+ "--target-shape",
+ "1,6,65536,1",
+ "--max-conv-dilation",
+ "1",
+ "--allow-pooling-and-conv-oversizes"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,47,37,25",
+ "--target-shape",
+ "1,15,13,38",
+ "--allow-pooling-and-conv-oversizes"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e4m3": {
+ "supports_all": [
+ "tosa-ext-fp8e4m3"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e4m3",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e5m2": {
+ "supports_all": [
+ "tosa-ext-fp8e5m2"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e5m2",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-int16": {
+ "supports_all": [
+ "tosa-ext-int16"
+ ],
+ "selector": "tosa-bi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--target-shape",
+ "1,4,75,3",
+ "--target-shape",
+ "1,11,44,1",
+ "--allow-pooling-and-conv-oversizes"
+ ]
+ ]
+ },
+ "8k_level_ext_int16": {
+ "supports_all": [
+ "tosa-ext-int16"
+ ],
+ "no_negative_tests": "true",
+ "selector": "8k_level",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "3,10",
+ "--level-8k-sizes"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "tosa-bi": {
+ "params": {
+ "shape": [],
+ "type": [
+ "i8",
+ "i16"
+ ],
+ "kernel": [],
+ "stride": [],
+ "pad": []
+ },
+ "permutes": [
+ "shape",
+ "type",
+ "pad"
+ ]
+ },
+ "8k_level": {
+ "all": "true"
+ },
+ "tosa-mi": {
+ "params": {
+ "shape": [],
+ "type": [
+ "f32",
+ "f16",
+ "bf16"
+ ],
+ "stride": [],
+ "pad": []
+ },
+ "permutes": [
+ "shape",
+ "type",
+ "pad"
+ ],
+ "sparsity": {
+ "pad": 11
+ }
+ }
+ }
+ },
+ "minimum": {
+ "group": "ew_binary",
+ "support_for": [ "lazy_data_gen", "stable_random_gen", "random_const_inputs" ],
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int32",
+ "--target-shape",
+ "1,2,65533,1",
+ "--target-shape",
+ "1,65539,1,1,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "selector": "tosa-mi",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,65531,2,1",
+ "--target-shape",
+ "1,1,1,65538"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ },
+ "tosa-mi": {
+ "generator_select": "true"
+ }
+ }
+ },
+ "mul": {
+ "group": "ew_binary",
+ "support_for": [ "lazy_data_gen", "stable_random_gen", "random_const_inputs" ],
+ "generation": {
+ "tosa-bi-mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "selector": "tosa-bi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ },
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "selector": "tosa-bi",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,2,65500,1",
+ "--target-shape",
+ "1,68539,1,1,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "selector": "tosa-bi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "8k_level_bi_mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "selector": "tosa-bi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "selector": "tosa-mi",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,1,3,65534",
+ "--target-shape",
+ "1,2,1,65541,1"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "tosa-bi": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type",
+ "perm",
+ "shift"
+ ]
+ },
+ "tosa-mi": {
+ "generator_select": "true"
+ }
+ }
+ },
+ "mul_shape": {
+ "group": "shape",
+ "generation": {
+ "standard": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "shape",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "1"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape"
+ ]
+ }
+ }
+ },
+ "negate": {
+ "group": "ew_unary",
+ "support_for": [ "lazy_data_gen", "stable_random_gen", "random_const_inputs" ],
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,22",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "3,1,65540,1",
+ "--target-shape",
+ "1,1,2,1,65531"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "selector": "tosa-mi",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "17,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,22",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,65541,3,1",
+ "--target-shape",
+ "1,2,1,65532,1"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "17,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,22",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ },
+ "tosa-mi": {
+ "generator_select": "true"
+ }
+ }
+ },
+ "pad": {
+ "group": "data_layout",
+ "support_for": [
+ "lazy_data_gen",
+ "stable_random_gen"
+ ],
+ "generation": {
+ "tosa-bi-mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "selector": "tosa-bi",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4"
+ ]
+ ]
+ },
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "selector": "tosa-bi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4"
+ ],
+ [
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,1,65537,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "selector": "8k_level",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,65",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,11",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,65",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,11",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e4m3": {
+ "supports_all": [
+ "tosa-ext-fp8e4m3"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e4m3",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e5m2": {
+ "supports_all": [
+ "tosa-ext-fp8e5m2"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e5m2",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "extra": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "selector": "minimal",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,1,65539,1"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4",
+ "--oversize"
+ ]
+ ]
+ },
+ "extra-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "selector": "minimal",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,1,65539,1"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4",
+ "--oversize"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "tosa-bi": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ],
+ "sparsity": {
+ "pad": 15
+ },
+ "preselected": [
+ {
+ "shape": "6",
+ "type": "i8",
+ "pad": "pad00"
+ }
+ ]
+ },
+ "8k_level": {
+ "params": {},
+ "permutes": [],
+ "sparsity": {
+ "pad": 3
+ },
+ "full_sparsity": "true"
+ },
+ "tosa-mi": {
+ "generator_select": "true",
+ "maximum": 5,
+ "specifics": {
+ "pad": [
+ "[[0 0]]",
+ "[[0 0], [0 0]]",
+ "[[0 0], [0 0], [0 0]]",
+ "[[0 0], [0 0], [0 0], [0 0]]",
+ "[[0 0], [0 0], [0 0], [0 0], [0 0]]",
+ "[[0 0], [0 0], [0 0], [0 0], [0 0], [0 0]]"
+ ]
+ }
+ },
+ "minimal": {
+ "generator_select": "true",
+ "maximum": 2
+ }
+ }
+ },
+ "pow": {
+ "group": "ew_binary",
+ "support_for": [ "lazy_data_gen", "stable_random_gen", "random_const_inputs" ],
+ "generation": {
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "65534,3,1,1",
+ "--target-shape",
+ "2,65541,1,1,1"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "generator_select": "true"
+ }
+ }
+ },
+ "reciprocal": {
+ "group": "ew_unary",
+ "support_for": [ "lazy_data_gen", "stable_random_gen", "random_const_inputs" ],
+ "generation": {
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "28,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,15",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "15,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,1,65536,4",
+ "--target-shape",
+ "2,65535,1,1,1"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "generator_select": "true"
+ }
+ }
+ },
+ "reduce_all": {
+ "group": "reduction",
+ "generation": {
+ "tosa-bi-mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,32",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4"
+ ],
+ [
+ "--target-dtype",
+ "bool",
+ "--target-shape",
+ "65530,1,1,1",
+ "--target-shape",
+ "2,65538,1,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "from_version": "v0.80.0",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type",
+ "axis"
+ ]
+ }
+ }
+ },
+ "reduce_any": {
+ "group": "reduction",
+ "generation": {
+ "tosa-bi-mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,32",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4"
+ ],
+ [
+ "--target-dtype",
+ "bool",
+ "--target-shape",
+ "65530,1,1,1",
+ "--target-shape",
+ "2,65538,1,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "from_version": "v0.80.0",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,9",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type",
+ "axis"
+ ]
+ }
+ }
+ },
+ "reduce_max": {
+ "group": "reduction",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,32",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "65530,1,1,1",
+ "--target-shape",
+ "2,65538,1,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "from_version": "v0.80.0",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,11",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,32",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,1,1,65531",
+ "--target-shape",
+ "1,1,65539,2"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,32",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4"
+ ]
+ ]
+ },
+ "8k_level_mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "from_version": "v0.80.0",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "8k_level_ext_bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "from_version": "v0.80.0",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type",
+ "axis"
+ ]
+ }
+ }
+ },
+ "reduce_min": {
+ "group": "reduction",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,24",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,1,65538,1",
+ "--target-shape",
+ "2,65535,1,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "from_version": "v0.80.0",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "2,10",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,32",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,1,65531,1",
+ "--target-shape",
+ "1,65539,2,1"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,32",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4"
+ ]
+ ]
+ },
+ "8k_level_mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "from_version": "v0.80.0",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,9",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "8k_level_ext_bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "from_version": "v0.80.0",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,9",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type",
+ "axis"
+ ]
+ }
+ }
+ },
+ "reduce_product": {
+ "group": "reduction",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,34",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4"
+ ],
+ [
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "2,65527,3,1",
+ "--target-shape",
+ "1,3,2,65541"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,34",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "from_version": "v0.80.0",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,11",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type",
+ "axis"
+ ]
+ }
+ }
+ },
+ "reduce_sum": {
+ "group": "reduction",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,32",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4"
+ ],
+ [
+ "--target-dtype",
+ "int32",
+ "--target-shape",
+ "3,65532,1,1",
+ "--target-shape",
+ "65536,1,1,2"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "from_version": "v0.80.0",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,12",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4",
+ "--tensor-dim-range",
+ "10,37",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1001",
+ "--target-shape",
+ "50,200"
+ ],
+ [
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "65529",
+ "--target-shape",
+ "65537,2"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4",
+ "--tensor-dim-range",
+ "10,37",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "16001",
+ "--target-shape",
+ "16,1000",
+ "--target-shape",
+ "1,3,65529,1",
+ "--target-shape",
+ "1,65537,1,1"
+ ]
+ ]
+ },
+ "8k_level_mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "from_version": "v0.80.0",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "5,12",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "8k_level_ext_bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "from_version": "v0.80.0",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "5,12",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type",
+ "axis"
+ ]
+ }
+ }
+ },
+ "rescale": {
+ "group": "type_conversion",
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--target-dtype",
+ "uint8",
+ "--target-dtype",
+ "uint16",
+ "--tensor-dim-range",
+ "16,32",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--target-dtype",
+ "uint8",
+ "--target-dtype",
+ "uint16",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,2,65533,1",
+ "--target-shape",
+ "1,65539,1,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--target-dtype",
+ "uint8",
+ "--target-dtype",
+ "uint16",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-ext-int16": {
+ "supports_all": [
+ "tosa-ext-int16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int48",
+ "--tensor-dim-range",
+ "16,32",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int48",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ },
+ "8k_level_ext_int16": {
+ "supports_all": [
+ "tosa-ext-int16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int48",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {
+ "scale": [
+ "sc0",
+ "sc0",
+ "sc1",
+ "sc1",
+ "sc1",
+ "sc1"
+ ],
+ "double_round": [
+ "dr0",
+ "dr0",
+ "dr0",
+ "dr0",
+ "dr1",
+ "dr1"
+ ],
+ "per_channel": [
+ "pc0",
+ "pc1",
+ "pc0",
+ "pc1",
+ "pc0",
+ "pc1",
+ "pc1"
+ ]
+ },
+ "permutes": [
+ "shape",
+ "type",
+ "output_type"
+ ]
+ }
+ }
+ },
+ "reshape": {
+ "group": "data_layout",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-bi-mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--target-dtype",
+ "bool",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4",
+ "--num-rand-permutations",
+ "2"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,1,65535,1",
+ "--target-shape",
+ "1,65538,1,2",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "8k_level-bi-mi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4",
+ "--num-rand-permutations",
+ "2"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,1,65536,1",
+ "--target-shape",
+ "1,65535,1,2",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e4m3": {
+ "supports_all": [
+ "tosa-ext-fp8e4m3"
+ ],
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e4m3",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e5m2": {
+ "supports_all": [
+ "tosa-ext-fp8e5m2"
+ ],
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e5m2",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type",
+ "rank",
+ "perm"
+ ]
+ }
+ }
+ },
+ "resize": {
+ "group": "image",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "selector": "tosa-bi",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,3,16383,1",
+ "--max-resize-output-dim",
+ "9500"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "selector": "tosa-bi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--level-8k-sizes",
+ "--tensor-dim-range",
+ "2,10",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "8k_level_ext_int16": {
+ "supports_all": [
+ "tosa-ext-int16"
+ ],
+ "selector": "tosa-bi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--level-8k-sizes",
+ "--tensor-dim-range",
+ "2,10",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "selector": "tosa-mi",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,1103,1,2",
+ "--max-resize-output-dim",
+ "9100"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max"
+ ]
+ ]
+ },
+ "tosa-ext-int16": {
+ "supports_all": [
+ "tosa-ext-int16"
+ ],
+ "selector": "tosa-bi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "tosa-bi": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ },
+ "tosa-mi": {
+ "params": {
+ "offset": [],
+ "shape": [],
+ "type": [],
+ "mode": [],
+ "output_type": [],
+ "scale": [
+ "sc2x1x3x1"
+ ],
+ "border": [
+ "bor0x1"
+ ]
+ },
+ "permutes": [
+ "shape",
+ "type"
+ ],
+ "exclude_patterns": [
+ ".*_ERRORIF_MaxDimExceeded_1x16584x5x1_.*"
+ ]
+ }
+ }
+ },
+ "reverse": {
+ "group": "data_layout",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-bi-mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,32",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4"
+ ]
+ ]
+ },
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,32",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,1,65535",
+ "--target-shape",
+ "1,65540,1,2"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,12",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "8k_level_bi_mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,12",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,48",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,1,65537",
+ "--target-shape",
+ "1,65535,1,2"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,48",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e4m3": {
+ "supports_all": [
+ "tosa-ext-fp8e4m3"
+ ],
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e4m3",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e5m2": {
+ "supports_all": [
+ "tosa-ext-fp8e5m2"
+ ],
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e5m2",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "rfft2d": {
+ "group": "tensor",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "standard": {
+ "supports_all": [
+ "tosa-ext-fft"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,16,512",
+ "--target-shape",
+ "1,8192,2"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "rsqrt": {
+ "group": "ew_unary",
+ "support_for": [ "lazy_data_gen", "stable_random_gen", "random_const_inputs" ],
+ "generation": {
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "29,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,1,3,65541",
+ "--target-shape",
+ "65532,1,3,1,1"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "15,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,15",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "generator_select": "true"
+ }
+ }
+ },
+ "scatter": {
+ "group": "scatter_gather",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "4,64",
+ "--max-batch-size",
+ "64"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,65540,1",
+ "--target-shape",
+ "1,1,65533",
+ "--target-shape",
+ "3000,7,1"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "5,56",
+ "--max-batch-size",
+ "56"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,65541,1",
+ "--target-shape",
+ "1,1,65531",
+ "--target-shape",
+ "2989,6,1"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "5,56",
+ "--max-batch-size",
+ "56"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e4m3": {
+ "supports_all": [
+ "tosa-ext-fp8e4m3"
+ ],
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e4m3",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e5m2": {
+ "supports_all": [
+ "tosa-ext-fp8e5m2"
+ ],
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e5m2",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "select": {
+ "group": "ew_ternary",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-bi-mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ },
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,1,65535,1",
+ "--target-shape",
+ "1,65538,1,2",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "8k_level-bi-mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,2,65534,2,1",
+ "--target-shape",
+ "1,1,65539,2",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "sigmoid": {
+ "group": "activation",
+ "support_for": [ "lazy_data_gen", "stable_random_gen", "random_const_inputs" ],
+ "generation": {
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-16.0,16.0",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-16.0,16.0",
+ "--tensor-dim-range",
+ "1,19",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-16.0,16.0",
+ "--target-shape",
+ "1,2,65538,2,1",
+ "--target-shape",
+ "1,3,1,65533"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-16.0,16.0",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-16.0,16.0",
+ "--tensor-dim-range",
+ "1,19",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "generator_select": "true"
+ }
+ }
+ },
+ "sin": {
+ "group": "ew_unary",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "15,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,15",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "3,1,65534,2",
+ "--target-shape",
+ "65533,1,3,2,1"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "15,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "slice": {
+ "group": "data_layout",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-bi-mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ],
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "8k_level_bi_mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--num-rand-permutations",
+ "2"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,1,65535,1",
+ "--target-shape",
+ "1,65538,1,2",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--num-rand-permutations",
+ "2"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-2.0,2.0",
+ "--target-shape",
+ "1,1,655341,1",
+ "--target-shape",
+ "1,65539,1,1",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e4m3": {
+ "supports_all": [
+ "tosa-ext-fp8e4m3"
+ ],
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e4m3",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e5m2": {
+ "supports_all": [
+ "tosa-ext-fp8e5m2"
+ ],
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e5m2",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type",
+ "perm"
+ ]
+ }
+ }
+ },
+ "sub": {
+ "group": "ew_binary",
+ "support_for": [ "lazy_data_gen", "stable_random_gen", "random_const_inputs" ],
+ "generation": {
+ "tosa-bi-mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int32",
+ "--target-shape",
+ "1,2,65533,1",
+ "--target-shape",
+ "1,65539,1,1,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "selector": "tosa-mi",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,1,65533,3",
+ "--target-shape",
+ "1,1,2,1,65545"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ },
+ "tosa-mi": {
+ "generator_select": "true"
+ }
+ }
+ },
+ "sub_shape": {
+ "group": "shape",
+ "generation": {
+ "standard": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "shape",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "1"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape"
+ ]
+ }
+ }
+ },
+ "table": {
+ "group": "ew_binary",
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,2,65536,1",
+ "--target-shape",
+ "1,65537,1,1,3"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "8k_level_ext_int16": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-ext-int16": {
+ "supports_all": [
+ "tosa-ext-int16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "16,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "tanh": {
+ "group": "activation",
+ "support_for": [ "lazy_data_gen", "stable_random_gen", "random_const_inputs" ],
+ "generation": {
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-8.0,8.0",
+ "--tensor-dim-range",
+ "18,60",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-8.0,8.0",
+ "--tensor-dim-range",
+ "1,24",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-8.0,8.0",
+ "--target-shape",
+ "1,65535,2,1,1",
+ "--target-shape",
+ "1,65540,1,2"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-8.0,8.0",
+ "--tensor-dim-range",
+ "18,60",
+ "--target-rank",
+ "0",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3"
+ ],
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-8.0,8.0",
+ "--tensor-dim-range",
+ "1,24",
+ "--target-rank",
+ "4",
+ "--target-rank",
+ "5"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "generator_select": "true"
+ }
+ }
+ },
+ "tile": {
+ "group": "data_layout",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-bi-mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,16",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4"
+ ]
+ ]
+ },
+ "8k_level_bi_mi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "4,32",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "65533",
+ "--target-shape",
+ "1,2,65540,1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "4,32",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "65535",
+ "--target-shape",
+ "1,65543,2,1"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "4,32",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e4m3": {
+ "supports_all": [
+ "tosa-ext-fp8e4m3"
+ ],
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e4m3",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e5m2": {
+ "supports_all": [
+ "tosa-ext-fp8e5m2"
+ ],
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e5m2",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ },
+ "transpose": {
+ "group": "data_layout",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "generation": {
+ "tosa-bi-mi": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bool",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--num-rand-permutations",
+ "2"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4",
+ "--num-rand-permutations",
+ "2"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,65537,1,2",
+ "--target-shape",
+ "65535,1,1,1",
+ "--num-rand-permutations",
+ "1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-dtype",
+ "int16",
+ "--target-dtype",
+ "int32",
+ "--tensor-dim-range",
+ "1,10",
+ "--target-rank",
+ "5",
+ "--target-rank",
+ "6",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--num-rand-permutations",
+ "2"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4",
+ "--num-rand-permutations",
+ "2"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,1,65539,2",
+ "--target-shape",
+ "1,1,1,65535",
+ "--num-rand-permutations",
+ "1"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-rank",
+ "3",
+ "--target-rank",
+ "4",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e4m3": {
+ "supports_all": [
+ "tosa-ext-fp8e4m3"
+ ],
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e4m3",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e5m2": {
+ "supports_all": [
+ "tosa-ext-fp8e4m3"
+ ],
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e5m2",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-rank",
+ "1",
+ "--target-rank",
+ "2",
+ "--target-rank",
+ "3",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type",
+ "perm"
+ ]
+ }
+ }
+ },
+ "transpose_conv2d": {
+ "group": "tensor",
+ "support_for": [
+ "lazy_data_gen"
+ ],
+ "gen_filter": "^transpose_conv2d",
+ "generation": {
+ "tosa-bi": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "selector": "tosa-bi",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,49,33,1",
+ "--target-shape",
+ "1,11,33,3",
+ "--tensor-dim-range",
+ "1,18",
+ "--allow-pooling-and-conv-oversizes"
+ ],
+ [
+ "--target-dtype",
+ "int8",
+ "--target-shape",
+ "1,65536,1,1",
+ "--tensor-dim-range",
+ "1,12",
+ "--max-conv-dilation",
+ "1"
+ ]
+ ]
+ },
+ "8k_level": {
+ "supports_all": [
+ "tosa-bi"
+ ],
+ "no_negative_tests": "true",
+ "selector": "8k_level",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int8",
+ "--tensor-dim-range",
+ "2,5",
+ "--level-8k-sizes"
+ ]
+ ]
+ },
+ "8k_level_ext_int16": {
+ "supports_all": [
+ "tosa-ext-int16"
+ ],
+ "no_negative_tests": "true",
+ "selector": "8k_level",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--tensor-dim-range",
+ "2,5",
+ "--level-8k-sizes"
+ ]
+ ]
+ },
+ "tosa-mi": {
+ "supports_all": [
+ "tosa-mi"
+ ],
+ "selector": "tosa-mi",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp32",
+ "--target-dtype",
+ "fp16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "10,24,9,13",
+ "--target-shape",
+ "8,14,20,5",
+ "--tensor-dim-range",
+ "1,16",
+ "--allow-pooling-and-conv-oversizes"
+ ],
+ [
+ "--target-dtype",
+ "fp32",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "1,65536,1,2",
+ "--tensor-dim-range",
+ "1,17",
+ "--max-conv-dilation",
+ "1"
+ ]
+ ]
+ },
+ "tosa-ext-bf16": {
+ "supports_all": [
+ "tosa-ext-bf16"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "negative_dim_range": "1,10",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "bf16",
+ "--fp-values-range",
+ "-max,max",
+ "--target-shape",
+ "10,24,9,13",
+ "--target-shape",
+ "8,14,20,5",
+ "--tensor-dim-range",
+ "1,16",
+ "--allow-pooling-and-conv-oversizes"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e4m3": {
+ "supports_all": [
+ "tosa-ext-fp8e4m3"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e4m3",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-shape",
+ "10,24,9,13",
+ "--target-shape",
+ "8,14,20,5",
+ "--tensor-dim-range",
+ "1,16",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-fp8e5m2": {
+ "supports_all": [
+ "tosa-ext-fp8e5m2"
+ ],
+ "selector": "tosa-mi",
+ "no_negative_tests": "true",
+ "from_version": "v0.100.0",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "fp8e5m2",
+ "--fp-values-range",
+ "-max,max",
+ "--tensor-dim-range",
+ "32,64",
+ "--target-shape",
+ "10,24,9,13",
+ "--target-shape",
+ "8,14,20,5",
+ "--tensor-dim-range",
+ "1,16",
+ "--num-rand-permutations",
+ "2"
+ ]
+ ]
+ },
+ "tosa-ext-int16": {
+ "supports_all": [
+ "tosa-ext-int16"
+ ],
+ "selector": "tosa-bi",
+ "no_negative_tests": "true",
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int16",
+ "--target-shape",
+ "1,49,33,1",
+ "--target-shape",
+ "1,11,33,3",
+ "--tensor-dim-range",
+ "1,18",
+ "--allow-pooling-and-conv-oversizes"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "tosa-bi": {
+ "params": {
+ "shape": [],
+ "type": [
+ "i8xi8",
+ "i16xi8",
+ "i8xi4"
+ ],
+ "kernel": [],
+ "stride": [],
+ "pad": [],
+ "out_shape": []
+ },
+ "permutes": [
+ "shape",
+ "type",
+ "stride",
+ "pad"
+ ]
+ },
+ "8k_level": {
+ "all": "true"
+ },
+ "tosa-mi": {
+ "params": {
+ "shape": [],
+ "type": [],
+ "kernel": [],
+ "stride": [],
+ "pad": [],
+ "out_shape": []
+ },
+ "permutes": [
+ "shape",
+ "type",
+ "stride",
+ "pad"
+ ]
+ }
+ }
+ },
+ "while_loop": {
+ "group": "control_flow",
+ "generation": {
+ "standard": {
+ "supports_any": [
+ "tosa-bi",
+ "tosa-mi"
+ ],
+ "generator_args": [
+ [
+ "--target-dtype",
+ "int32"
+ ],
+ [
+ "--target-dtype",
+ "int32",
+ "--target-shape",
+ "3,22,17,1,2",
+ "--target-shape",
+ "1,65537,2,1"
+ ]
+ ]
+ }
+ },
+ "selection": {
+ "default": {
+ "params": {},
+ "permutes": [
+ "shape",
+ "type"
+ ]
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/verif/conformance/tosa_profiles.py b/verif/conformance/tosa_profiles.py
new file mode 100644
index 0000000..9aa1ceb
--- /dev/null
+++ b/verif/conformance/tosa_profiles.py
@@ -0,0 +1,34 @@
+# Copyright (c) 2024, ARM Limited.
+# SPDX-License-Identifier: Apache-2.0
+
+
+class TosaProfiles:
+ TosaBI = "tosa-bi"
+ TosaMI = "tosa-mi"
+ TosaExtInt16 = "tosa-ext-int16"
+ TosaExtInt4 = "tosa-ext-int4"
+ TosaExtBF16 = "tosa-ext-bf16"
+ TosaExtFP8E4M3 = "tosa-ext-fp8e4m3"
+ TosaExtFP8E5M2 = "tosa-ext-fp8e5m2"
+ TosaExtFFT = "tosa-ext-fft"
+ TosaExtVariable = "tosa-ext-variable"
+
+ @staticmethod
+ def profiles():
+ return [TosaProfiles.TosaBI, TosaProfiles.TosaMI]
+
+ @staticmethod
+ def extensions():
+ return [
+ TosaProfiles.TosaExtInt16,
+ TosaProfiles.TosaExtInt4,
+ TosaProfiles.TosaExtBF16,
+ TosaProfiles.TosaExtFP8E4M3,
+ TosaProfiles.TosaExtFP8E5M2,
+ TosaProfiles.TosaExtFFT,
+ TosaProfiles.TosaExtVariable,
+ ]
+
+ @staticmethod
+ def all():
+ return TosaProfiles.profiles() + TosaProfiles.extensions()
diff --git a/verif/conformance/tosa_verif_conformance_generator.py b/verif/conformance/tosa_verif_conformance_generator.py
index 433a33f..59e88bb 100644
--- a/verif/conformance/tosa_verif_conformance_generator.py
+++ b/verif/conformance/tosa_verif_conformance_generator.py
@@ -26,6 +26,7 @@ from pathlib import Path
import conformance.model_files as cmf
from conformance.test_select import Operator
+from conformance.tosa_profiles import TosaProfiles
from convert2conformance.convert2conformance import main as c2c_main
from convert2conformance.convert2conformance import OUTPUT_TYPE_DEFAULT
from convert2conformance.convert2conformance import OUTPUT_TYPES
@@ -47,7 +48,7 @@ PROFILE_OPS_INFO = {
"framework_tests": "tosa_main_profile_framework_ops_info.json",
},
}
-PROFILES_ALL = "all"
+PROFILES_EXTENSIONS_ALL = "all"
DEFAULT_SEED = 42
@@ -96,10 +97,22 @@ def _run_sh_command(args, cwd, full_cmd):
return (rc.stdout, rc.stderr)
+def _supports_for_enabled(profile_ext):
+ # The "supports_for" part of the config only works for MI and related extensions
+ # TODO - Update with TosaBI etc in future
+ return profile_ext in (
+ TosaProfiles.TosaMI,
+ TosaProfiles.TosaExtFP8E4M3,
+ TosaProfiles.TosaExtFP8E5M2,
+ TosaProfiles.TosaExtBF16,
+ TosaProfiles.TosaExtFFT,
+ )
+
+
def build_op_tests(
args,
test_type,
- profile,
+ profile_ext,
operator,
group,
gen_args_list,
@@ -115,7 +128,7 @@ def build_op_tests(
Returns operator output directory
"""
build_tests_cmd = "tosa_verif_build_tests"
- op_build_dir = args.build_dir / profile / group
+ op_build_dir = args.build_dir / profile_ext / group
if gen_filter is None:
gen_filter = f"^{operator}$"
@@ -131,19 +144,19 @@ def build_op_tests(
"--seed",
str(args.random_seed),
]
-
if args.verbosity:
build_cmd_base.append("-" + ("v" * args.verbosity))
if args.tests_list_file is not None:
build_cmd_base.append("--list-tests")
- if "lazy_data_gen" in supports and args.lazy_data_generation:
- build_cmd_base.append("--lazy-data-generation")
- if "stable_random_gen" in supports and not args.global_random_generation:
- build_cmd_base.append("--stable-random-generation")
- if "random_const_inputs" in supports:
- build_cmd_base.append("--random-const-inputs")
+ if _supports_for_enabled(profile_ext):
+ if "lazy_data_gen" in supports and args.lazy_data_generation:
+ build_cmd_base.append("--lazy-data-generation")
+ if "stable_random_gen" in supports and not args.global_random_generation:
+ build_cmd_base.append("--stable-random-generation")
+ if "random_const_inputs" in supports:
+ build_cmd_base.append("--random-const-inputs")
if "generator_select" in supports:
if selector_info is None:
@@ -252,11 +265,14 @@ def _get_all_tests_list(test_type, test_root_dir, operator):
return tests
-def generate_results(args, profile, operator, op_build_dir, supports=[], tests=None):
+def generate_results(
+ args, profile_ext, operator, op_build_dir, supports=[], tests=None
+):
"""Run tests on reference model and save result to the test directory."""
- if "lazy_data_gen" in supports and args.lazy_data_generation:
- logger.info("Skipping running tests due to lazy data gen")
- return
+ if _supports_for_enabled(profile_ext):
+ if "lazy_data_gen" in supports and args.lazy_data_generation:
+ logger.info("Skipping running tests due to lazy data gen")
+ return
num_cores = args.num_cores
@@ -320,11 +336,11 @@ def generate_results(args, profile, operator, op_build_dir, supports=[], tests=N
def convert_tests(
args,
test_type,
- profile,
+ profile_ext,
operator,
op_build_dir,
output_dir,
- op_profiles_list,
+ op_profiles_extensions_list,
supports=[],
tests=None,
group=None,
@@ -341,22 +357,23 @@ def convert_tests(
c2c_args_base.extend(["--output-type", args.output_type])
# This op maybe in more than one profile - e.g. tosa_bi and tosa_mi
# even if we are only producing tests for tosa_mi
- for op_profile in op_profiles_list:
+ for op_profile in op_profiles_extensions_list:
c2c_args_base.extend(["--profile", op_profile])
if tags is not None:
for tag in tags:
c2c_args_base.extend(["--tag", tag])
if args.framework_schema:
c2c_args_base.extend(["--framework-schema", str(args.framework_schema)])
- if "lazy_data_gen" in supports and args.lazy_data_generation:
- c2c_args_base.append("--lazy-data-generation")
+ if _supports_for_enabled(profile_ext):
+ if "lazy_data_gen" in supports and args.lazy_data_generation:
+ c2c_args_base.append("--lazy-data-generation")
c2c_args_base.append("--output-directory")
c2c_args_list = []
if not tests:
tests = _get_all_tests_list(test_type, op_build_dir, operator)
- logger.info(f"Converting all {profile} profile tests of type {test_type}")
+ logger.info(f"Converting all {profile_ext} profile tests of type {test_type}")
# Controls if we copy the tests in their operator sub-directory or not
output_dir_relative_pos = -1 if trim_op_subdir else -2
@@ -408,7 +425,7 @@ def convert_tests(
def get_op_tests_selection(
args,
- profile,
+ profile_ext,
operator,
op_build_dir,
selection_config,
@@ -418,7 +435,11 @@ def get_op_tests_selection(
"""Use test picker to get subsection of tests generated."""
# Need a full copy of the config as the selector updates it
config = copy.deepcopy(selection_config)
- logger.info("Choosing {} tests".format(("negative" if negative else "positive")))
+ logger.info(
+ "Choosing {} tests for {}".format(
+ ("negative" if negative else "positive"), profile_ext
+ )
+ )
try:
op = Operator.registry[operator](
op_build_dir, config, negative=negative, ignore_missing=ignore_missing
@@ -517,15 +538,16 @@ def get_framework_tests_selection(args, operator, test_picks, op_build_dir):
def parse_args(argv=None):
"""Parse the arguments."""
parser = argparse.ArgumentParser()
- profiles = list(PROFILE_OPS_INFO.keys())
- profiles.append(PROFILES_ALL)
+ profiles = TosaProfiles.profiles()
+ profiles.append(PROFILES_EXTENSIONS_ALL)
parser.add_argument(
"--profile",
dest="profile",
choices=profiles,
- default=profiles[0],
+ default=[TosaProfiles.TosaBI],
type=str,
- help=f"TOSA profile (default is {profiles[0]})",
+ nargs="*",
+ help=f"TOSA profile (default is {TosaProfiles.TosaBI})",
)
parser.add_argument(
"--operators",
@@ -535,6 +557,15 @@ def parse_args(argv=None):
help="The operator(s) to create tests for, if not supplied all tests will be created",
)
parser.add_argument(
+ "--extension",
+ dest="extension",
+ choices=TosaProfiles.extensions() + [PROFILES_EXTENSIONS_ALL],
+ default=[],
+ type=str,
+ nargs="*",
+ help="TOSA extension(s) to create tests for, if not supplied all tests will be created",
+ )
+ parser.add_argument(
"--unit-tests",
dest="unit_tests",
choices=["operator", "framework", "both"],
@@ -658,6 +689,13 @@ def parse_args(argv=None):
help=f"Test parameters (ops info) JSON file directory (default is {script_dir})",
)
parser.add_argument(
+ "--test-params-json-config",
+ "--config",
+ dest="param_config",
+ type=Path,
+ help="Test parameters (ops info) JSON file (overrides --test-param-json-directory)",
+ )
+ parser.add_argument(
"--convert-all-tests",
action="store_true",
help="Converts all tests instead of those picked by test_select",
@@ -739,6 +777,9 @@ def parse_args(argv=None):
args.param_json_dir = args.param_json_dir.absolute()
+ if args.param_config is not None:
+ args.param_config = args.param_config.absolute()
+
if args.unit_tests in ["framework", "both"]:
logger.warning(
"DEPRECATION - Framework tests are not part of TOSA conformance testing"
@@ -827,86 +868,40 @@ def main():
# TODO: For tosa-mi should really generate tosa-bi profile as well
# - for now leave it as subset instead of as superset (for testing)
- if args.profile == PROFILES_ALL:
- profiles = list(PROFILE_OPS_INFO.keys())
+ if PROFILES_EXTENSIONS_ALL in args.profile:
+ profiles = TosaProfiles.profiles()
else:
- profiles = [args.profile]
+ profiles = args.profile
+
+ if PROFILES_EXTENSIONS_ALL in args.extension:
+ extensions = TosaProfiles.extensions()
+ else:
+ extensions = args.extension
+ profileExtList = profiles + extensions
+ profileExtDone = []
try:
- for profile in profiles:
- print(f"Creating conformance tests for TOSA {profile} profile")
+ for profile_ext in profileExtList:
# Framework unit tests
if args.unit_tests in ["framework", "both"]:
- logger.debug("Creating FRAMEWORK unit tests")
- test_picks_file = (
- args.param_json_dir / PROFILE_OPS_INFO[profile]["framework_tests"]
- )
- try:
- with open(test_picks_file, "r") as fd:
- test_picks = json.load(fd)
- except Exception as e:
- logger.error(
- f"Couldn't load framework tests info - {test_picks_file}: {e}"
- )
- return 1
-
- operators = args.operators
- if not operators:
- # Create tests for all the operators
- operators = list(test_picks.keys())
-
- root_output_dir = (
- args.output_dir / "frameworks" / "tflite" / "operators"
- )
- for op in operators:
- logger.info(f"FRAMEWORK OP: {op}")
- if op not in test_picks:
- logger.warning(
- f"Framework op {op} not found in {test_picks_file} - skipping"
- )
- continue
-
- op_profiles_list = test_picks[op]["profile"]
- if (
- args.profile != PROFILES_ALL
- and args.profile not in op_profiles_list
- ):
- # Skip this operator as not part of the profile chosen
- logger.debug(f"Skipping {op} as not part of {args.profile}")
- continue
-
- logger.debug(f"Copying and renaming {op}")
- framework_test_dir = copy_rename_framework_tests(
- args, op, test_picks
- )
-
- if args.convert_all_tests:
- logger.debug("Running and converting all framework tests")
- framework_tests = None # Don't select any
- else:
- logger.debug("Running and converting selected framework tests")
- framework_tests = get_framework_tests_selection(
- args, op, test_picks, framework_test_dir
- )
- convert_tests(
- args,
- "positive",
- profile,
- op,
- framework_test_dir,
- root_output_dir,
- op_profiles_list,
- tests=framework_tests,
- trim_op_subdir=True,
- )
+ logger.error("Framework test support has been removed")
# Operator unit tests
if args.unit_tests in ["operator", "both"]:
logger.debug("Creating OPERATOR unit tests")
- test_params_file = (
- args.param_json_dir
- / PROFILE_OPS_INFO[profile]["operator_test_params"]
- )
+ if args.param_config is None:
+ # Fall back to old method
+ if profile_ext in PROFILE_OPS_INFO:
+ config = PROFILE_OPS_INFO[profile_ext]["operator_test_params"]
+ test_params_file = args.param_json_dir / config
+ else:
+ logger.error(
+ "Extensions not supported in old conformance configs - skipping"
+ )
+ continue
+ else:
+ test_params_file = args.param_config
+
try:
with open(test_params_file, "r") as fd:
test_params = json.load(fd)
@@ -922,6 +917,10 @@ def main():
# Create tests for all the operators
operators = list(test_params.keys())
+ print(
+ f"Creating conformance tests for TOSA {profile_ext} profile/extension"
+ )
+
for op in operators:
logger.info(f"OPERATOR: {op}")
if op not in test_params:
@@ -930,30 +929,49 @@ def main():
)
continue
- op_profiles_list = test_params[op]["profile"]
- if (
- args.profile != PROFILES_ALL
- and args.profile not in op_profiles_list
- ):
- # Skip this operator as not part of the profile chosen
- logger.debug(f"Skipping {op} as not part of {args.profile}")
- continue
-
operator_group = test_params[op]["group"]
root_output_dir = args.output_dir / "operators"
- supports = (
- test_params[op]["support_for"]
- if "support_for" in test_params[op]
- else []
- )
- gen_filter = (
- test_params[op]["gen_filter"]
- if "gen_filter" in test_params[op]
- else None
- )
+ supports = test_params[op].get("support_for", [])
+ gen_filter = test_params[op].get("gen_filter", None)
+ old_profile_info = test_params[op].get("profile", [])
# Iterate through the generation groups selecting tests from each
for gen_name, gen_dict in test_params[op]["generation"].items():
+ supports_any = gen_dict.get("supports_any", [])
+ supports_all = gen_dict.get("supports_all", [])
+
+ # Fall back for old configs
+ if not supports_all and not supports_any:
+ if not old_profile_info:
+ logger.error(
+ f"generator {gen_name} for {op} is missing supports_all/supports_any"
+ )
+ raise (GenConformanceError())
+ else:
+ supports_any = old_profile_info
+
+ supported = supports_any + supports_all
+
+ if profile_ext not in supported:
+ logger.info(
+ f"No match for profile/extension {profile_ext} for generation group {gen_name} - skipping"
+ )
+ continue
+
+ if any(p in supported for p in profileExtDone):
+ logger.info(
+ f"Already used this generator {gen_name} before - skipping"
+ )
+ continue
+
+ if profile_ext not in supports_any and not (
+ len(supports_all) > 0
+ and all(p in profileExtList for p in supports_all)
+ ):
+ logger.info(
+ f"Profile/extension {profile_ext} is not in {supports_any} or the profiles/extensions chosen do not meet all the requirements of {supports_all} - skipping"
+ )
+ continue
if not in_version(args.test_version, gen_dict):
logger.warning(
@@ -993,16 +1011,23 @@ def main():
selector_name = "default"
else:
selector_name = "default"
+
if selector_name not in test_params[op]["selection"]:
logger.error(
f"Could not find {selector_name} in selection dict for {op}"
)
raise (GenConformanceError())
+ if test_params[op]["selection"][selector_name].get(
+ "generator_select", False
+ ):
+ # Extend the support to include the new test selection in the generator
+ supports = supports + ["generator_select"]
+
op_build_dir = build_op_tests(
args,
test_type,
- profile,
+ profile_ext,
op,
gen_name,
gen_dict["generator_args"],
@@ -1020,7 +1045,11 @@ def main():
if test_type in ["positive", "both"]:
logger.info(f"Running and converting all {op} tests")
generate_results(
- args, profile, op, op_build_dir, supports=supports
+ args,
+ profile_ext,
+ op,
+ op_build_dir,
+ supports=supports,
)
operator_test_list = None
else:
@@ -1053,7 +1082,7 @@ def main():
tests_gen, tests_gen2 = tee(
get_op_tests_selection(
args,
- profile,
+ profile_ext,
op,
op_build_dir,
selection_config,
@@ -1062,7 +1091,7 @@ def main():
)
generate_results(
args,
- profile,
+ profile_ext,
op,
op_build_dir,
supports=supports,
@@ -1075,7 +1104,7 @@ def main():
operator_test_list.extend(
get_op_tests_selection(
args,
- profile,
+ profile_ext,
op,
op_build_dir,
selection_config,
@@ -1086,22 +1115,24 @@ def main():
tags = (
[gen_name] if gen_name != STANDARD_GENERATOR_GROUP else None
)
-
output_dir = convert_tests(
args,
test_type,
- profile,
+ profile_ext,
op,
op_build_dir,
root_output_dir,
- op_profiles_list,
+ supported,
supports=supports,
tests=operator_test_list,
group=operator_group,
tags=tags,
)
if not args.keep_large_files:
- check_op_tests(args, profile, op, output_dir)
+ check_op_tests(args, profile_ext, op, output_dir)
+
+ profileExtDone.append(profile_ext)
+
except GenConformanceError:
return 1