aboutsummaryrefslogtreecommitdiff
path: root/tosa.xsd
diff options
context:
space:
mode:
authorKevin Petit <kevin.petit@arm.com>2023-05-16 09:08:48 +0100
committerKevin Petit <kevin.petit@arm.com>2023-05-24 09:45:01 +0100
commit5333c25baaf4fe136ed45edd6521dc7a2a5de851 (patch)
tree8f132429aabe8a3e6f1ef89414c1dd933164d95b /tosa.xsd
parent277a4f17f13ac882075e109c339cdeda03f8eedd (diff)
downloadspecification-5333c25baaf4fe136ed45edd6521dc7a2a5de851.tar.gz
Formalise the description of operator argument types
- Standardise the terminology for operator arguments. Argument, Operand, and Parameter were used interchangeably. - Introduce a templatized tensor_t<> type for tensor arguments. Scalars are represented by rank-0 tensors. - Types can be checked with the XSD schema. Signed-off-by: Kevin Petit <kevin.petit@arm.com> Change-Id: Ic57b9387950824e994c5e7f9ec1489c29159b974
Diffstat (limited to 'tosa.xsd')
-rw-r--r--tosa.xsd25
1 files changed, 24 insertions, 1 deletions
diff --git a/tosa.xsd b/tosa.xsd
index fe08885..40fd613 100644
--- a/tosa.xsd
+++ b/tosa.xsd
@@ -30,6 +30,7 @@
<xs:simpleType name="datatype">
<xs:restriction base="xs:string">
+ <xs:enumeration value="-"/>
<xs:enumeration value="bool_t"/>
<xs:enumeration value="int4_t"/>
<xs:enumeration value="int8_t"/>
@@ -44,6 +45,13 @@
</xs:restriction>
</xs:simpleType>
+<xs:simpleType name="enumtypename">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="resize_mode_t"/>
+ <xs:enumeration value="acc_size_t"/>
+ </xs:restriction>
+</xs:simpleType>
+
<xs:simpleType name="typename">
<xs:restriction base="xs:string">
<xs:enumeration value="in_t"/>
@@ -53,6 +61,8 @@
<xs:enumeration value="weight_t"/>
<xs:enumeration value="resize_t"/>
<xs:enumeration value="table_t"/>
+ <xs:enumeration value="index_t"/>
+ <xs:enumeration value="mul_t"/>
<xs:enumeration value="TABLE_SIZE"/>
</xs:restriction>
</xs:simpleType>
@@ -66,6 +76,18 @@
</xs:restriction>
</xs:simpleType>
+<xs:simpleType name="argument-type">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="tensor_t"/>
+ <xs:enumeration value="tensor_list_t"/>
+ <xs:enumeration value="tosa_graph_t"/>
+ </xs:restriction>
+</xs:simpleType>
+
+<xs:simpleType name="argument-tensor-element-type">
+ <xs:union memberTypes="datatype typename enumtypename"/>
+</xs:simpleType>
+
<!-- Element definitions -->
<xs:element name="version">
@@ -179,7 +201,8 @@
</xs:sequence>
<xs:attribute name="category" type="argumentcategory" use="required"/>
<xs:attribute name="name" type="xs:string" use="required"/>
- <xs:attribute name="type" type="xs:string" use="required"/>
+ <xs:attribute name="type" type="argument-type" use="required"/>
+ <xs:attribute name="tensor-element-type" type="argument-tensor-element-type" use="required"/>
<xs:attribute name="shape" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>