aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-12-05Update the version to 0.50.0 and remove the draft tagv0.50.0v0.50Eric Kunze
In preparation for the 0.50.0 release Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: Ib7cda8120da40daef4c99e4614e62734512988c3
2022-12-05Clarify the type of condition tensorsDominic Symes
Condition tensors used by the control flow operations must contain a single element. Change-Id: Ie3cb8f0b4a4149cee1b3aacbfa720dd4cad02fbc Signed-off-by: Dominic Symes <dominic.symes@arm.com>
2022-12-05Add Levels defintionDominic Symes
Add definition of Level 1.0. Signed-off-by: Dominic Symes <dominic.symes@arm.com> Change-Id: I1b34ae22396f273cc5ecdf99198fdbece6e2809c
2022-11-30SLICE: remove the mention of an axis in the descriptionKevin Petit
No such attribute. Signed-off-by: Kevin Petit <kevin.petit@arm.com> Change-Id: If1b1ece15589e9bf07971542783f51294a05aab9
2022-11-11RESCALE: Clarify zero-point additionDominic Symes
Zero-point addition after rescale is not permitted to overflow an int32_t. Change-Id: I7bc99a9296dce9d48abe271e68f9069425c9c270 Signed-off-by: Dominic Symes <dominic.symes@arm.com>
2022-10-19Define the index type for tensor co-ordinatesDominic Symes
Tensor co-ordinate indices are signed 32-bit values in this version of the specification. Signed-off-by: Dominic Symes <dominic.symes@arm.com> Change-Id: I6b8dde500ef9c4c4c5688c1a43f8d658863e4a49
2022-10-12Change RESIZE border attribute to int16_tEric Kunze
The restriction on border limits in the ERROR_IF is -16 * scale_y_n <= border_y < scale_y_n and scale_y_n <= (1 << 11) Together, these imply -(1 << 15) < border_y < (1 << 11) which fits in 16 bits Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I843f29a5efd8ea3fe559d83d33a3280b39bc7068
2022-10-06Add CAST between floating point typesEric Kunze
BF16 <-> FP32 FP16 <-> FP32 Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I8b8d31dc5debb29b609e927a26fabe9ce71f81cd
2022-09-28RESIZE: Clarify floating point typesDominic Symes
Change resize_t to use the same type as in_t and out_t for floating point data. Signed-off-by: Dominic Symes <dominic.symes@arm.com> Change-Id: I3214d92477688b95ba572f22d34aab3fef7d0f82
2022-09-08Increment revision to 0.41 draftEric Kunze
Change-Id: I5206e59c6dd2212796a8d888d4ef8986ad1dfd2d Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2022-08-30Change version to 0.40.0 for next releasev0.40.0v0.40Eric Kunze
Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: Iee620079018191e3e58627c6d779b94d81d84727
2022-08-26RESCALE and POW: remove rank restrictionDominic Symes
Also be consistent to use the term 'rank' rather than 'dims'. Change-Id: Ica827fcfd44e9735da2d1a4ddb8cb1fa04c6479b Signed-off-by: Dominic Symes <dominic.symes@arm.com>
2022-08-25TRANSPOSED_CONV2D: Invert pad definitionDominic Symes
Increasing output pad values reduces the size of the output region in the old definition. This is counter-intuitive. This patch inverts the sign of the output pad values such that increasing values leads to increasing pad. It also specifies a pad limit range of output pad values that give an output dependent on the whole input. Signed-off-by: Dominic Symes <dominic.symes@arm.com> Change-Id: I47ff4ee67942aec9e728f0b42d87d20117f0b97a
2022-08-24Fix cut and paste error for MATMULEric Kunze
tosa.xml had the wrong mode for 16-bit MATMUL. Change-Id: I1feeac9b9a5f61c53d64ae826aa5727da21e5dce Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2022-08-19Change convolution weights to always dynamicEric Kunze
This changes the arguments for the convolution operators to be inputs rather than attributes for all profiles. Change-Id: I9d5fd1ae721271b881179765dc44e966208150da Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2022-08-19Machine parsable specificationEric Kunze
This converts portions of the asciidoc specification into an xml document and schema. For the html and pdf outputs, the xml is converted to asciidoc files that are included into the existing specification. The xml allows future automated uses of the tosa specification while maintaining rough compatibility with the existing document. No significant functional changes are included in this change. Change-Id: I7f1f95c527638e270c157d58fcdec6a3510daea5 Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2022-08-15PAD: Check output shapeDominic Symes
Check output shape matches the padded input shape. Signed-off-by: Dominic Symes <dominic.symes@arm.com> Change-Id: I8e335ce9b086a36d9e38aa332ecc88782e040cc6
2022-07-08RESIZE: define scale as a ratio of integersEric Kunze
Define scaling factor as a ratio of integers so that output dimensions can be derived from input dimensions without rounding. Change-Id: Iddfd9ff549edf2963bf22047e8641a348cadb35f Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2022-06-30Relax limit on input value for RESCALEEric Kunze
The current value is too strict, and can lead to some cases to fail. By making the new value limit between (-1 << shift-1) and (1 << shift-1), we still restrict the input value a range that works for optimized implementations that left shift their values before multiplying. Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: Ib4f49732e361418884888d398087560da3ccd6e8
2022-06-30Update revision to 0.31.0 draftEric Kunze
Use branch v0.30 and tag 0.30.0 for previous version. Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I1469a9f631e44488142a1c0536e1d4be10153958
2022-06-17Update TOSA version to 0.30.0v0.30.0v0.30Eric Kunze
Also update copyright date for specification. Change-Id: I72d2423247f62fa304d0c0535ef33defb903b74e Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2022-06-17Revert RESIZE behvior to the 0.23 versionEric Kunze
The current version does not match the reference model or serialization library. Revert to the old behavior until the model is updated and tested that it works correctly. Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I237dc3e94e6c31337073524527da75084ba7b578
2022-06-17Initial work on floating-point type definitionEric Kunze
Define operations in terms of common floating-point data types. Definitions for the data types are in the introduction. Added a section to describe status of the different profiles. Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: Iac57026806acfb7913f40af61176322fb02b7cc1
2022-06-17Rework the introductionEric Kunze
The information on quantization and numerics was out of date. The tensor access helpers were also consolidated and moved into their own section in the pseudocode chapter. Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I472e674ed88f4a3ef379010cf50b13cf8afa5f17
2022-06-13Fix typo on CONV3D pseudocodeEric Kunze
Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: Ib953cc4b635469034300662b9ae997d0a1bd58a7
2022-06-02Make the use of inverse in FFT2D definition consistentEric Kunze
The captions for the images used 'direction', instead of 'inverse' which is the attribute name. Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I4d8ab9642288efb984d03b7862068e09334ce8f6
2022-06-01Add FFT operators to MI/MT profilesEric Kunze
Adds FFT2D for complex->complex FFT Adds RFFT2D for real->complex FFT Change-Id: Id50f96b8f66f17c3020767c002f0c1f41a76d62e Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2022-06-01RESIZE: Clarify offset and border rangesDominic Symes
Signed-off-by: Dominic Symes <dominic.symes@arm.com> Change-Id: Ibb60c192ea60b665cec8d91f7de7cc6e3f553fa6
2022-05-26Update RESHAPE pseudocodeEric Kunze
Remove the calculation of a -1 dimension from the operator. Calculates the new coordinates, and adds the proper tensor_read/tensor_write for the data. Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: Iad1d83c170732bdfb3652dead9044809168b23d2
2022-05-24Fix typo in TILE operatorEric Kunze
Replicates multiples times, not multiplies. Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I78c19013d08295171a20fead17661a8f9ea68ac8
2022-05-16Add the uint16_t data typeEric Kunze
An unsigned 16-bit integer data type for use with image networks. Limited to only operating with the RESCALE operator for conversion to signed int16. Zero point can be 0 or 32768 in the RESCALE to allow for no loss of precision (by subtracting 32768), or keeping all values as positive, (zero point=0) with scaling/clipping as defined in the other RESCALE arguments. Change-Id: Id1aebab68fa207f8f8cc235fc3fa5d050307198e Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2022-05-10Mark RESCALE multiplier and scale as refsEric Kunze
They are arrays of multipliers and shifts to handle per channel scaling. Change-Id: I4451a87ef4d710fcb93745c8df73ec41752415c0 Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2022-05-04Specify width of integer types for all operator argumentsKevin Petit
Signed-off-by: Kevin Petit <kevin.petit@arm.com> Change-Id: I15ba640629433f87648ece24ffe723a60c8aaf11
2022-05-04RESIZE: Define scale as a ratio of integersDominic Symes
Define scaling factor as a ratio of integers so that output dimensions can be derived from input dimensions without rounding. Signed-off-by: Dominic Symes <dominic.symes@arm.com> Change-Id: Ie4c1a323dec80379fb0d6db1767777e6c9760a11
2022-05-03Change from assignment to a check for output dims for tensor opsJeremy Johnson
Output dimensions should have been worked out correctly by the end of the compilation to TOSA Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com> Change-Id: I0193958d7d51bf1c6915a0953daa514f86516710
2022-05-03Specify width of integer typesDominic Symes
Clarify for types previously definded as int the width assumed by the specification. Signed-off-by: Dominic Symes <dominic.symes@arm.com> Change-Id: Ied62d4803a4323a600d33cff09752a76ca48f18d
2022-04-29Fix round argument category for ARITHMETIC_RIGHT_SHIFTKevin Petit
It should be an attribute. Signed-off-by: Kevin Petit <kevin.petit@arm.com> Change-Id: I2c9c73605486a44297dad105dbdb94abfb5903fb
2022-04-20Simple fixes to the arguments to CAST and RESCALEKevin Petit
- The input/output types for CAST should be in_t* and out_t* - The shape for the multiplier and shift arguments to RESCALE was in the wrong column Change-Id: I0a3c4ffed15e36f0c4bf8fc9b4a84df5a17a5523 Signed-off-by: Kevin Petit <kevin.petit@arm.com>
2022-04-14Specify output dimension formulae for tensor opsDominic Symes
For each tensor op clarify how the output dimensions of output height (OH) and output width (OW) relate to the input height (IH) and input width (IW). Signed-off-by: Dominic Symes <dominic.symes@arm.com> Change-Id: Iad36041f54e439c944cacf08afac5567dd2bad3f
2022-03-31Update makefile to fail build on spelling failureEric Kunze
Will also fail if aspell is not installed Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I4cab802b64a938797d84604af80cb37caa04f401
2022-03-16Update TRANSPOSE argument descriptionEric Kunze
Define the perms argument more clearly Change-Id: I9ea695ef38c2a8160ba0fc2020fa28150942e39e Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2022-03-15Update floating point edge casesEric Kunze
Cover cases where NaN, +/- 0, +/- infinity are involved Signed-off-by: Eric Kunze <eric.kunze@arm.com> Change-Id: I1a5a23c7b856ddb997f7cdc00282420294ef3e6d
2022-02-03TABLE: Clarify the interpolation slope rangeDominic Symes
The interpolation slope must not exceed int16_t range. Signed-off-by: Dominic Symes <dominic.symes@arm.com> Change-Id: Ic9037dcc11c293c78b9398952118a129e3be66f5
2022-01-24apply_scale_32: adjust range checkingDominic Symes
Range checking adjusted to test that optimized implementations with prior left shift do not overflow. Signed-off-by: Dominic Symes <dominic.symes@arm.com> Change-Id: I45a851a1dfc1f1a767f912bb1429d047ed0fb110
2022-01-10Simplify shape checking for TRANSPOSEEric Kunze
Have a simple outer check for proper size rather than checking during the inner loop. Change-Id: I20312c5f6b4aacbb630a2df0f901d8586caa04c0 Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2022-01-07Fix range of C iteration in DEPTHWISE_CONV2DEric Kunze
The for_each already runs over 0 <= m < M, we don't need c to also iterate over M. Change-Id: Ia72b4be7e68e2f210e9bfc75e3958089d9930c47 Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2022-01-07Ensure ranks match in apply_broadcastEric Kunze
ERROR_IF to make sure rank(index) == rank(out_shape) Also try to better explain what the expected value for index is. Change-Id: I0731324d33335cb1ffc0a6fbd153fbc8521ce2e9 Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2022-01-07Add rudimentary spell check for specificationEric Kunze
We can't easily spell check the entire specification, the pseudocode and operator tables make it unworkable. This adds a simple python script that tries to extract just the description of the operators for checking. It also does a check over the entire license. A custom dictionary is used to contain specification custom words. Change-Id: I74558c03af1506e2970f20b3246d920c2753ca44 Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2022-01-07Fix typo in TOSA licenseEric Kunze
PETMITTED -> PERMITTED NOTWITHSTANING -> NOTWITHSTANDING Change-Id: Ic1727fc0b87f74fa34af8582de11dabda3364b25 Signed-off-by: Eric Kunze <eric.kunze@arm.com>
2021-11-30RESIZE: Clarify output dimensionsDominic Symes
Clarify how RESIZE output dimensions are related to the input dimensions and add the border attributes to give a relation equation Change-Id: I081464de140634d1a99fd8538112c65af949385e Signed-off-by: Dominic Symes <dominic.symes@arm.com>