From fd05bb386a0a327a804830129e4c1d0d7e5b2c22 Mon Sep 17 00:00:00 2001 From: Jeremy Johnson Date: Tue, 7 Feb 2023 16:39:24 +0000 Subject: 8K level: rank 6 tests support using generator groups Split generation of conformance tests into groups to avoid a change in existing tests selection * A standard group is used for the normal/default conformance tests * An 8k level group covers the extension of testing for 8k level * Other arbitrary groups can be created and the group names will be used to tag the tests, so that in the future they could be filtered Group selection criteria is in a new dictionary * A default selection config is used for generation groups * But a different config can be used for a particular generation group Added parameter sparsity for pad of rank6 and above, and further parameter sparsity options to test_select to limit number of tests selected. Signed-off-by: Jeremy Johnson Change-Id: Ib9f1185c0ae6d0957df2116411c17e958157c6d3 --- scripts/convert2conformance/convert2conformance.py | 13 + verif/conformance/test_select.py | 75 +- verif/conformance/tosa_base_profile_ops_info.json | 5556 ++++++++++++-------- verif/conformance/tosa_main_profile_ops_info.json | 4967 +++++++++-------- .../tosa_verif_conformance_generator.py | 211 +- verif/generator/tosa_arg_gen.py | 41 +- verif/generator/tosa_test_gen.py | 2 +- 7 files changed, 6214 insertions(+), 4651 deletions(-) diff --git a/scripts/convert2conformance/convert2conformance.py b/scripts/convert2conformance/convert2conformance.py index 9cafed3..b1f8d0e 100755 --- a/scripts/convert2conformance/convert2conformance.py +++ b/scripts/convert2conformance/convert2conformance.py @@ -78,6 +78,13 @@ def parse_args(argv): required=True, help="Profiles this test is suitable for. May be repeated", ) + parser.add_argument( + "--tag", + dest="tag", + action="append", + type=str, + help="Optional string tag mark this test with. May be repeated", + ) parser.add_argument( "--strict", dest="strict", @@ -160,6 +167,7 @@ def update_desc_json( output_dir: Optional[Path] = None, create_result=True, profiles=None, + tags=None, ): """Update the desc.json format for conformance and optionally create result.""" ofm_files = [] @@ -199,6 +207,10 @@ def update_desc_json( profiles = [PROFILES_LIST[0]] test_desc["profile"] = profiles + # Add tags (if any) + if tags is not None: + test_desc["tag"] = tags + return test_desc @@ -325,6 +337,7 @@ def main(argv=None): output_dir=args.output_dir, create_result=True, profiles=args.profile, + tags=args.tag, ) if not test_desc: # Error from conversion/update diff --git a/verif/conformance/test_select.py b/verif/conformance/test_select.py index 72a4e84..66b2e56 100644 --- a/verif/conformance/test_select.py +++ b/verif/conformance/test_select.py @@ -130,6 +130,7 @@ class Operator: test_dir: Path, config: Dict[str, Dict[str, List[Any]]], negative=False, + ignore_missing=False, ): """Initialise the selection parameters for an operator. @@ -144,6 +145,8 @@ class Operator: parameter names and pre-chosen values "sparsity" - a dictionary of parameter names with a sparsity value + "full_sparsity" - "true"/"false" to use the sparsity + value on permutes/params/preselected "exclude_patterns" - a list of regex's whereby each match will not be considered for selection. Exclusion happens BEFORE test selection (i.e. @@ -153,6 +156,7 @@ class Operator: negative: bool indicating if negative testing is being selected which filters for ERRORIF in the test name and only selects the first test found (ERRORIF tests) + ignore_missing: bool indicating if missing tests should be ignored EXAMPLE CONFIG (with non-json comments): "params": { @@ -190,6 +194,7 @@ class Operator: ), f"{self.__class__.__name__}: {self.name} is not a valid operator name" self.negative = negative + self.ignore_missing = ignore_missing self.wks_param_names = self.param_names.copy() if self.negative: # need to override positive set up - use "errorifs" config if set @@ -207,6 +212,9 @@ class Operator: self.params = config["params"] if "params" in config else {} self.permutes = config["permutes"] if "permutes" in config else [] self.sparsity = config["sparsity"] if "sparsity" in config else {} + self.full_sparsity = ( + (config["full_sparsity"] == "true") if "full_sparsity" in config else False + ) self.preselected = config["preselected"] if "preselected" in config else {} self.exclude_patterns = ( config["exclude_patterns"] if "exclude_patterns" in config else [] @@ -308,7 +316,7 @@ class Operator: unused_values = {k: set(v) for k, v in self.params.items()} # select tests matching permuted, or preselected, parameter combinations - for path in self.test_paths: + for n, path in enumerate(self.test_paths): path_params = self.path_params(path) if path_params in unused_permuted or path_params in unused_preselected: unused_paths.remove(path) @@ -321,10 +329,20 @@ class Operator: for p in list(unused_permuted): if p["case"] == path_params["case"]: unused_permuted.remove(p) + if self.full_sparsity: + # Test for sparsity + skip = False + for k in path_params: + if k in self.sparsity and n % self.sparsity[k] != 0: + logger.debug(f"Skipping due to {k} sparsity - {path.name}") + skip = True + break + if skip: + continue # remove the param values used by this path for k in path_params: unused_values[k].discard(path_params[k]) - logger.debug(f"FOUND: {path.name}") + logger.debug(f"FOUND wanted: {path.name}") yield path # search for tests that match any unused parameter values @@ -339,26 +357,30 @@ class Operator: # remove the param values used by this path for p in path_params: unused_values[p].discard(path_params[p]) - logger.debug(f"FOUND: {path.name}") + sparsity = self.sparsity[k] if k in self.sparsity else 0 + logger.debug(f"FOUND unused [{k}/{n}/{sparsity}]: {path.name}") yield path break - # report any preselected combinations that were not found - for params in unused_preselected: - logger.warning(f"MISSING preselected: {params}") - # report any permuted combinations that were not found - for params in unused_permuted: - logger.debug(f"MISSING permutation: {params}") - # report any param values that were not found - for k, values in unused_values.items(): - if values: - if k not in self.sparsity: - logger.warning(f"MISSING {len(values)} values for {k}: {values}") - else: - logger.info( - f"Skipped {len(values)} values for {k} due to sparsity setting" - ) - logger.debug(f"Values skipped: {values}") + if not self.ignore_missing: + # report any preselected combinations that were not found + for params in unused_preselected: + logger.warning(f"MISSING preselected: {params}") + # report any permuted combinations that were not found + for params in unused_permuted: + logger.debug(f"MISSING permutation: {params}") + # report any param values that were not found + for k, values in unused_values.items(): + if values: + if k not in self.sparsity: + logger.warning( + f"MISSING {len(values)} values for {k}: {values}" + ) + else: + logger.info( + f"Skipped {len(values)} values for {k} due to sparsity setting" + ) + logger.debug(f"Values skipped: {values}") class AbsOperator(Operator): @@ -857,6 +879,12 @@ def parse_args(): type=Path, help="A JSON file defining the parameters to use for each operator", ) + parser.add_argument( + "--selector", + default="default", + type=str, + help="The selector in the selection dictionary to use for each operator", + ) parser.add_argument( "--full-path", action="store_true", help="output the full path for each test" ) @@ -907,7 +935,14 @@ def main(): for op_name in Operator.registry: if not args.operators or op_name in args.operators: op_params = config[op_name] if op_name in config else {} - op = Operator.registry[op_name](args.test_dir, op_params, negative) + if "selection" in op_params and args.selector in op_params["selection"]: + selection_config = op_params["selection"][args.selector] + else: + logger.warning( + f"Could not find selection config {args.selector} for {op_name}" + ) + selection_config = {} + op = Operator.registry[op_name](args.test_dir, selection_config, negative) for test_path in op.select_tests(): print(test_path.resolve() if args.full_path else test_path.name) diff --git a/verif/conformance/tosa_base_profile_ops_info.json b/verif/conformance/tosa_base_profile_ops_info.json index 24e01c5..5825719 100644 --- a/verif/conformance/tosa_base_profile_ops_info.json +++ b/verif/conformance/tosa_base_profile_ops_info.json @@ -1,2598 +1,3634 @@ { "abs": { "group": "ew_unary", - "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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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": { + "no_negative_tests": "true", + "generator_args": [ + [ + "--target-dtype", + "int32", + "--tensor-dim-range", + "1,10", + "--target-rank", + "6" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "add": { "group": "ew_binary", - "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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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": { + "no_negative_tests": "true", + "generator_args": [ + [ + "--target-dtype", + "int32", + "--tensor-dim-range", + "1,10", + "--target-rank", + "6" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "argmax": { "group": "tensor", - "generator_args": [ - [ - "--target-dtype", - "int8", - "--target-dtype", - "int16", - "--tensor-dim-range", - "32,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3", - "--num-rand-permutations", - "2" - ], - [ - "--target-dtype", - "int8", - "--target-dtype", - "int16", - "--tensor-dim-range", - "1,32", - "--target-rank", - "4", - "--num-rand-permutations", - "2" - ], - [ - "--target-dtype", - "int8", - "--target-shape", - "1,3,1,65535", - "--target-shape", - "1,65538,1,2", - "--num-rand-permutations", - "2" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--tensor-dim-range", + "32,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3", + "--num-rand-permutations", + "2" + ], + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--tensor-dim-range", + "1,32", + "--target-rank", + "4", + "--num-rand-permutations", + "2" + ], + [ + "--target-dtype", + "int8", + "--target-shape", + "1,3,1,65535", + "--target-shape", + "1,65538,1,2", + "--num-rand-permutations", + "2" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "arithmetic_right_shift": { "group": "ew_binary", - "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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type", - "rounding" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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": { + "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", - "generator_args": [ - [ - "--target-dtype", - "int8", - "--target-dtype", - "int16", - "--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" - ] - ], - "params": { - "shape": [], - "type": [ - "i8", - "i16" - ], - "kernel": [], - "stride": [], - "pad": [] - }, - "permutes": [ - "shape", - "type", - "pad" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--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" + ] + ] + } + }, + "selection": { + "default": { + "params": { + "shape": [], + "type": [ + "i8", + "i16" + ], + "kernel": [], + "stride": [], + "pad": [] + }, + "permutes": [ + "shape", + "type", + "pad" + ] + } + } }, "bitwise_and": { "group": "ew_binary", - "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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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": { + "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", - "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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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": { + "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", - "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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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": { + "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", - "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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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": { + "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", - "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" - ] - ], - "params": { - "shape": [], - "type": [], - "output_type": [ - "outi8", - "outi16", - "outi32", - "outb" - ] - }, - "permutes": [ - "shape", - "type", - "output_type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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": { + "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" + ] + ] + } + }, + "selection": { + "default": { + "params": { + "shape": [], + "type": [], + "output_type": [ + "outi8", + "outi16", + "outi32", + "outb" + ] + }, + "permutes": [ + "shape", + "type", + "output_type" + ] + } + } }, "clamp": { "group": "activation", - "generator_args": [ - [ - "--target-dtype", - "int8", - "--target-dtype", - "int16", - "--tensor-dim-range", - "20,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "int8", - "--target-dtype", - "int16", - "--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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--tensor-dim-range", + "20,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--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": { + "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" + ] + } + } }, "clz": { "group": "ew_unary", - "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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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": { + "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", - "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", - "--num-const-inputs-concat", - "3" - ], - [ - "--target-dtype", - "int8", - "--target-dtype", - "int16", - "--target-dtype", - "int32", - "--target-dtype", - "bool", - "--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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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", + "--num-const-inputs-concat", + "3" + ], + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--target-dtype", + "int32", + "--target-dtype", + "bool", + "--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" + ] + ] + }, + "8k_level": { + "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" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "cond_if": { "group": "control_flow", - "generator_args": [ - [ - "--target-dtype", - "bool", - "--target-dtype", - "int8", - "--target-dtype", - "int16", - "--target-dtype", - "int32" - ], - [ - "--target-dtype", - "int32", - "--target-shape", - "3,22,17,1,2" - ] - ], - "params": {}, - "permutes": [ - "variant", - "shape", - "cond" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "bool", + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--target-dtype", + "int32" + ], + [ + "--target-dtype", + "int32", + "--target-shape", + "3,22,17,1,2" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "variant", + "shape", + "cond" + ] + } + } }, "const": { "group": "data_nodes", - "no_negative_tests": "true", - "generator_args": [ - [ - "--target-dtype", - "int8", - "--target-dtype", - "int16", - "--target-dtype", - "int32", - "--target-dtype", - "bool", - "--target-dtype", - "int48", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "int8", - "--target-dtype", - "int16", - "--target-dtype", - "int32", - "--target-dtype", - "bool", - "--target-dtype", - "int48", - "--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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "no_negative_tests": "true", + "generator_args": [ + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--target-dtype", + "int32", + "--target-dtype", + "bool", + "--target-dtype", + "int48", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--target-dtype", + "int32", + "--target-dtype", + "bool", + "--target-dtype", + "int48", + "--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" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "conv2d": { "group": "tensor", - "generator_args": [ - [ - "--target-dtype", - "int8", - "--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" - ], - [ - "--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" - ] - ], - "params": { - "shape": [], - "type": [ - "i8xi8", - "i16xi8", - "i8xi4" - ], - "kernel": [], - "stride": [], - "pad": [], - "dilation": [] - }, - "permutes": [ - "kernel", - "shape", - "type", - "pad" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "int8", + "--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" + ], + [ + "--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" + ] + ] + } + }, + "selection": { + "default": { + "params": { + "shape": [], + "type": [ + "i8xi8", + "i16xi8", + "i8xi4" + ], + "kernel": [], + "stride": [], + "pad": [], + "dilation": [] + }, + "permutes": [ + "kernel", + "shape", + "type", + "pad" + ] + } + } }, "conv3d": { "group": "tensor", - "generator_args": [ - [ - "--target-dtype", - "int8", - "--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" - ], - [ - "--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" - ] - ], - "params": { - "shape": [], - "type": [ - "i8xi8", - "i16xi8", - "i8xi4" - ], - "kernel": [], - "stride": [], - "pad": [], - "dilation": [] - }, - "permutes": [ - "kernel", - "shape", - "type", - "pad", - "stride" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "int8", + "--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" + ], + [ + "--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" + ] + ] + } + }, + "selection": { + "default": { + "params": { + "shape": [], + "type": [ + "i8xi8", + "i16xi8", + "i8xi4" + ], + "kernel": [], + "stride": [], + "pad": [], + "dilation": [] + }, + "permutes": [ + "kernel", + "shape", + "type", + "pad", + "stride" + ] + } + } }, "depthwise_conv2d": { "group": "tensor", - "generator_args": [ - [ - "--target-dtype", - "int8", - "--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" - ], - [ - "--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" - ] - ], - "params": { - "shape": [], - "type": [ - "i8xi8", - "i16xi8", - "i8xi4" - ], - "kernel": [], - "stride": [], - "pad": [], - "dilation": [] - }, - "permutes": [ - "kernel", - "shape", - "type", - "pad" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "int8", + "--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" + ], + [ + "--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" + ] + ] + } + }, + "selection": { + "default": { + "params": { + "shape": [], + "type": [ + "i8xi8", + "i16xi8", + "i8xi4" + ], + "kernel": [], + "stride": [], + "pad": [], + "dilation": [] + }, + "permutes": [ + "kernel", + "shape", + "type", + "pad" + ] + } + } }, "equal": { "group": "comparison", - "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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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": { + "no_negative_tests": "true", + "generator_args": [ + [ + "--target-dtype", + "int32", + "--tensor-dim-range", + "1,10", + "--target-rank", + "6" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "fully_connected": { "group": "tensor", - "generator_args": [ - [ - "--target-dtype", - "int8", - "--target-dtype", - "int16" - ], - [ - "--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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16" + ], + [ + "--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" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "gather": { "group": "scatter_gather", - "generator_args": [ - [ - "--target-dtype", - "int16", - "--target-dtype", - "int32", - "--tensor-dim-range", - "4,64" - ], - [ - "--target-dtype", - "int8", - "--target-shape", - "2,65533,1", - "--target-shape", - "1,2,65533", - "--target-shape", - "5000,1,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "int16", + "--target-dtype", + "int32", + "--tensor-dim-range", + "4,64" + ], + [ + "--target-dtype", + "int8", + "--target-shape", + "2,65533,1", + "--target-shape", + "1,2,65533", + "--target-shape", + "5000,1,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "greater": { "group": "comparison", - "generator_args": [ - [ - "--filter", - "^greater$", - "--target-dtype", - "int32", - "--tensor-dim-range", - "10,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--filter", - "^greater$", - "--target-dtype", - "int32", - "--tensor-dim-range", - "1,15", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--filter", - "^greater$", - "--target-dtype", - "int32", - "--target-shape", - "1,2,65530,1", - "--target-shape", - "1,65539,1,2,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--filter", + "^greater$", + "--target-dtype", + "int32", + "--tensor-dim-range", + "10,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--filter", + "^greater$", + "--target-dtype", + "int32", + "--tensor-dim-range", + "1,15", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--filter", + "^greater$", + "--target-dtype", + "int32", + "--target-shape", + "1,2,65530,1", + "--target-shape", + "1,65539,1,2,1" + ] + ] + }, + "8k_level": { + "no_negative_tests": "true", + "generator_args": [ + [ + "--filter", + "^greater$", + "--target-dtype", + "int32", + "--tensor-dim-range", + "1,10", + "--target-rank", + "6" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "greater_equal": { "group": "comparison", - "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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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": { + "no_negative_tests": "true", + "generator_args": [ + [ + "--target-dtype", + "int32", + "--tensor-dim-range", + "1,10", + "--target-rank", + "6" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "identity": { "group": "data_nodes", - "no_negative_tests": "true", - "generator_args": [ - [ - "--target-dtype", - "int8", - "--target-dtype", - "int16", - "--target-dtype", - "int32", - "--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", - "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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "no_negative_tests": "true", + "generator_args": [ + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--target-dtype", + "int32", + "--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", + "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" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "intdiv": { "group": "ew_binary", - "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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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": { + "no_negative_tests": "true", + "generator_args": [ + [ + "--target-dtype", + "int32", + "--tensor-dim-range", + "1,10", + "--target-rank", + "6" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "logical_and": { "group": "ew_binary", - "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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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": { + "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", - "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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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": { + "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", - "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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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": { + "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", - "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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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": { + "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", - "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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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": { + "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", - "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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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": { + "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", - "generator_args": [ - [ - "--target-dtype", - "int8", - "--target-dtype", - "int16", - "--tensor-dim-range", - "16,64" - ], - [ - "--target-dtype", - "int8", - "--target-dtype", - "int16", - "--tensor-dim-range", - "1,16" - ], - [ - "--target-dtype", - "int8", - "--target-shape", - "1,65532,1", - "--target-shape", - "1,2,65538", - "--target-shape", - "2000,1,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--tensor-dim-range", + "16,64" + ], + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--tensor-dim-range", + "1,16" + ], + [ + "--target-dtype", + "int8", + "--target-shape", + "1,65532,1", + "--target-shape", + "1,2,65538", + "--target-shape", + "2000,1,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "maximum": { "group": "ew_binary", - "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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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": { + "no_negative_tests": "true", + "generator_args": [ + [ + "--target-dtype", + "int32", + "--tensor-dim-range", + "1,10", + "--target-rank", + "6" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "max_pool2d": { "group": "tensor", - "generator_args": [ - [ - "--target-dtype", - "int8", - "--target-dtype", - "int16", - "--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" - ] - ], - "params": { - "shape": [], - "type": [ - "i8", - "i16" - ], - "kernel": [], - "stride": [], - "pad": [] - }, - "permutes": [ - "shape", - "type", - "pad" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--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" + ] + ] + } + }, + "selection": { + "default": { + "params": { + "shape": [], + "type": [ + "i8", + "i16" + ], + "kernel": [], + "stride": [], + "pad": [] + }, + "permutes": [ + "shape", + "type", + "pad" + ] + } + } }, "minimum": { "group": "ew_binary", - "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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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": { + "no_negative_tests": "true", + "generator_args": [ + [ + "--target-dtype", + "int32", + "--tensor-dim-range", + "1,10", + "--target-rank", + "6" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "mul": { "group": "ew_binary", - "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,65500,1", - "--target-shape", - "1,68539,1,1,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type", - "perm", - "shift" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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,65500,1", + "--target-shape", + "1,68539,1,1,1" + ] + ] + }, + "8k_level": { + "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", + "perm", + "shift" + ] + } + } }, "negate": { "group": "ew_unary", - "generator_args": [ - [ - "--target-dtype", - "int8", - "--target-dtype", - "int16", - "--target-dtype", - "int32", - "--tensor-dim-range", - "22,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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] - }, - "pad": { - "group": "data_layout", - "generator_args": [ - [ - "--target-dtype", - "int8", - "--target-dtype", - "int16", - "--target-dtype", - "int32", - "--target-dtype", - "bool", - "--tensor-dim-range", - "1,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-dtype", - "int16", - "--tensor-dim-range", - "1,16", - "--target-rank", - "5" - ], - [ - "--target-dtype", - "int8", - "--target-shape", - "1,1,65537,1" - ] ], - "params": {}, - "permutes": [ - "shape", - "type" - ], - "sparsity": { - "pad": 15 + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--target-dtype", + "int32", + "--tensor-dim-range", + "22,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": { + "no_negative_tests": "true", + "generator_args": [ + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--target-dtype", + "int32", + "--tensor-dim-range", + "1,10", + "--target-rank", + "6" + ] + ] + } }, - "preselected": [ - { - "shape": "6", - "type": "i8", - "pad": "pad00" + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] } - ], + } + }, + "pad": { + "group": "data_layout", "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--target-dtype", + "int32", + "--target-dtype", + "bool", + "--tensor-dim-range", + "1,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-dtype", + "int16", + "--tensor-dim-range", + "1,16", + "--target-rank", + "5" + ], + [ + "--target-dtype", + "int8", + "--target-shape", + "1,1,65537,1" + ] + ] + }, + "8k_level": { + "no_negative_tests": "true", + "selector": "8k_level", + "generator_args": [ + [ + "--target-dtype", + "int8", + "--tensor-dim-range", + "1,10", + "--target-rank", + "6" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ], + "sparsity": { + "pad": 15 + }, + "preselected": [ + { + "shape": "6", + "type": "i8", + "pad": "pad00" + } + ] + }, + "8k_level": { + "params": {}, + "permutes": [], + "sparsity": { + "pad": 3 + }, + "full_sparsity": "true" + } + } }, "reduce_all": { "group": "reduction", - "generator_args": [ - [ - "--target-dtype", - "bool", - "--tensor-dim-range", - "1,32" - ], - [ - "--target-dtype", - "bool", - "--target-shape", - "65530,1,1,1", - "--target-shape", - "2,65538,1,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type", - "axis" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "bool", + "--tensor-dim-range", + "1,32" + ], + [ + "--target-dtype", + "bool", + "--target-shape", + "65530,1,1,1", + "--target-shape", + "2,65538,1,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type", + "axis" + ] + } + } }, "reduce_any": { "group": "reduction", - "generator_args": [ - [ - "--target-dtype", - "bool", - "--tensor-dim-range", - "1,32" - ], - [ - "--target-dtype", - "bool", - "--target-shape", - "65530,1,1,1", - "--target-shape", - "2,65538,1,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type", - "axis" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "bool", + "--tensor-dim-range", + "1,32" + ], + [ + "--target-dtype", + "bool", + "--target-shape", + "65530,1,1,1", + "--target-shape", + "2,65538,1,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type", + "axis" + ] + } + } }, "reduce_max": { "group": "reduction", - "generator_args": [ - [ - "--target-dtype", - "int8", - "--target-dtype", - "int16", - "--target-dtype", - "int32", - "--tensor-dim-range", - "1,32" - ], - [ - "--target-dtype", - "int8", - "--target-shape", - "65530,1,1,1", - "--target-shape", - "2,65538,1,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type", - "axis" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--target-dtype", + "int32", + "--tensor-dim-range", + "1,32" + ], + [ + "--target-dtype", + "int8", + "--target-shape", + "65530,1,1,1", + "--target-shape", + "2,65538,1,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type", + "axis" + ] + } + } }, "reduce_min": { "group": "reduction", - "generator_args": [ - [ - "--target-dtype", - "int8", - "--target-dtype", - "int16", - "--target-dtype", - "int32", - "--tensor-dim-range", - "1,24" - ], - [ - "--target-dtype", - "int8", - "--target-shape", - "1,1,65538,1", - "--target-shape", - "2,65535,1,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type", - "axis" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--target-dtype", + "int32", + "--tensor-dim-range", + "1,24" + ], + [ + "--target-dtype", + "int8", + "--target-shape", + "1,1,65538,1", + "--target-shape", + "2,65535,1,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type", + "axis" + ] + } + } }, "reduce_sum": { "group": "reduction", - "generator_args": [ - [ - "--target-dtype", - "int32", - "--tensor-dim-range", - "1,32" - ], - [ - "--target-dtype", - "int32", - "--target-shape", - "3,65532,1,1", - "--target-shape", - "65536,1,1,2" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type", - "axis" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "int32", + "--tensor-dim-range", + "1,32" + ], + [ + "--target-dtype", + "int32", + "--target-shape", + "3,65532,1,1", + "--target-shape", + "65536,1,1,2" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type", + "axis" + ] + } + } }, "rescale": { "group": "type_conversion", - "generator_args": [ - [ - "--target-dtype", - "int8", - "--target-dtype", - "int16", - "--target-dtype", - "int32", - "--target-dtype", - "int48", - "--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", - "int48", - "--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" - ] - ], - "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" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--target-dtype", + "int32", + "--target-dtype", + "int48", + "--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", + "int48", + "--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": { + "no_negative_tests": "true", + "generator_args": [ + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--target-dtype", + "int32", + "--target-dtype", + "int48", + "--target-dtype", + "uint8", + "--target-dtype", + "uint16", + "--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", - "generator_args": [ - [ - "--target-dtype", - "int8", - "--target-dtype", - "int16", - "--target-dtype", - "int32", - "--target-dtype", - "bool", - "--num-rand-permutations", - "2" - ], - [ - "--target-dtype", - "int8", - "--target-shape", - "1,1,65535,1", - "--target-shape", - "1,65538,1,2", - "--num-rand-permutations", - "2" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type", - "rank", - "perm" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--target-dtype", + "int32", + "--target-dtype", + "bool", + "--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": { + "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", + "5", + "--target-rank", + "6", + "--num-rand-permutations", + "2" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type", + "rank", + "perm" + ] + } + } }, "resize": { "group": "image", - "generator_args": [ - [ - "--target-dtype", - "int8", - "--target-dtype", - "int16" - ], - [ - "--target-dtype", - "int8", - "--target-shape", - "1,3,16383,1", - "--max-resize-output-dim", - "9500" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16" + ], + [ + "--target-dtype", + "int8", + "--target-shape", + "1,3,16383,1", + "--max-resize-output-dim", + "9500" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "reverse": { "group": "data_layout", - "generator_args": [ - [ - "--target-dtype", - "int8", - "--target-dtype", - "int16", - "--target-dtype", - "int32", - "--target-dtype", - "bool", - "--tensor-dim-range", - "1,32" - ], - [ - "--target-dtype", - "int8", - "--target-shape", - "1,1,65535", - "--target-shape", - "1,65540,1,2" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--target-dtype", + "int32", + "--target-dtype", + "bool", + "--tensor-dim-range", + "1,32" + ], + [ + "--target-dtype", + "int8", + "--target-shape", + "1,1,65535", + "--target-shape", + "1,65540,1,2" + ] + ] + }, + "8k_level": { + "no_negative_tests": "true", + "generator_args": [ + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--target-dtype", + "int32", + "--target-dtype", + "bool", + "--tensor-dim-range", + "1,12", + "--target-rank", + "5", + "--target-rank", + "6" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "scatter": { "group": "scatter_gather", - "generator_args": [ - [ - "--target-dtype", - "int16", - "--target-dtype", - "int32", - "--tensor-dim-range", - "4,64" - ], - [ - "--target-dtype", - "int8", - "--target-shape", - "1,65540,1", - "--target-shape", - "1,1,65533", - "--target-shape", - "3000,7,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "int16", + "--target-dtype", + "int32", + "--tensor-dim-range", + "4,64" + ], + [ + "--target-dtype", + "int8", + "--target-shape", + "1,65540,1", + "--target-shape", + "1,1,65533", + "--target-shape", + "3000,7,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "select": { "group": "ew_ternary", - "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", - "--target-shape", - "1,65538,1,2", - "--num-rand-permutations", - "2" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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", + "--target-shape", + "1,65538,1,2", + "--num-rand-permutations", + "2" + ] + ] + }, + "8k_level": { + "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" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "slice": { "group": "data_layout", - "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", - "--num-rand-permutations", - "2" - ], - [ - "--target-dtype", - "int8", - "--target-dtype", - "int16", - "--target-dtype", - "int32", - "--target-dtype", - "bool", - "--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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type", - "perm" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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", + "--num-rand-permutations", + "2" + ], + [ + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--target-dtype", + "int32", + "--target-dtype", + "bool", + "--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": { + "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", + "5", + "--target-rank", + "6", + "--num-rand-permutations", + "2" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type", + "perm" + ] + } + } }, "sub": { "group": "ew_binary", - "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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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": { + "no_negative_tests": "true", + "generator_args": [ + [ + "--target-dtype", + "int32", + "--tensor-dim-range", + "1,10", + "--target-rank", + "6" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "table": { "group": "ew_binary", - "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,65536,1", - "--target-shape", - "1,65537,1,1,3" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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,65536,1", + "--target-shape", + "1,65537,1,1,3" + ] + ] + }, + "8k_level": { + "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" + ] + } + } }, "tile": { "group": "data_layout", - "generator_args": [ - [ - "--target-dtype", - "int16", - "--target-dtype", - "int32", - "--tensor-dim-range", - "4,32" - ], - [ - "--target-dtype", - "bool", - "--tensor-dim-range", - "1,16" - ], - [ - "--target-dtype", - "int8", - "--target-shape", - "65533", - "--target-shape", - "1,2,65540,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "int16", + "--target-dtype", + "int32", + "--tensor-dim-range", + "4,32" + ], + [ + "--target-dtype", + "bool", + "--tensor-dim-range", + "1,16" + ], + [ + "--target-dtype", + "int8", + "--target-shape", + "65533", + "--target-shape", + "1,2,65540,1" + ] + ] + }, + "8k_level": { + "no_negative_tests": "true", + "generator_args": [ + [ + "--target-dtype", + "int16", + "--target-dtype", + "int32", + "--target-dtype", + "bool", + "--tensor-dim-range", + "1,10", + "--target-rank", + "5", + "--target-rank", + "6" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "transpose": { "group": "data_layout", - "generator_args": [ - [ - "--filter", - "^transpose$", - "--target-dtype", - "int8", - "--target-rank", - "1", - "--target-rank", - "2", - "--num-rand-permutations", - "2" - ], - [ - "--filter", - "^transpose$", - "--target-dtype", - "int8", - "--target-dtype", - "int16", - "--target-dtype", - "int32", - "--target-dtype", - "bool", - "--target-rank", - "3", - "--target-rank", - "4", - "--num-rand-permutations", - "2" - ], - [ - "--filter", - "^transpose$", - "--target-dtype", - "int8", - "--target-shape", - "1,65537,1,2", - "--target-shape", - "65535,1,1,1", - "--num-rand-permutations", - "1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type", - "perm" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--filter", + "^transpose$", + "--target-dtype", + "int8", + "--target-rank", + "1", + "--target-rank", + "2", + "--num-rand-permutations", + "2" + ], + [ + "--filter", + "^transpose$", + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--target-dtype", + "int32", + "--target-dtype", + "bool", + "--target-rank", + "3", + "--target-rank", + "4", + "--num-rand-permutations", + "2" + ], + [ + "--filter", + "^transpose$", + "--target-dtype", + "int8", + "--target-shape", + "1,65537,1,2", + "--target-shape", + "65535,1,1,1", + "--num-rand-permutations", + "1" + ] + ] + }, + "8k_level": { + "no_negative_tests": "true", + "generator_args": [ + [ + "--filter", + "^transpose$", + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--target-dtype", + "int32", + "--target-dtype", + "bool", + "--tensor-dim-range", + "1,10", + "--target-rank", + "5", + "--target-rank", + "6", + "--num-rand-permutations", + "2" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type", + "perm" + ] + } + } }, "transpose_conv2d": { "group": "tensor", - "generator_args": [ - [ - "--target-dtype", - "int8", - "--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" - ], - [ - "--target-dtype", - "int8", - "--target-shape", - "1,65536,1,1", - "--tensor-dim-range", - "1,12", - "--max-conv-dilation", - "1" - ] - ], - "params": { - "shape": [], - "type": [ - "i8xi8", - "i16xi8", - "i8xi4" - ], - "kernel": [], - "stride": [], - "pad": [], - "out_shape": [] - }, - "permutes": [ - "shape", - "type", - "stride", - "pad" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "int8", + "--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" + ], + [ + "--target-dtype", + "int8", + "--target-shape", + "1,65536,1,1", + "--tensor-dim-range", + "1,12", + "--max-conv-dilation", + "1" + ] + ] + } + }, + "selection": { + "default": { + "params": { + "shape": [], + "type": [ + "i8xi8", + "i16xi8", + "i8xi4" + ], + "kernel": [], + "stride": [], + "pad": [], + "out_shape": [] + }, + "permutes": [ + "shape", + "type", + "stride", + "pad" + ] + } + } }, "while_loop": { "group": "control_flow", - "generator_args": [ - [ - "--target-dtype", - "int32" - ], - [ - "--target-dtype", - "int32", - "--target-shape", - "3,22,17,1,2", - "--target-shape", - "1,65537,2,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "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_main_profile_ops_info.json b/verif/conformance/tosa_main_profile_ops_info.json index 1a9306f..5df89d6 100644 --- a/verif/conformance/tosa_main_profile_ops_info.json +++ b/verif/conformance/tosa_main_profile_ops_info.json @@ -1,2536 +1,2929 @@ - { "abs": { "group": "ew_unary", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "16,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,16", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,65531,2,1", - "--target-shape", - "65538,1,1,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "16,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,16", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,65531,2,1", + "--target-shape", + "65538,1,1,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "add": { "group": "ew_binary", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "16,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,16", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--target-dtype", - "fp16", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "2,1,1,65532", - "--target-shape", - "65542,2,1,1,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "16,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,16", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--target-dtype", + "fp16", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "2,1,1,65532", + "--target-shape", + "65542,2,1,1,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "argmax": { "group": "tensor", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "32,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3", - "--num-rand-permutations", - "2" - ], - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,32", - "--target-rank", - "4", - "--num-rand-permutations", - "2" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,3,65535,1", - "--target-shape", - "1,65537,1,2", - "--num-rand-permutations", - "2" - ] - ], - "params": { - }, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "32,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3", + "--num-rand-permutations", + "2" + ], + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,32", + "--target-rank", + "4", + "--num-rand-permutations", + "2" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,3,65535,1", + "--target-shape", + "1,65537,1,2", + "--num-rand-permutations", + "2" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "avg_pool2d": { "group": "tensor", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,11,7,39", - "--target-shape", - "1,21,36,7", - "--allow-pooling-and-conv-oversizes" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,2,65533,2", - "--target-shape", - "1,65539,2,1", - "--allow-pooling-and-conv-oversizes" - ] - ], - "params": { - }, - "permutes": [ - "shape", - "type" - ], - "sparsity": { - "pad": 17 - }, "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,11,7,39", + "--target-shape", + "1,21,36,7", + "--allow-pooling-and-conv-oversizes" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,2,65533,2", + "--target-shape", + "1,65539,2,1", + "--allow-pooling-and-conv-oversizes" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ], + "sparsity": { + "pad": 17 + } + } + } }, "cast": { "group": "type_conversion", - "generator_negative_dim_range": "1,10", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--target-dtype", - "int8", - "--target-dtype", - "int16", - "--target-dtype", - "int32", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "16,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--target-dtype", - "int8", - "--target-dtype", - "int16", - "--target-dtype", - "int32", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,16", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--target-dtype", - "fp16", - "--target-shape", - "1,1,1,65533,1", - "--target-shape", - "2,65538,1,1" - ] - ], - "params": { - "shape": [], - "type": [], - "output_type": [] - }, - "permutes": [ - "shape", - "type", - "output_type" - ], - "exclude_patterns": [ - "^((?!ERRORIF).)*_(i8|i16|i32|b)_out(i8|i16|i32|b)" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "negative_dim_range": "1,10", + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--target-dtype", + "int32", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "16,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--target-dtype", + "int8", + "--target-dtype", + "int16", + "--target-dtype", + "int32", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,16", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--target-dtype", + "fp16", + "--target-shape", + "1,1,1,65533,1", + "--target-shape", + "2,65538,1,1" + ] + ] + } + }, + "selection": { + "default": { + "params": { + "shape": [], + "type": [], + "output_type": [] + }, + "permutes": [ + "shape", + "type", + "output_type" + ], + "exclude_patterns": [ + "^((?!ERRORIF).)*_(i8|i16|i32|b)_out(i8|i16|i32|b)" + ] + } + } }, "ceil": { "group": "ew_unary", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "4,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,16", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--target-dtype", - "fp16", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "2,1,65530,1", - "--target-shape", - "1,1,65539,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "4,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,16", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--target-dtype", + "fp16", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "2,1,65530,1", + "--target-shape", + "1,1,65539,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "clamp": { "group": "activation", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "20,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,20", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,2,1,65536", - "--target-shape", - "1,3,65537,1,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "20,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,20", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,2,1,65536", + "--target-shape", + "1,3,65537,1,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "concat": { "group": "data_layout", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--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", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,16", - "--target-rank", - "4", - "--target-rank", - "5", - "--num-const-inputs-concat", - "1" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,1,65534,1,1", - "--target-shape", - "1,65537,1,2", - "--num-const-inputs-concat", - "2" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--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", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,16", + "--target-rank", + "4", + "--target-rank", + "5", + "--num-const-inputs-concat", + "1" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,1,65534,1,1", + "--target-shape", + "1,65537,1,2", + "--num-const-inputs-concat", + "2" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "const": { "group": "data_nodes", - "no_negative_tests": "true", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,16", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,65540,1,1,1", - "--target-shape", - "1,2,1,65529" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "no_negative_tests": "true", + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,16", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,65540,1,1,1", + "--target-shape", + "1,2,1,65529" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "conv2d": { "group": "tensor", - "generator_negative_dim_range": "1,10", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--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", - "-2.0,2.0", - "--target-shape", - "1,65537,1,3", - "--target-shape", - "1,2,65531,2", - "--tensor-dim-range", - "1,16", - "--max-conv-dilation", - "1", - "--allow-pooling-and-conv-oversizes" - ] - ], - "params": { - "shape": [], - "type": [], - "kernel": [], - "stride": [], - "pad": [], - "dilation": [] - }, - "permutes": [ - "kernel", - "shape", - "type", - "pad" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "negative_dim_range": "1,10", + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--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", + "-2.0,2.0", + "--target-shape", + "1,65537,1,3", + "--target-shape", + "1,2,65531,2", + "--tensor-dim-range", + "1,16", + "--max-conv-dilation", + "1", + "--allow-pooling-and-conv-oversizes" + ] + ] + } + }, + "selection": { + "default": { + "params": { + "shape": [], + "type": [], + "kernel": [], + "stride": [], + "pad": [], + "dilation": [] + }, + "permutes": [ + "kernel", + "shape", + "type", + "pad" + ] + } + } }, "conv3d": { "group": "tensor", - "generator_negative_dim_range": "1,10", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--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", - "-2.0,2.0", - "--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" - ] - ], - "params": { - "shape": [], - "type": [], - "kernel": [], - "stride": [], - "pad": [], - "dilation": [] - }, - "permutes": [ - "kernel", - "shape", - "type", - "pad", - "stride" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "negative_dim_range": "1,10", + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--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", + "-2.0,2.0", + "--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" + ] + ] + } + }, + "selection": { + "default": { + "params": { + "shape": [], + "type": [], + "kernel": [], + "stride": [], + "pad": [], + "dilation": [] + }, + "permutes": [ + "kernel", + "shape", + "type", + "pad", + "stride" + ] + } + } }, "depthwise_conv2d": { "group": "tensor", - "generator_negative_dim_range": "1,10", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,17,31,4", - "--target-shape", - "1,37,11,5", - "--tensor-dim-range", - "1,16", - "--allow-pooling-and-conv-oversizes" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--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" - ] - ], - "params": { - "shape": [], - "type": [ - "f16xf16", - "bf16xbf16", - "f32xf32" - ], - "kernel": [], - "stride": [], - "pad": [], - "dilation": [] - }, - "permutes": [ - "kernel", - "shape", - "type", - "pad" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "negative_dim_range": "1,10", + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,17,31,4", + "--target-shape", + "1,37,11,5", + "--tensor-dim-range", + "1,16", + "--allow-pooling-and-conv-oversizes" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--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" + ] + ] + } + }, + "selection": { + "default": { + "params": { + "shape": [], + "type": [ + "f16xf16", + "bf16xbf16", + "f32xf32" + ], + "kernel": [], + "stride": [], + "pad": [], + "dilation": [] + }, + "permutes": [ + "kernel", + "shape", + "type", + "pad" + ] + } + } }, "equal": { "group": "comparison", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "18,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,18", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--target-dtype", - "fp16", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,1,2,65550", - "--target-shape", - "1,4,65530,1,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "18,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,18", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--target-dtype", + "fp16", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,1,2,65550", + "--target-shape", + "1,4,65530,1,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "exp": { "group": "ew_unary", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "15,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "fp16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,15", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,1,65535,4", - "--target-shape", - "2,65536,1,1,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "15,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "fp16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,15", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,1,65535,4", + "--target-shape", + "2,65536,1,1,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "fft2d": { "group": "tensor", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,256,64", - "--target-shape", - "1,4,4096" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type", - "inverse" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,256,64", + "--target-shape", + "1,4,4096" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type", + "inverse" + ] + } + } }, "fully_connected": { "group": "tensor", - "generator_negative_dim_range": "1,10", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0" - ], - [ - "--target-dtype", - "fp32", - "--target-shape", - "1,296", - "--target-shape", - "65540,2" - ], - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "3,16", - "--target-shape", - "1,23" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "negative_dim_range": "1,10", + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0" + ], + [ + "--target-dtype", + "fp32", + "--target-shape", + "1,296", + "--target-shape", + "65540,2" + ], + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "3,16", + "--target-shape", + "1,23" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "floor": { "group": "ew_unary", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "4,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,16", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,1,65533,2", - "--target-shape", - "1,65537,1,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "4,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,16", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,1,65533,2", + "--target-shape", + "1,65537,1,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "gather": { "group": "scatter_gather", - "generator_negative_dim_range": "1,10", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "5,72" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "2,65536,1", - "--target-shape", - "1,2,65535", - "--target-shape", - "5000,1,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "negative_dim_range": "1,10", + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "5,72" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "2,65536,1", + "--target-shape", + "1,2,65535", + "--target-shape", + "5000,1,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "greater": { "group": "comparison", - "generator_args": [ - [ - "--filter", - "^greater$", - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "18,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--filter", - "^greater$", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,18", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--filter", - "^greater$", - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "3,65551,1,1", - "--target-shape", - "1,1,3,65531,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--filter", + "^greater$", + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "18,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--filter", + "^greater$", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,18", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--filter", + "^greater$", + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "3,65551,1,1", + "--target-shape", + "1,1,3,65531,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "greater_equal": { "group": "comparison", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "18,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "fp16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,18", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "65552,1,1,4", - "--target-shape", - "1,1,1,3,65532" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "18,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "fp16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,18", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "65552,1,1,4", + "--target-shape", + "1,1,1,3,65532" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "identity": { "group": "data_nodes", - "no_negative_tests": "true", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,67", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,19", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,1,65539,1,1", - "--target-shape", - "1,1,2,65529" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "no_negative_tests": "true", + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,67", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,19", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,1,65539,1,1", + "--target-shape", + "1,1,2,65529" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "log": { "group": "ew_unary", - "generator_args": [ - [ - "--filter", - "^log$", - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "15,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--filter", - "^log$", - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,15", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--filter", - "^log$", - "--target-dtype", - "fp16", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,65530,1,2", - "--target-shape", - "3,1,65540,1,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--filter", + "^log$", + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "15,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--filter", + "^log$", + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,15", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--filter", + "^log$", + "--target-dtype", + "fp16", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,65530,1,2", + "--target-shape", + "3,1,65540,1,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "matmul": { "group": "tensor", - "generator_negative_dim_range": "1,10", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "13,70" - ], - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,19" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "4,65530,1", - "--target-shape", - "1,65538,3" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "negative_dim_range": "1,10", + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "13,70" + ], + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,19" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "4,65530,1", + "--target-shape", + "1,65538,3" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "max_pool2d": { "group": "tensor", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,47,37,25", - "--target-shape", - "1,15,13,38", - "--allow-pooling-and-conv-oversizes" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,65534,4,1", - "--target-shape", - "1,6,65536,1", - "--max-conv-dilation", - "1", - "--allow-pooling-and-conv-oversizes" - ] - ], - "params": { - "shape": [], - "type": [ - "f32", - "f16", - "bf16" - ], - "stride": [], - "pad": [] - }, - "permutes": [ - "shape", - "type", - "pad" - ], - "sparsity": { - "pad": 11 - }, "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,47,37,25", + "--target-shape", + "1,15,13,38", + "--allow-pooling-and-conv-oversizes" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,65534,4,1", + "--target-shape", + "1,6,65536,1", + "--max-conv-dilation", + "1", + "--allow-pooling-and-conv-oversizes" + ] + ] + } + }, + "selection": { + "default": { + "params": { + "shape": [], + "type": [ + "f32", + "f16", + "bf16" + ], + "stride": [], + "pad": [] + }, + "permutes": [ + "shape", + "type", + "pad" + ], + "sparsity": { + "pad": 11 + } + } + } }, "negate": { "group": "ew_unary", - "generator_negative_dim_range": "1,10", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "17,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,22", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,65541,3,1", - "--target-shape", - "1,2,1,65532,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "negative_dim_range": "1,10", + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "17,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,22", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,65541,3,1", + "--target-shape", + "1,2,1,65532,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "pad": { "group": "data_layout", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,65", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "fp16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,17", - "--target-rank", - "4" - ], - [ - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,16", - "--target-rank", - "5" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,1,65539,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" + "profile": [ + "tosa-mi" ], - "sparsity": { - "pad": 21 + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,65", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "fp16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,17", + "--target-rank", + "4" + ], + [ + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,16", + "--target-rank", + "5" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,1,65539,1" + ] + ] + } }, - "preselected": [ - { - "shape": "50", - "type": "bf16", - "pad": "pad11" - }, - { - "shape": "63x46", - "type": "bf16", - "pad": "pad1010" - }, - { - "shape": "6", - "type": "f16", - "pad": "pad01" + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ], + "preselected": [ + { + "shape": "50", + "type": "bf16", + "pad": "pad11" + }, + { + "shape": "63x46", + "type": "bf16", + "pad": "pad1010" + }, + { + "shape": "6", + "type": "f16", + "pad": "pad01" + } + ], + "sparsity": { + "pad": 21 + } } - ], - "profile": [ - "tosa-mi" - ] + } }, "pow": { "group": "ew_binary", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "16,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "fp16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,16", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "65534,3,1,1", - "--target-shape", - "2,65541,1,1,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "16,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "fp16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,16", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "65534,3,1,1", + "--target-shape", + "2,65541,1,1,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "reciprocal": { "group": "ew_unary", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "15,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "fp16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,15", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,1,65536,4", - "--target-shape", - "2,65535,1,1,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "15,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "fp16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,15", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,1,65536,4", + "--target-shape", + "2,65535,1,1,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "reshape": { "group": "data_layout", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--num-rand-permutations", - "2" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,1,65536,1", - "--target-shape", - "1,65535,1,2", - "--num-rand-permutations", - "2" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type", - "rank", - "perm" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--num-rand-permutations", + "2" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,1,65536,1", + "--target-shape", + "1,65535,1,2", + "--num-rand-permutations", + "2" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type", + "rank", + "perm" + ] + } + } }, "reverse": { "group": "data_layout", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,48" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,1,65537", - "--target-shape", - "1,65535,1,2" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,48" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,1,65537", + "--target-shape", + "1,65535,1,2" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "rsqrt": { "group": "ew_unary", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "15,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,15", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,1,3,65541", - "--target-shape", - "65532,1,3,1,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "15,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,15", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,1,3,65541", + "--target-shape", + "65532,1,3,1,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "scatter": { "group": "scatter_gather", - "generator_negative_dim_range": "1,10", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "5,56" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,65541,1", - "--target-shape", - "1,1,65531", - "--target-shape", - "2989,6,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "negative_dim_range": "1,10", + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "5,56" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,65541,1", + "--target-shape", + "1,1,65531", + "--target-shape", + "2989,6,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "tile": { "group": "data_layout", - "generator_negative_dim_range": "1,10", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "4,32" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "65535", - "--target-shape", - "1,65543,2,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "negative_dim_range": "1,10", + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "4,32" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "65535", + "--target-shape", + "1,65543,2,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "transpose": { "group": "data_layout", - "generator_args": [ - [ - "--filter", - "^transpose$", - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--fp-values-range", - "-2.0,2.0", - "--target-rank", - "1", - "--target-rank", - "2", - "--num-rand-permutations", - "2" - ], - [ - "--filter", - "^transpose$", - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--target-rank", - "3", - "--target-rank", - "4", - "--num-rand-permutations", - "2" - ], - [ - "--filter", - "^transpose$", - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,1,65539,2", - "--target-shape", - "1,1,1,65535", - "--num-rand-permutations", - "1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type", - "perm" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--filter", + "^transpose$", + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--fp-values-range", + "-2.0,2.0", + "--target-rank", + "1", + "--target-rank", + "2", + "--num-rand-permutations", + "2" + ], + [ + "--filter", + "^transpose$", + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--target-rank", + "3", + "--target-rank", + "4", + "--num-rand-permutations", + "2" + ], + [ + "--filter", + "^transpose$", + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,1,65539,2", + "--target-shape", + "1,1,1,65535", + "--num-rand-permutations", + "1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type", + "perm" + ] + } + } }, "transpose_conv2d": { "group": "tensor", - "generator_negative_dim_range": "1,10", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "10,24,9,13", - "--target-shape", - "8,14,20,5", - "--tensor-dim-range", - "1,16", - "--allow-pooling-and-conv-oversizes" - ], - [ - "--target-dtype", - "fp16", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,65536,1", - "--tensor-dim-range", - "1,17", - "--max-conv-dilation", - "1" - ] - ], - "params": { - "shape": [], - "type": [], - "kernel": [], - "stride": [], - "pad": [], - "out_shape": [] - }, - "permutes": [ - "shape", - "type", - "stride", - "pad" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "negative_dim_range": "1,10", + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "10,24,9,13", + "--target-shape", + "8,14,20,5", + "--tensor-dim-range", + "1,16", + "--allow-pooling-and-conv-oversizes" + ], + [ + "--target-dtype", + "fp16", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,65536,1", + "--tensor-dim-range", + "1,17", + "--max-conv-dilation", + "1" + ] + ] + } + }, + "selection": { + "default": { + "params": { + "shape": [], + "type": [], + "kernel": [], + "stride": [], + "pad": [], + "out_shape": [] + }, + "permutes": [ + "shape", + "type", + "stride", + "pad" + ] + } + } }, "maximum": { "group": "ew_binary", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "16,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,16", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "65531,1,2,1", - "--target-shape", - "1,1,65541,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "16,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,16", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "65531,1,2,1", + "--target-shape", + "1,1,65541,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "minimum": { "group": "ew_binary", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "16,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,16", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,65531,2,1", - "--target-shape", - "1,1,1,65538" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "16,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,16", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,65531,2,1", + "--target-shape", + "1,1,1,65538" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "mul": { "group": "ew_binary", - "generator_negative_dim_range": "1,10", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "16,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "fp16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,16", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,1,3,65534", - "--target-shape", - "1,2,1,65541,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "negative_dim_range": "1,10", + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "16,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "fp16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,16", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,1,3,65534", + "--target-shape", + "1,2,1,65541,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "reduce_max": { "group": "reduction", - "generator_negative_dim_range": "1,10", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,32" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,1,1,65531", - "--target-shape", - "1,1,65539,2" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type", - "axis" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "negative_dim_range": "1,10", + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,32" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,1,1,65531", + "--target-shape", + "1,1,65539,2" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type", + "axis" + ] + } + } }, "reduce_min": { "group": "reduction", - "generator_negative_dim_range": "1,10", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,32" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,1,65531,1", - "--target-shape", - "1,65539,2,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type", - "axis" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "negative_dim_range": "1,10", + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,32" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,1,65531,1", + "--target-shape", + "1,65539,2,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type", + "axis" + ] + } + } }, "reduce_product": { "group": "reduction", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,34" - ], - [ - "--target-dtype", - "fp16", - "--target-shape", - "2,65527,3,1", - "--target-shape", - "1,3,2,65541" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type", - "axis" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,34" + ], + [ + "--target-dtype", + "fp16", + "--target-shape", + "2,65527,3,1", + "--target-shape", + "1,3,2,65541" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type", + "axis" + ] + } + } }, "reduce_sum": { "group": "reduction", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,37" - ], - [ - "--target-dtype", - "bf16", - "--target-shape", - "1,3,65529,1", - "--target-shape", - "1,65537,1,1" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type", - "axis" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,37" + ], + [ + "--target-dtype", + "bf16", + "--target-shape", + "1,3,65529,1", + "--target-shape", + "1,65537,1,1" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type", + "axis" + ] + } + } }, "resize": { "group": "image", - "generator_negative_dim_range": "1,10", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,1103,1,2", - "--max-resize-output-dim", - "9100" - ] - ], - "params": { - "offset": [], - "shape": [], - "type": [], - "mode": [], - "output_type": [], - "scale": ["sc2x1x3x1"], - "border": ["bor0x1"] - }, - "permutes": [ - "shape", - "type" - ], - "exclude_patterns": [ - ".*_ERRORIF_MaxDimExceeded_1x16584x5x1_.*" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "negative_dim_range": "1,10", + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,1103,1,2", + "--max-resize-output-dim", + "9100" + ] + ] + } + }, + "selection": { + "default": { + "params": { + "offset": [], + "shape": [], + "type": [], + "mode": [], + "output_type": [], + "scale": [ + "sc2x1x3x1" + ], + "border": [ + "bor0x1" + ] + }, + "permutes": [ + "shape", + "type" + ], + "exclude_patterns": [ + ".*_ERRORIF_MaxDimExceeded_1x16584x5x1_.*" + ] + } + } }, "rfft2d": { "group": "tensor", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,16,512", - "--target-shape", - "1,8192,2" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,16,512", + "--target-shape", + "1,8192,2" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "select": { "group": "ew_ternary", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "16,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,16", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,2,65534,2,1", - "--target-shape", - "1,1,65539,2", - "--num-rand-permutations", - "2" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "16,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,16", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,2,65534,2,1", + "--target-shape", + "1,1,65539,2", + "--num-rand-permutations", + "2" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "sigmoid": { "group": "activation", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "16,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,19", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,2,65538,2,1", - "--target-shape", - "1,3,1,65533" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "16,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,19", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,2,65538,2,1", + "--target-shape", + "1,3,1,65533" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "sub": { "group": "ew_binary", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "16,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,16", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,1,65533,3", - "--target-shape", - "1,1,2,1,65545" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "16,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,16", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,1,65533,3", + "--target-shape", + "1,1,2,1,65545" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } }, "slice": { "group": "data_layout", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "16,64", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3", - "--num-rand-permutations", - "2" - ], - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--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" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type", - "perm" - ], "profile": [ "tosa-bi", "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "16,64", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3", + "--num-rand-permutations", + "2" + ], + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--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" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type", + "perm" + ] + } + } }, "tanh": { "group": "activation", - "generator_args": [ - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "18,60", - "--target-rank", - "1", - "--target-rank", - "2", - "--target-rank", - "3" - ], - [ - "--target-dtype", - "fp32", - "--target-dtype", - "fp16", - "--target-dtype", - "bf16", - "--fp-values-range", - "-2.0,2.0", - "--tensor-dim-range", - "1,24", - "--target-rank", - "4", - "--target-rank", - "5" - ], - [ - "--target-dtype", - "fp32", - "--fp-values-range", - "-2.0,2.0", - "--target-shape", - "1,65535,2,1,1", - "--target-shape", - "1,65540,1,2" - ] - ], - "params": {}, - "permutes": [ - "shape", - "type" - ], "profile": [ "tosa-mi" - ] + ], + "generation": { + "standard": { + "generator_args": [ + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "18,60", + "--target-rank", + "1", + "--target-rank", + "2", + "--target-rank", + "3" + ], + [ + "--target-dtype", + "fp32", + "--target-dtype", + "fp16", + "--target-dtype", + "bf16", + "--fp-values-range", + "-2.0,2.0", + "--tensor-dim-range", + "1,24", + "--target-rank", + "4", + "--target-rank", + "5" + ], + [ + "--target-dtype", + "fp32", + "--fp-values-range", + "-2.0,2.0", + "--target-shape", + "1,65535,2,1,1", + "--target-shape", + "1,65540,1,2" + ] + ] + } + }, + "selection": { + "default": { + "params": {}, + "permutes": [ + "shape", + "type" + ] + } + } } } \ No newline at end of file diff --git a/verif/conformance/tosa_verif_conformance_generator.py b/verif/conformance/tosa_verif_conformance_generator.py index 4971fb0..2d9dad3 100644 --- a/verif/conformance/tosa_verif_conformance_generator.py +++ b/verif/conformance/tosa_verif_conformance_generator.py @@ -11,6 +11,7 @@ Steps: - Tests are converted into JSON format and saved to desired output directory. """ import argparse +import copy import json import logging import multiprocessing as mp @@ -47,6 +48,10 @@ LOCATION_REF_MODEL_BINARY = Path("build/reference_model/tosa_reference_model") DEFAULT_SEED = 42 +# When there is a dictionary of generator argument lists (groups) only the +# standard group will have negative tests generated for it +STANDARD_GENERATOR_GROUP = "standard" + class GenConformanceError(Exception): """Generation error reporting exception.""" @@ -78,17 +83,17 @@ def _run_sh_command(args, cwd, full_cmd): return (rc.stdout, rc.stderr) -def build_op_tests(args, profile, operator, test_params): +def build_op_tests( + args, test_type, profile, operator, group, gen_args_list, gen_neg_dim_range +): """Build tests for a given operator. - Builds a set of tests based on the parameters defined in test_params + Builds a set of tests based on the given generator arguments list Returns operator output directory """ - assert operator in test_params - build_tests_cmd = "tosa_verif_build_tests" - op_build_dir = args.build_dir / profile + op_build_dir = args.build_dir / profile / group build_cmd_base = [ build_tests_cmd, @@ -102,19 +107,19 @@ def build_op_tests(args, profile, operator, test_params): build_cmds_list = [] - if args.test_type in ["positive", "both"]: + if test_type in ["positive", "both"]: # Append extra parameters and run test generator for each set of parameters. - for arglist in test_params[operator]["generator_args"]: + for arglist in gen_args_list: build_cmd_pos_test = build_cmd_base.copy() build_cmd_pos_test.extend(["--test-type", "positive"]) build_cmd_pos_test.extend(arglist) build_cmds_list.append(build_cmd_pos_test) - if args.test_type in ["negative", "both"]: + if test_type in ["negative", "both"]: # Get target-dtypes options and any filter string to limit tests target_dtypes_args = [] filter_str = None - for arglist in test_params[operator]["generator_args"]: + for arglist in gen_args_list: idx = 0 while idx < len(arglist): if arglist[idx] == "--target-dtype": @@ -130,11 +135,8 @@ def build_op_tests(args, profile, operator, test_params): build_cmd_neg_test.extend(["--filter", filter_str]) build_cmd_neg_test.extend(["--test-type", "negative"]) # Limit sizes of negative tests - dim_range = ( - test_params[operator]["generator_negative_dim_range"] - if "generator_negative_dim_range" in test_params[operator] - else "1,16" - ) + dim_range = gen_neg_dim_range if gen_neg_dim_range is not None else "1,16" + build_cmd_neg_test.extend(["--tensor-dim-range", dim_range]) build_cmd_neg_test.extend(target_dtypes_args) build_cmds_list.append(build_cmd_neg_test) @@ -255,6 +257,7 @@ def convert_tests( tests=None, group=None, trim_op_subdir=False, + tags=None, ): """Convert tests to JSON and save to output directory.""" ref_model_dir = args.ref_model_dir @@ -267,6 +270,9 @@ def convert_tests( # even if we are only producing tests for tosa_mi for op_profile in op_profiles_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)]) c2c_args_base.append("--output-directory") @@ -290,8 +296,10 @@ def convert_tests( c2c_args_list.append(c2c_args) if len(c2c_args_list) == 0: - logger.warning("No tests found. Nothing to convert") - return + logger.error( + f"No tests found for {operator}. Nothing to convert in {op_build_dir}" + ) + raise (GenConformanceError()) job_pool = mp.Pool(args.num_cores) @@ -324,17 +332,21 @@ def convert_tests( def get_op_tests_selection( - args, profile, operator, op_build_dir, test_params, negative=False + args, + profile, + operator, + op_build_dir, + selection_config, + negative=False, + ignore_missing=False, ): """Use test picker to get subsection of tests generated.""" - assert operator in test_params + # 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"))) try: - op_params = test_params[operator] op = Operator.registry[operator]( - op_build_dir, - op_params, - negative, + op_build_dir, config, negative=negative, ignore_missing=ignore_missing ) except KeyError: logger.error(f"{operator} operator is not supported by test_select") @@ -692,14 +704,6 @@ def main(): ) continue - if ( - args.test_type == "negative" - and "no_negative_tests" in test_params[op] - and test_params[op]["no_negative_tests"] - ): - logger.warning(f"No negative tests for {op}") - continue - op_profiles_list = test_params[op]["profile"] if ( args.profile != PROFILES_ALL @@ -709,52 +713,117 @@ def main(): logger.debug(f"Skipping {op} as not part of {args.profile}") continue - op_build_dir = build_op_tests(args, profile, op, test_params) - operator_group = test_params[op]["group"] root_output_dir = args.output_dir / "operators" - if args.convert_all_tests: - logger.debug(f"Running and converting all {op} tests") - generate_results(args, profile, op, op_build_dir) - operator_test_list = None - else: - logger.debug(f"Running and converting selection of {op} tests") - if args.test_type in ["positive", "both"]: - tests_gen, tests_gen2 = tee( - get_op_tests_selection( - args, profile, op, op_build_dir, test_params + + # Iterate through the generation groups selecting tests from each + for gen_name, gen_dict in test_params[op]["generation"].items(): + no_neg_tests = ( + "no_negative_tests" in gen_dict + and gen_dict["no_negative_tests"] == "true" + ) + + if no_neg_tests: + if args.test_type == "negative": + logger.info( + f"No negative tests for {op} / generation group {gen_name}" ) - ) - generate_results(args, profile, op, op_build_dir, tests_gen) - operator_test_list = list(tests_gen2) + continue + # Only produce positive tests + test_type = "positive" else: - operator_test_list = [] - if args.test_type in ["negative", "both"] and ( - "no_negative_tests" not in test_params[op] - or not test_params[op]["no_negative_tests"] - ): - operator_test_list.extend( - get_op_tests_selection( - args, - profile, - op, - op_build_dir, - test_params, - negative=True, - ) + test_type = args.test_type + + gen_neg_dim_range = ( + gen_dict["negative_dim_range"] + if "negative_dim_range" in gen_dict + else None + ) + + ignore_missing = gen_name != STANDARD_GENERATOR_GROUP + tags = ( + [gen_name] if gen_name != STANDARD_GENERATOR_GROUP else None + ) + + op_build_dir = build_op_tests( + args, + test_type, + profile, + op, + gen_name, + gen_dict["generator_args"], + gen_neg_dim_range, + ) + + if args.convert_all_tests: + logger.debug(f"Running and converting all {op} tests") + generate_results(args, profile, op, op_build_dir) + operator_test_list = None + else: + logger.debug( + f"Running and converting selection of {op} tests" ) - output_dir = convert_tests( - args, - profile, - op, - op_build_dir, - root_output_dir, - op_profiles_list, - tests=operator_test_list, - group=operator_group, - ) - if not args.keep_large_files: - check_op_tests(args, profile, op, output_dir) + # Work out which selection criteria we are using + if "selector" in gen_dict: + selector_name = gen_dict["selector"] + if selector_name not in test_params[op]["selection"]: + logger.warn( + f"Could not find {selector_name} in selection dict for {op} - using default" + ) + 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()) + + # Selection criteria + selection_config = test_params[op]["selection"][ + selector_name + ] + if test_type in ["positive", "both"]: + tests_gen, tests_gen2 = tee( + get_op_tests_selection( + args, + profile, + op, + op_build_dir, + selection_config, + ignore_missing=ignore_missing, + ) + ) + generate_results( + args, profile, op, op_build_dir, tests_gen + ) + operator_test_list = list(tests_gen2) + else: + operator_test_list = [] + if test_type in ["negative", "both"]: + operator_test_list.extend( + get_op_tests_selection( + args, + profile, + op, + op_build_dir, + selection_config, + negative=True, + ) + ) + output_dir = convert_tests( + args, + profile, + op, + op_build_dir, + root_output_dir, + op_profiles_list, + tests=operator_test_list, + group=operator_group, + tags=tags, + ) + if not args.keep_large_files: + check_op_tests(args, profile, op, output_dir) except GenConformanceError: return 1 diff --git a/verif/generator/tosa_arg_gen.py b/verif/generator/tosa_arg_gen.py index 9209d9c..e2a69f1 100644 --- a/verif/generator/tosa_arg_gen.py +++ b/verif/generator/tosa_arg_gen.py @@ -1042,6 +1042,18 @@ class TosaArgGen: return axes + @staticmethod + def _calculate_sparsity(num_tests, sparsity_factor): + sparsity = num_tests // sparsity_factor + 1 + # If there are only a small number of tests, just select them all + if sparsity < 13: + sparsity = 1 + # To get a variety of parameter combinations sparsity should not be a + # multiple of 2, 3 or 5 + while sparsity % 2 == 0 or sparsity % 3 == 0 or sparsity % 5 == 0: + sparsity += 1 + return sparsity + @staticmethod def agConv(testGen, opName, shapeList, dtypes, error_name=None): arg_list = [] @@ -1101,14 +1113,9 @@ class TosaArgGen: # There are too many parameter combinations, so generate them sparsely, # very sparse for negative tests sparsity_factor = 2 if error_name else 120 - sparsity = len(paddings) * len(strides) * len(dilations) // sparsity_factor + 1 - # If there are only a small number of tests, just select them all - if sparsity < 13: - sparsity = 1 - # To get a variety of parameter combinations sparsity should not be a - # multiple of 2, 3 or 5 - while sparsity % 2 == 0 or sparsity % 3 == 0 or sparsity % 5 == 0: - sparsity += 1 + sparsity = TosaArgGen._calculate_sparsity( + len(paddings) * len(strides) * len(dilations), sparsity_factor + ) n = 0 for s in sorted(list(strides)): @@ -1311,7 +1318,17 @@ class TosaArgGen: else: return [] - for paddings in shape_pad_values: + list_shape_pad_values = list(shape_pad_values) + # If we are producing tests for rank 6 or greater use sparsity + if len(list_shape_pad_values) > 1024: + sparsity_factor = 2 if error_name else 120 + sparsity = TosaArgGen._calculate_sparsity( + len(list_shape_pad_values), sparsity_factor + ) + else: + sparsity = 1 + + for n, paddings in enumerate(list_shape_pad_values): paddings = list(paddings) args_valid = True @@ -1325,8 +1342,7 @@ class TosaArgGen: paddings[i] = (0, 0) if all([p > -1 for p in paddings[i]]): args_valid = False - - if args_valid: + if args_valid and n % sparsity == 0: name = "pad" for r in range(rank): before, after = paddings[r] @@ -1670,7 +1686,8 @@ class TosaArgGen: factors = TosaArgGen.getFactors(totalElements) for p in range(testGen.args.num_rand_permutations): - newRank = testGen.randInt(1, 7) + # Rank from 1 to TOSA_TENSOR_MAX_RANK + newRank = testGen.randInt(1, (testGen.TOSA_TENSOR_MAX_RANK + 1)) if len(factors) < newRank: continue diff --git a/verif/generator/tosa_test_gen.py b/verif/generator/tosa_test_gen.py index 779f59e..c816c6b 100644 --- a/verif/generator/tosa_test_gen.py +++ b/verif/generator/tosa_test_gen.py @@ -25,6 +25,7 @@ from tosa.Op import Op class TosaTestGen: # Maximum rank of tensor supported by test generator. + # This currently matches the 8K level defined in the specification. TOSA_TENSOR_MAX_RANK = 6 def __init__(self, args): @@ -3647,7 +3648,6 @@ class TosaTestGen: "pad": { "op": Op.PAD, "operands": (1, 0), - "rank": (1, 5), "build_fcn": ( build_pad, TosaTensorGen.tgBasic, -- cgit v1.2.1