Age | Commit message (Collapse) | Author |
|
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
|
|
Clarify stride ranges so that the range of valid scales
is independent of the shift value.
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
Change-Id: I56b4dd3b39df19da35fb2c6fe3035e2de42f4860
|
|
The operation can be implemented directly
with CLAMP for int8, int16 or MIN,MAX
for int32.
Change-Id: I872ec5ee4ee30bb69353f39be12a65307c9b8d0a
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
|
|
Change-Id: I5387f0b17cbe45c7871dbe3e3e6036fded6cbc8c
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
|
|
Update copyright to include 2021.
Change-Id: Iced31530f7f86faa2efa95441bcbacf1c37f126f
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
|
|
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
|
|
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>
|
|
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
|
|
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
|
|
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
|
|
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>
|
|
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>
|
|
Add batch dimension for consistency
with other operators.
Change-Id: I9b1734a1a60304f46a14a6cda1bd6be6678f1037
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
|
|
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
|
|
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
|
|
Change-Id: I5903ccd3edbd5c28bf8282ff39aadd648613f072
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
|
|
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
|
|
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>
|
|
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
|
|
Profile for EXP operator
TANH table formatting
Remove dilation from TRANSPOSE_CONV2D
Change-Id: I2a265fecfb25ad997fdc992ad8542000014ac7c0
|
|
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
|
|
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: Ie2d83c66600cb01f39992c6b0c168fea2917330c
|
|
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
|
|
Try to make the different modes clearer, especially the
integer BILINEAR mode.
Change-Id: I6a2ab6ee4ed9e6a76d13bec4498e213a7f20b91f
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
|
|
Add the scatter operation
to the gather/scatter section.
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
Change-Id: I9baaef91bf70eae3b13e6e585df6c4821a0c1a93
|
|
Add the operation code for GATHER
and reduce number of arguments.
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
Change-Id: I51b6ede43dcae1e1aec7a11a75a1e4bf6c668673
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Weights remain as an attribute for inference profile devices.
Change-Id: I1cdbbd2ccd95fc1b7afc0f05a1425fb53560b432
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
|
|
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>
|
|
Add floating point as an allowed
data type for RESIZE.
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
Change-Id: I01766edabe922d395175356387ea325bfc301fd3
|
|
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>
|
|
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
|
|
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
|
|
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>
|
|
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
|
|
Contains build requirements and short instructions.
Change-Id: Id2cc62b4a88adab53b0c7314e64221936c6d55dc
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
|
|
Fix typing errors in the resize operation
and simplify the assert checking.
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
Change-Id: If12b9e54a6e9f84f0d6122be7d4a4b567fd81e0f
|
|
REDUCE_ANY/ALL
PLACEHOLDER/IDENTITY*
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I3436a91b8137fa4fce9b8c2027cd669cfbdcd539
|
|
Change-Id: I7c528ebf7e78759ada4bb951b2471c367d3f4525
|
|
|