diff options
author | Kevin Petit <kevin.petit@arm.com> | 2023-05-16 09:08:48 +0100 |
---|---|---|
committer | Kevin Petit <kevin.petit@arm.com> | 2023-05-24 09:45:01 +0100 |
commit | 5333c25baaf4fe136ed45edd6521dc7a2a5de851 (patch) | |
tree | 8f132429aabe8a3e6f1ef89414c1dd933164d95b /tosa.xsd | |
parent | 277a4f17f13ac882075e109c339cdeda03f8eedd (diff) | |
download | specification-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.xsd | 25 |
1 files changed, 24 insertions, 1 deletions
@@ -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> |