From 9f5febe05901bfbd3919ef17f2caea8087cd9ccf Mon Sep 17 00:00:00 2001 From: Jeremy Johnson Date: Mon, 15 Jan 2024 15:12:17 +0000 Subject: Main Compliance testing for TILE Signed-off-by: Jeremy Johnson Change-Id: I7f7449c652844097fec6226bcc32ca765b40bc04 --- reference_model/src/generate/generate_utils.cc | 1 + verif/conformance/tosa_main_profile_ops_info.json | 5 ++-- verif/generator/tosa_arg_gen.py | 11 +++++++- verif/generator/tosa_test_gen.py | 32 +++++++++++++++++------ 4 files changed, 38 insertions(+), 11 deletions(-) diff --git a/reference_model/src/generate/generate_utils.cc b/reference_model/src/generate/generate_utils.cc index e942a5c..c16d1c6 100644 --- a/reference_model/src/generate/generate_utils.cc +++ b/reference_model/src/generate/generate_utils.cc @@ -77,6 +77,7 @@ NLOHMANN_JSON_SERIALIZE_ENUM(Op, { Op::Op_SIGMOID, "SIGMOID" }, { Op::Op_SUB, "SUB" }, { Op::Op_TANH, "TANH" }, + { Op::Op_TILE, "TILE" }, }) } // namespace tosa diff --git a/verif/conformance/tosa_main_profile_ops_info.json b/verif/conformance/tosa_main_profile_ops_info.json index 79e1c92..ef721ca 100644 --- a/verif/conformance/tosa_main_profile_ops_info.json +++ b/verif/conformance/tosa_main_profile_ops_info.json @@ -2058,6 +2058,7 @@ "profile": [ "tosa-mi" ], + "support_for": [ "lazy_data_gen" ], "generation": { "standard": { "negative_dim_range": "1,10", @@ -2070,7 +2071,7 @@ "--target-dtype", "bf16", "--fp-values-range", - "-2.0,2.0", + "-max,max", "--tensor-dim-range", "4,32" ], @@ -2078,7 +2079,7 @@ "--target-dtype", "fp32", "--fp-values-range", - "-2.0,2.0", + "-max,max", "--target-shape", "65535", "--target-shape", diff --git a/verif/generator/tosa_arg_gen.py b/verif/generator/tosa_arg_gen.py index e6d7df8..00490fa 100644 --- a/verif/generator/tosa_arg_gen.py +++ b/verif/generator/tosa_arg_gen.py @@ -2851,8 +2851,17 @@ class TosaArgGen: multiples.append(2) else: multiples.append(testGen.randInt(1, 4)) - arg_list.append(("perm{}".format(p), [multiples])) + arg_list.append(("perm{}".format(p), {"multiples": multiples})) + # Now add data generator types + arg_list = TosaArgGen._add_data_generators( + testGen, + opName, + dtype, + arg_list, + error_name, + ) + # Return list of tuples: (arg_str, args_dict) return arg_list @staticmethod diff --git a/verif/generator/tosa_test_gen.py b/verif/generator/tosa_test_gen.py index d4dbef4..b1c53f5 100644 --- a/verif/generator/tosa_test_gen.py +++ b/verif/generator/tosa_test_gen.py @@ -1714,12 +1714,20 @@ class TosaTestGen: self.ser.addOperator(op["op"], input_list, output_list, attr) return result_tens - def build_tile(self, op, a, multiples, validator_fcns=None, error_name=None): - result_tens = OutputShaper.tileOp(self.ser, self.rng, a, multiples, error_name) + def build_tile( + self, op, inputs, args_dict, validator_fcns=None, error_name=None, qinfo=None + ): + assert len(inputs) == 1 + a = inputs[0] + multiples = args_dict["multiples"] + + result_tensor = OutputShaper.tileOp( + self.ser, self.rng, a, multiples, error_name + ) # Invalidate Input/Output list for error if checks. input_list = [a.name] - output_list = [result_tens.name] + output_list = [result_tensor.name] pCount, cCount = op["operands"] num_operands = pCount + cCount input_list, output_list = TosaErrorIfArgGen.eiInvalidateInputOutputList( @@ -1732,10 +1740,10 @@ class TosaTestGen: error_name, op=op, input_shape=a.shape, - output_shape=result_tens.shape, + output_shape=result_tensor.shape, input_dtype=a.dtype, - output_dtype=result_tens.dtype, - result_tensors=[result_tens], + output_dtype=result_tensor.dtype, + result_tensors=[result_tensor], input_list=input_list, output_list=output_list, num_operands=num_operands, @@ -1747,7 +1755,12 @@ class TosaTestGen: attr.TileAttribute(multiples) self.ser.addOperator(op["op"], input_list, output_list, attr) - return result_tens + + compliance = self.tensorComplianceMetaData( + op, a.dtype, args_dict, result_tensor, error_name + ) + + return TosaTestGen.BuildInfo(result_tensor, compliance) def build_gather( self, op, inputs, args_dict, validator_fcns=None, error_name=None, qinfo=None @@ -4269,7 +4282,7 @@ class TosaTestGen: "build_fcn": ( build_tile, TosaTensorGen.tgBasic, - TosaTensorValuesGen.tvgDefault, + TosaTensorValuesGen.tvgLazyGenDefault, TosaArgGen.agTile, ), "types": TYPE_FIB, @@ -4281,6 +4294,9 @@ class TosaTestGen: TosaErrorValidator.evRankMismatch, TosaErrorValidator.evWrongRank, ), + "data_gen": { + "fp": (gtu.DataGenType.PSEUDO_RANDOM,), + }, }, "transpose": { "op": Op.TRANSPOSE, -- cgit v1.2.1