Age | Commit message (Collapse) | Author |
|
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
|
|
Also change acc_t to out_t when the value is being used as an output.
This should make the argument tables easier to follow.
Change-Id: I2a57f3c4eaf937f29da785ff5c11576663a39494
|
|
Change-Id: Ifec04d98b81b351efe110d5a07259f69df4f3014
|
|
shpae3->shape3
Change-Id: I981edd50409cb5bac0fd8793a1bf578f20cc0574
|
|
Avoid use of acc for variables when they are not convolution
accumulators.
Use argument types appropriately.
Add missing pseudocode for some MI operators
Change-Id: I9113f9228dbcafb85206bcc39310e9599cb12c08
|
|
CLAMP does not do any zero point modification of its
clamp limits. Callers to CLAMP should provide values with the
zero-point accounted for in the arguments.
Change-Id: I27ee468ecd5ab53e33dcbac9c91b705b39e49f96
|
|
Operators which use the zero-point functionalty for 8-bit integer
processing are updated to do the zero-point subtract in their
pseudocode.
Note that the PAD operator no longer takes a zero point argument,
and instead requires callers to account for the zero point in the
pad_const argument.
Change-Id: I3bca1cae85aa2093000c420f0433633c347a29de
|
|
Change-Id: I8935624362b3b8d1b125ccb801d039b97e88a2ef
|
|
Change-Id: I495ed97896d8f560b9eb9ed7b05dd2ca1c564c73
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
|
|
* Add ERROR_IF checks to ensure that inputs have the correct rank,
dimension lengths, and a suitable axis value
* Make REVERSE REQUIRES check into an ERROR_IF
* Some minor typo/formatting fixes
Change-Id: Ie133788ca7e1deab194ba5ef97e47c39cdd170b6
Signed-off-by: Matthew Haddon <matthew.haddon@arm.com>
|
|
* refactored error_if checks to avoid logic overlap
* Added check to ensure that size dimensions match
output dimension
* Defined the rank() function in pseudocode helpers
Change-Id: I56bf06252d9149d449c984126e8f2025a07d6034
Signed-off-by: Matthew Haddon <matthew.haddon@arm.com>
|
|
The avg_pool2d and max_pool2d operators trigger an error_if
statement if the output shape provided does not match the output
shape generated by the operation given the input arguments.
* Add pseudocode for floor operation
* Fixed type in RESCALE op
Signed-off-by: Matthew Haddon <matthew.haddon@arm.com>
Change-Id: I087faa331c30becc05719cd1261f436019dcdeb5
|
|
The TOSA specification doesn't have quantized types.
Without those types, it is cleaner to move effects of quantization
such as the zero points into the standard list of arguments, rather
than existing as a separate table.
Change-Id: I18ea2959e9d3e4a3e9a0ead7a8ca319bb4426a47
|
|
PAD now takes an additional attribute, with the padding value.
Will generally be zero, but other values are allowed.
tensor_read now requires the coordinates to be within the
given tensor, with unpredictable behavior occurring if an access
outside of the tensor occurs. Callers of tensor_read are expected
to check the coordinates and take the appropriate action. The
primary impact of this is to move the responsibility for padding to
each operator. In practice, this is expected to not be a functional
change, but a cleanup to make the behavior more clear.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I4f21ca9a13d82d422bbd66c400f23aa9a0bd2aa0
|
|
Use cases for BI/MI profiles show that the table argument
for the TABLE operator will be known at compile time. Make
it an attribute in that case. If a dynamic table is needed,
the GATHER op is available.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: Icb54eaa443ed7896d5010c7a30af88b02c8a83ad
|
|
Padding larger than the kernel size leads to the
odd effect where no values from the input tensor are used.
This leads to a divide by 0 in AVG_POOL2D, as it only divides
by the number of valid input values used, not padding.
Change MAX_POOL2D to have the same limitation for consistency.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I9cd0c0619f88f570d30c83053280460ae3d1cbfb
|
|
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
Change-Id: I91098ef7e18d18263f7b909f75b9df4460417725
|
|
Catch zero and negative sized tensors.
Clarify configuration of bool_t in the reference model.
int4_t limitations on -8 to stay symmetric around 0.
Pad values must be >= 0.
Stride,dilation values must be >= 1.
Change-Id: Idb6ef740f855912a8340475ba319816f90c9b051
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
|
|
Change-Id: Idcf4b99161ce05e56391fbc9107a19617cb1ad21
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
|
|
Make the input tensor shape dimensions correct for the pseudocode.
Clarify the count used for average pooling only includes
valid elements.
Remove stale reference to PLACEHOLDER nodes.
Change-Id: Ia0b9f0aa404008c6a36671da12188cb0999712d4
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
|
|
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
Change-Id: I2e25d0467843adb078d5ab9fd681af40b2ffa52e
|
|
REQUIRE is a direct replacement for the asserts, and uses
the unpredictable() function in pseudocode to describe the required
conditions for operators
Change-Id: I35dc81e083d8e41f16728d992bdb8b06b0271226
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
|
|
X and Y dimensions of image limited
to 16-bit for integer data types so that
the position * stride calculations do not
overflow an int32_t (both position and stride
are then 16-bit)
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
Change-Id: I24d15b1f2991a18da15493bef478d5ee9c65dba3
|
|
Name changed from DIV to INTDIV.
Usage clarified.
Change-Id: I493b8ace7a63e4c80caac1674c767c1ad468dd83
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
|
|
Signed-off-by: Suraj Sudhir <suraj.sudhir@arm.com>
Change-Id: I33bb90ccc778a5cd5fa3ece28880cf484d9f8e3c
|
|
The missing column prevented later rows
of arguments being rendered correctly in html
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
Change-Id: Ifa4edd38dc49f2ce6a182ec8cb44f8773a5bfa05
|