aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-03-23Remove draft tag from 0.22 specificationv0.22.0Eric Kunze
Update copyright to include 2021. Change-Id: Iced31530f7f86faa2efa95441bcbacf1c37f126f Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2021-03-18Add integer DIV operatorEric Kunze
Integer divide is not commonly used, but would have been difficult to implement using the existing operators. Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I8fb3919cd7a0f1a1fa95074d921d200d23e2f249
2021-03-16Add 8-bit support to TABLEEric Kunze
It is challenging to work back from the RESCALE->TABLE->RESCALE for a simple 8-bit lookup. This adds support to TOSA for a simple direct 256 entry 8-bit lookup table for the TABLE operator. The 16-bit interpolated table is still required for a conformant implementation. Change-Id: I0ef218444f0b57b880aa8d1c7e96efedae72eb53 Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2021-03-16Note limits on axis parameterEric Kunze
This also adds a restriction on CONCAT to have all inputs be the same rank. Update the ARGMAX pseudocode to handle corner cases properly and use axis/rank consistent with other operators. Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I941ac172ee79424ac04d562cedebb75da76659a5
2021-03-11Make pseudocode block tags consistentEric Kunze
They are all now [source,c++] and use ---- as the delimiter. Also made the pseudocode indentation consistent (4 spaces) in the introduction sections. Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I1287a60cfeae8b7e3c63b9fc8885b1ebf3d3386d
2021-03-11Adjust pseudocode types to account for zero pointEric Kunze
When reading tensor values with zero point, the returned value has one more bit than the original to account for zero point. Update cases of apply_clip to properly represent the types involved. Change-Id: I60c17b1b244c34b4f04f042807936ae0f282ce93
2021-03-08Consistency cleanupEric Kunze
Attempt to get consistent across the pseudocode. Change the data types to all be intN_t instead of some cases of intN. Use float_t as the general floating point data type. Be consistent on use of the term "floating-point" Move general pseudocode helpers to their own section. Change-Id: Ie77666cd3ee438c71f39c62b9c424fe687b0bb51 Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2021-03-03Change CONCAT to allow a list of input tensorsEric Kunze
Originally only a pair of input tensors were allowed. This aligns with what the frameworks do, and simplifies the translation of frameworks into TOSA and allows compilers to view the output as a whole. Change-Id: Id4461abdf0cc763e84e086142222e87d28cd8afc Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2021-02-09Add batch dimension to MatMulDominic Symes
Add batch dimension for consistency with other operators. Change-Id: I9b1734a1a60304f46a14a6cda1bd6be6678f1037 Signed-off-by: Dominic Symes <dominic.symes@arm.com>
2021-02-05Clarify control flow operationsDominic Symes
Add pseudo-code for the control flow operations in terms of TOSA sub-graphs. Signed-off-by: Dominic Symes <dominic.symes@arm.com> Change-Id: I1712e8297a0010a4e68a34df16fcbcf47fc41dd2
2021-01-26Update elementwise operator overviewEric Kunze
Elementwise operators no longer scale their inputs to a common range. The elementwise introductory section reflected the old behavior. Also clear up some language on the unary functions. Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I86bf9da8b51e9a64e4fe6766e01f0c35d43d805a
2021-01-26Update revision to 0.22.0 draftEric Kunze
Change-Id: I5903ccd3edbd5c28bf8282ff39aadd648613f072 Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2021-01-25Remove aint8 typeEric Kunze
The aint8 type represented an asymmetrically quantized range. With the change to move scaling fully into the RESCALE operator, the aint8 and int8 types didn't have significant differences in their use with operators. Unifying to a single data type makes things simpler. Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I3ee89cbdafdc61293ef1f1bec52398d744e716a1
2021-01-13SCATTER: Clarify behaviourDominic Symes
This clarifies that repeated updates to the same output index are not permitted in TOSA SCATTER. Change-Id: Ib188a434d0d4ad4742ee37373491c8a53d501bf0 Signed-off-by: Dominic Symes <dominic.symes@arm.com>
2020-12-16Disambiguate scale_t in RESIZE commandEric Kunze
scale_t is already defined globally for the rescaling. Move pseudocode for count_leading_zeros to introduction, and use it in the implementation of CLZ. Change-Id: I2453bce93b6dd25e870b8a010fc62af4c001cbf9
2020-11-29Fix minor spec issuesEric Kunze
Profile for EXP operator TANH table formatting Remove dilation from TRANSPOSE_CONV2D Change-Id: I2a265fecfb25ad997fdc992ad8542000014ac7c0
2020-11-13Replace proprietary notice with the full TOSA Specification LicenseTom Cooksey
The new license grants the rights needed to create a completely independent implementation of the specification. Signed-off-by: Tom Cooksey <tom.cooksey@arm.com> Change-Id: I1ca2cedf83c3f31df49096ecb6faaae060c3dc91
2020-11-10Update revision to 0.21.0v0.21.0Eric Kunze
Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: Ie2d83c66600cb01f39992c6b0c168fea2917330c
2020-11-10Update introduction sectionsEric Kunze
Bring the overview and goals up to date. Incorporate a section on finding the source to the spec and building it. Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I8c862f8e58b01091d5561296702bcae83a8517e9
2020-11-10Update RESIZE descriptionEric Kunze
Try to make the different modes clearer, especially the integer BILINEAR mode. Change-Id: I6a2ab6ee4ed9e6a76d13bec4498e213a7f20b91f Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2020-11-10SCATTER: Add operationDominic Symes
Add the scatter operation to the gather/scatter section. Signed-off-by: Dominic Symes <dominic.symes@arm.com> Change-Id: I9baaef91bf70eae3b13e6e585df6c4821a0c1a93
2020-11-06GATHER: Add operation codeDominic Symes
Add the operation code for GATHER and reduce number of arguments. Signed-off-by: Dominic Symes <dominic.symes@arm.com> Change-Id: I51b6ede43dcae1e1aec7a11a75a1e4bf6c668673
2020-11-06Operator argument consistency improvement.Eric Kunze
Add values attribute to CONST operator. Remove stale references to input tensor 0 and 1. Remove out_t types where in and out are guaranteed to be the same type. Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I75a8eb4dee67afbee3652d9e937aa0b82318dbd0
2020-11-05Fix output argument type for convolutionsEric Kunze
Was out_t, which wasn't in the data types table. Switch to acc_t, the size of the accumulator, which is the output type for the convolutions. Also added some types into the pseudocode to clarify what types variables are. Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I210220199c2d39b16938094022339286df040545
2020-11-05Clean input argument rank limitationsEric Kunze
Comparison ops, similar to the other elementwise ops, can operate on tensors of any rank. For those operators with rank limitations, make them consistent and remove "dims". Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I33eb00122cec4c6625f080f9ed640f1d874fae87
2020-11-03Add int48 to supported number formatsEric Kunze
Currently only enabled for the accumulator of a convolution and the input to a RESCALE. Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: Ic5474124b4a8735f12ef9c20c2be48e55767a3fc
2020-11-03Change weights to input for training profileEric Kunze
Weights remain as an attribute for inference profile devices. Change-Id: I1cdbbd2ccd95fc1b7afc0f05a1425fb53560b432 Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2020-10-29TABLE: Usage clarificationsDominic Symes
Clarify how the TABLE operator can be used in pratice to generate int8 to int8 and int16 to int16 lookup operations. Change-Id: I97154bb8cea46ab1fe48bf1cda615ff164130645 Signed-off-by: Dominic Symes <dominic.symes@arm.com>
2020-10-28RESIZE: Add float typeDominic Symes
Add floating point as an allowed data type for RESIZE. Signed-off-by: Dominic Symes <dominic.symes@arm.com> Change-Id: I01766edabe922d395175356387ea325bfc301fd3
2020-10-28MUL: Add right shift on 32x32 multiplyDominic Symes
The result of 32x32 elementwise multiply exceeds the int32_t result type range. This change adds a right scaling shift argument to shift down the result. Change-Id: I6ae17e6dc3fe342d052304533158ad2d0e7bb7be Signed-off-by: Dominic Symes <dominic.symes@arm.com>
2020-10-27ARITHMETIC_RIGHT_SHIFT: Add roundingDominic Symes
Add rounding mode to shift right and clarify that shift values cannot be negative. Signed-off-by: Dominic Symes <dominic.symes@arm.com> Change-Id: I7995c8dfa6f16f9ca4dcbf5241692fcd940e509b
2020-10-22Make rank() consistent across filesDominic Symes
Complete the function naming change from dimensions() to rank(). Fix MATMUL to use apply_add() for additions, consistent with the other operations. Signed-off-by: Dominic Symes <dominic.symes@arm.com> Change-Id: I6ba84cf8b016505e8477b04dd00f2a2bf3194492
2020-10-16Use rank() instead of dimensions() in pseudocodeEric Kunze
rank() is consistent with the rest of the specification. Also add a bit of whitespace in the pseudocode for easier reading. Fix one typo. Change-Id: Ifa794b2c332cb70cd52a141d9af219e26bd3dca0 Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2020-10-14Updates to reduction and reverse operationsDominic Symes
Simplify the reduction and reverse reference by apply one axis at a time and default to keep_dims. (Changes to shape can be done separately with RESHAPE) Signed-off-by: Dominic Symes <dominic.symes@arm.com> Change-Id: I590bdb6bc05b1c673f86e3f45f0a43536d8f362a
2020-10-12Add new README.md fileEric Kunze
Contains build requirements and short instructions. Change-Id: Id2cc62b4a88adab53b0c7314e64221936c6d55dc Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2020-10-12Fix errors in RESIZEDominic Symes
Fix typing errors in the resize operation and simplify the assert checking. Signed-off-by: Dominic Symes <dominic.symes@arm.com> Change-Id: If12b9e54a6e9f84f0d6122be7d4a4b567fd81e0f
2020-10-08Fix ordering of operatorsEric Kunze
REDUCE_ANY/ALL PLACEHOLDER/IDENTITY* Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I3436a91b8137fa4fce9b8c2027cd669cfbdcd539
2020-10-01TOSA spec 0.20.0, initial public versionv0.20.0Eric Kunze
Change-Id: I7c528ebf7e78759ada4bb951b2471c367d3f4525
2020-10-01Initial empty repositoryEric Kunze