blob: eb3ccde174847131cef0b949d99e06a1032b7f56 [file] [log] [blame]
Jeremy Johnson77fc6142023-09-04 17:04:21 +01001 {
Jeremy Johnsond80ea5e2024-01-03 10:54:12 +00002 "$comment": "Copyright (c) 2023-2024, ARM Limited.",
Jeremy Johnson77fc6142023-09-04 17:04:21 +01003 "$comment": "SPDX-License-Identifier: Apache-2.0",
4 "$id": "compliance-config.schema.json",
5 "$schema": "https://json-schema.org/draft/2020-12/schema",
6 "title": "compliance-config",
7 "description": "Compliance configuration for verifying TOSA tensor data outputs from a test",
8 "type": "object",
9 "properties": {
10 "version": {
11 "description": "version string X.Y of this config data",
12 "type": "string"
13 },
14 "tensors": {
15 "type": "object",
16 "description": "dictionary of output tensors - keys are the tosa network names",
17 "patternProperties":
18 {
19 "^.*$":
20 {
21 "description": "per named tensor config for compliance checking",
22 "type": "object",
23 "properties": {
24 "mode": {
25 "description": "verifier mode EXACT, DOT_PRODUCT, ULP, REDUCE_PRODUCT, or FP_SPECIAL",
26 "type": "string"
27 },
Jeremy Johnsonbb0935f2023-09-14 16:43:48 +010028 "data_type": {
29 "description": "tensor data type, such as: BOOL, INT16, FP32",
30 "type": "string"
31 },
Jeremy Johnson77fc6142023-09-04 17:04:21 +010032 "ulp_info": {
33 "description": "info required for the ULP mode",
34 "type": "object",
35 "properties":
36 {
37 "ulp": {
Jeremy Johnsona4d907e2023-10-26 13:53:14 +010038 "description": "ulp range limit - positive float",
39 "type": "number",
Jeremy Johnsonbb0935f2023-09-14 16:43:48 +010040 "minimum": 0
Jeremy Johnson77fc6142023-09-04 17:04:21 +010041 }
42 },
43 "required": [ "ulp" ]
44 },
45 "dot_product_info": {
46 "description": "info required for the DOT_PRODUCT mode",
47 "type": "object",
48 "properties":
49 {
50 "s": {
51 "description": "test set 0 to 5 or -1 for other data",
52 "type": "integer"
53 },
54 "ks": {
55 "description": "kernel size for this dot product operation",
56 "type": "integer"
Jeremy Johnson77fc6142023-09-04 17:04:21 +010057 }
58 },
59 "additionalProperties": false,
60 "required": [
61 "s",
Jeremy Johnsonbb0935f2023-09-14 16:43:48 +010062 "ks"
Jeremy Johnson77fc6142023-09-04 17:04:21 +010063 ]
Jeremy Johnsond80ea5e2024-01-03 10:54:12 +000064 },
65 "abs_error_info": {
66 "description": "info required for the ABS_ERROR mode",
67 "type": "object",
68 "properties":
69 {
70 "lower_bound": {
71 "description": "lower bound multiplier for error bounds",
72 "type": "number"
73 }
74 },
75 "additionalProperties": false
Jeremy Johnsonbd801962024-01-03 17:07:44 +000076 },
77 "reduce_product_info": {
78 "description": "info required for the REDUCE_PRODUCT mode",
79 "type": "object",
80 "properties":
81 {
82 "n": {
83 "description": "number of products in the operation",
84 "type": "integer"
85 }
86 },
87 "additionalProperties": false,
88 "required": [
89 "n"
90 ]
Jeremy Johnson32d0b5a2024-02-01 15:54:07 +000091 },
92 "relative_info": {
93 "description": "info required for the RELATIVE mode",
94 "type": "object",
95 "properties":
96 {
97 "max": {
98 "description": "maximum absolute input value",
99 "type": "number",
100 "minimum": 0
101 },
102 "scale": {
103 "description": "relative scaling factor",
104 "type": "number",
105 "minimum": 0
106 }
107 },
108 "additionalProperties": false,
109 "required": [
110 "max",
111 "scale"
112 ]
Jeremy Johnson77fc6142023-09-04 17:04:21 +0100113 }
Jeremy Johnson32d0b5a2024-02-01 15:54:07 +0000114
Jeremy Johnson77fc6142023-09-04 17:04:21 +0100115 },
116 "additionalProperties": false,
117 "required": [
Jeremy Johnsonbb0935f2023-09-14 16:43:48 +0100118 "mode",
119 "data_type"
Jeremy Johnson77fc6142023-09-04 17:04:21 +0100120 ]
121 }
122 }
123 }
124 },
125 "additionalProperties": false,
126 "required": [
127 "version",
128 "tensors"
129 ]
130}