Age | Commit message (Collapse) | Author |
|
Most operators use in_out_t. This removes a special case.
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
Change-Id: Icfc86f1101d250700677959949bda466519152de
|
|
Also update copyright year on license.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I6acf8b11990e436c4e2ceffa9c044a34a577a5ae
|
|
Add a check on the error bias for dot
product calculations and slightly increase the
error variance bound for dot products.
Change-Id: I518704d1fb1b109695b0f90f7ca6733850e6a8c7
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
|
|
This commit removes the maximum rank 4 restriction
from REVERSE, SLICE and TILE operations so that the
new maximum is now MAX_RANK.
In doing so some rank inconsistencies were also
cleaned up, including:
* Adding a minimum rank to the PAD op description
* Adding level limit checks to SLICE and TILE ops
* Adding checks for rank(shape1) == rank(shape)
for TILE and TRANSPOSE ops
* Add tensor_size(shape1) == tensor_size(shape)
check for TRANSPOSE
* Replace tensor name with shape name in pesudo
code where necessary
Change-Id: I94bb8ee0b6b720b2ba5a884ce9300dca6281245a
Signed-off-by: Luke Hutton <luke.hutton@arm.com>
|
|
This patch contains a draft of the
Main Inference profile floating-point
conformance requirements.
Change-Id: Ib1201fff7f4015668b2de6dccf4cd85b419c3f76
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
|
|
Align with the definition for LOGICAL_RIGHT_SHIFT which was clearer.
Change-Id: I9d8f33b54fb982a09597078eb14a7730c488bcef
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
|
|
The expected output shape of RFFT2d should be (N, H, W/2+1) as
opposed to (N, H/2+1, W/2+1).
Change-Id: I66d830f1ffa86417b57572b3cd904db0290cac42
|
|
cmp_t is only used in the definition of SELECT and always defined to bool_t.
This removes a special case in generators.
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
Change-Id: I9e7992bbfdf5c7fafdd55df90feb4dcbcdee2972
|
|
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>
|
|
Add definition of Level 1.0.
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
Change-Id: I1b34ae22396f273cc5ecdf99198fdbece6e2809c
|
|
No such attribute.
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
Change-Id: If1b1ece15589e9bf07971542783f51294a05aab9
|
|
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>
|
|
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
|
|
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
|
|
Also be consistent to use the term 'rank'
rather than 'dims'.
Change-Id: Ica827fcfd44e9735da2d1a4ddb8cb1fa04c6479b
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
|
|
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
|
|
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>
|
|
Check output shape matches the padded
input shape.
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
Change-Id: I8e335ce9b086a36d9e38aa332ecc88782e040cc6
|
|
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>
|
|
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
|
|
Also update copyright date for specification.
Change-Id: I72d2423247f62fa304d0c0535ef33defb903b74e
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
|
|
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
|
|
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
|
|
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
|
|
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: Ib953cc4b635469034300662b9ae997d0a1bd58a7
|
|
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
|
|
Adds FFT2D for complex->complex FFT
Adds RFFT2D for real->complex FFT
Change-Id: Id50f96b8f66f17c3020767c002f0c1f41a76d62e
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
|
|
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
Change-Id: Ibb60c192ea60b665cec8d91f7de7cc6e3f553fa6
|
|
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
|
|
Replicates multiples times, not multiplies.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I78c19013d08295171a20fead17661a8f9ea68ac8
|
|
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>
|
|
They are arrays of multipliers and shifts to handle per channel
scaling.
Change-Id: I4451a87ef4d710fcb93745c8df73ec41752415c0
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
|
|
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
Change-Id: I15ba640629433f87648ece24ffe723a60c8aaf11
|
|
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
|
|
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
|
|
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
|
|
It should be an attribute.
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
Change-Id: I2c9c73605486a44297dad105dbdb94abfb5903fb
|
|
- 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>
|
|
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
|
|
Define the perms argument more clearly
Change-Id: I9ea695ef38c2a8160ba0fc2020fa28150942e39e
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
|
|
Cover cases where NaN, +/- 0, +/- infinity are involved
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I1a5a23c7b856ddb997f7cdc00282420294ef3e6d
|
|
The interpolation slope must not exceed
int16_t range.
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
Change-Id: Ic9037dcc11c293c78b9398952118a129e3be66f5
|
|
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
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
PETMITTED -> PERMITTED
NOTWITHSTANING -> NOTWITHSTANDING
Change-Id: Ic1727fc0b87f74fa34af8582de11dabda3364b25
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
|
|
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>
|
|
The previous call to apply_scale() was not
valid for value2<0.
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
Change-Id: I3fbf38eaad964efdb0c4920da1a61aee67c9bba9
|