diff options
author | evacha01 <evan.chandler@arm.com> | 2024-01-24 12:08:09 +0000 |
---|---|---|
committer | evacha01 <evan.chandler@arm.com> | 2024-01-29 15:39:38 +0000 |
commit | 7f7d4255a5cd4e157cd385155d0c5c550648d2c4 (patch) | |
tree | c7f5ea385099984546464ed4133372a01fd1718a /verif | |
parent | 66704d5aac0819ea1755e800806b869d90552ec6 (diff) | |
download | reference_model-7f7d4255a5cd4e157cd385155d0c5c550648d2c4.tar.gz |
Main Compliance testing for SLICE
Signed-off-by: evacha01 <evan.chandler@arm.com>
Change-Id: Ib9d0abe0bd8826ca5ac051a5fe6ba18e1ba727f1
Diffstat (limited to 'verif')
-rw-r--r-- | verif/conformance/tosa_main_profile_ops_info.json | 5 | ||||
-rw-r--r-- | verif/generator/tosa_arg_gen.py | 11 | ||||
-rw-r--r-- | verif/generator/tosa_test_gen.py | 31 |
3 files changed, 36 insertions, 11 deletions
diff --git a/verif/conformance/tosa_main_profile_ops_info.json b/verif/conformance/tosa_main_profile_ops_info.json index ef721ca..ced1d9e 100644 --- a/verif/conformance/tosa_main_profile_ops_info.json +++ b/verif/conformance/tosa_main_profile_ops_info.json @@ -2929,6 +2929,7 @@ "tosa-bi", "tosa-mi" ], + "support_for": [ "lazy_data_gen" ], "generation": { "standard": { "generator_args": [ @@ -2940,7 +2941,7 @@ "--target-dtype", "bf16", "--fp-values-range", - "-2.0,2.0", + "-max,max", "--tensor-dim-range", "16,64", "--target-rank", @@ -2960,7 +2961,7 @@ "--target-dtype", "bf16", "--fp-values-range", - "-2.0,2.0", + "-max,max", "--tensor-dim-range", "1,16", "--target-rank", diff --git a/verif/generator/tosa_arg_gen.py b/verif/generator/tosa_arg_gen.py index f598377..4863956 100644 --- a/verif/generator/tosa_arg_gen.py +++ b/verif/generator/tosa_arg_gen.py @@ -2912,7 +2912,16 @@ class TosaArgGen: start, size = TosaErrorIfArgGen.eiSliceErrorIf( testGen, error_name, ifm_shape, start, size ) - arg_list.append(("perm{}".format(p), [start, size])) + arg_list.append(("perm{}".format(p), {"start": start, "size": size})) + # 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 28cf392..49d9f1b 100644 --- a/verif/generator/tosa_test_gen.py +++ b/verif/generator/tosa_test_gen.py @@ -1684,14 +1684,21 @@ class TosaTestGen: self.ser.addOperator(op["op"], input_list, output_list, attr) return result_tens - def build_slice(self, op, a, start, size, validator_fcns=None, error_name=None): - result_tens = OutputShaper.sliceOp( + def build_slice( + self, op, inputs, args_dict, validator_fcns=None, error_name=None, qinfo=None + ): + assert len(inputs) == 1 + a = inputs[0] + start = args_dict["start"] + size = args_dict["size"] + + result_tensor = OutputShaper.sliceOp( self.ser, self.rng, a, start, size, 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( @@ -1704,12 +1711,12 @@ 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, + output_dtype=result_tensor.dtype, start=start, size=size, - result_tensors=[result_tens], + result_tensors=[result_tensor], input_list=input_list, output_list=output_list, num_operands=num_operands, @@ -1721,7 +1728,12 @@ class TosaTestGen: attr.SliceAttribute(start, size) 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_tile( self, op, inputs, args_dict, validator_fcns=None, error_name=None, qinfo=None @@ -4327,7 +4339,7 @@ class TosaTestGen: "build_fcn": ( build_slice, TosaTensorGen.tgBasic, - TosaTensorValuesGen.tvgDefault, + TosaTensorValuesGen.tvgLazyGenDefault, TosaArgGen.agSlice, ), "types": TYPE_FIB, @@ -4344,6 +4356,9 @@ class TosaTestGen: TosaErrorValidator.evWrongOutputList, TosaErrorValidator.evRankMismatch, ), + "data_gen": { + "fp": (gtu.DataGenType.PSEUDO_RANDOM,), + }, }, "tile": { "op": Op.TILE, |