Age | Commit message (Collapse) | Author |
|
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I8c165a2e2b7fadd8e617a967bb6fd89c710514cf
|
|
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: Iefa4311c0a1a1b05629b03b48e724841cb67a2d8
|
|
Update the status section of the specification as well as
various textual simplifications/clarifications.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: Ie77039e537bc66e6d05b14c7e0705b1c1cc4be58
|
|
List maximum varies by Level.
Also cleans up some stray references to tosa_list_t.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I66ba807361948f0b679d0865f967fa2684f8b279
|
|
Defines the versioning policy for TOSA.
Includes definition of what can change between minor versions to retain compatibility.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: Iad6073c986acf1696c0880ef9f614ce6f5cf1f16
|
|
Allows for future tools to take action on which version the
operator/profile first appears.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: If0358c8b189f8b2aa11cde3379076c0cc28bf17d
|
|
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I9678952cc78cdf90272ccd5179b6220c293d62f7
|
|
When width or height are one then H/2 or W/2
are not integral. This case is clarified.
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
Change-Id: Iae1346f09b9eecc636d37d40071bdfbce923843b
|
|
Implementations should use non-saturating mode and call CLAMP
if saturation is needed.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I7a79931552dd6c3ab5fc247a963e3e7ba1e38ae2
|
|
per channel rescaling doesn't make sense for a rank 0 input.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: Icfa58403953c81fb3cae708c984efa7e5b116208
|
|
Each extension can contain a list of profiles that it works with.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I7cf2ad0c57fc8a36500212b7d554a8153fc2efe5
|
|
Level 1.0 was never defined. Update to note that the ranges are
for the levels defined in the specification.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: If38a7d1d96efd41e6708537ea5a1577c4c48a4de
|
|
It was never listed in the supported data type table, so
it isn't a valid option for the acc_type.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I07021a4e36f321dfb7b493fe727d337b364b2ebb
|
|
When err_bnd is large enough to allow a different
result sign from the reference then a negative
ref_min may occur.
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
Change-Id: I1603ed43499e385eb2d93494237a910947bb11d1
|
|
The Main Training profile does not have any unique operators in the
specification. Remove it as unneeded. New training operators can be
added as extensions to existing profiles.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: Ida5f49a1c7f71276508da0484dff5fae2444b9fc
|
|
Is more appropriate than the Data Layout section
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I5427d867b13a69dc0d66e268db4c64e047c65c7f
|
|
Use "or" when listing an operator/data type that can be implemented in multiple profiles.
Modify variable_read/variable_write to note that both the base profile and extension
must be supported (for example BI and EXT-VARIABLE)
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: Iae15fb1032a4e03da73eda0f3a15e4c0965de052
|
|
Large input values to SIN or COS can lead to
proportionately large errors in the angle and
so in the SIN or COS result.
Change-Id: Ibc0d8f4f1db27b8c8855c48a238040442c14ef71
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
|
|
This appendix attempts to record the rationale for decisions made
when modifying the TOSA specification.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: Ia2332d39c075a53f611665c446566bd89385b9fb
|
|
Define behavior if multiple values are tied for the maximum.
Define behavior if NaN values are encountered.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: Id05a680cd11a331ba84a8e38f9a7c77a71bcbb78
|
|
Accumulator size moves to an enumerated attribute, out_t for floating-point changes
to be the size of the input. Bias for floating-point also becomes the bit width
of the input type.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I7369417adbb1106ce34a1978e7f511a30272c318
|
|
Create composable profiles and profile extensions.
Define requirements for a TOSA implementation to fully implement at least one profile.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I02cfb0171b2d227727f530cb29108b479206b25b
|
|
Previous version accidentally included the copyright in the rendered
document. Also made the operator organization match other operators.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: Iabca81fb84d032f17b6915a3c5135cb469edd797
|
|
Initial accuracy requirements for RESIZE calculations.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I44f997df857915ca77b04dd0b87dee9ccac6e7b0
|
|
- Use function call syntax for static_cast and sizeof
- Replace undefined in_u_t with in_t
- Add missing semicolon
Change-Id: If6147ae93b371230cbebdf45a55490bf462a8219
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
|
|
Only cases where types are obvious.
- Add missing types
- Do not re-declare variables
- Fix scope of declaration
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
Change-Id: I7d44d9adde606094e0a7910fb438649521ff3ec0
|
|
... with the correct libary functions.
Change-Id: I99c252629d27be3977852a422774bc0be94922b3
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
|
|
They need apply_{max,min}_{s,u}.
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
Change-Id: I67cdfcd0eb9d7a25223b2ebb86219a21bbf9f2f6
|
|
AVG_POOL2D
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
Change-Id: I5e0237abed504fdf26405a3d814714f22a0cf9b5
|
|
not defined
Also:
- Add missing semicolon
- Fix prototype for is_floating_point to use template syntax
Change-Id: I9ec1c687a3854b73ddac78f4db0db8e10f4e10e6
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
|
|
Only defined for floating-point types.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: Ieae355076f9aac6882fab8530e6d7d9985a6e661
|
|
Adds support for Open Compute Project (OCP) 8-bit floating point operations
to the TOSA specification. Both E4M3 and E5M2 types are supported for profiles
as indicated in the Supported Data Types table for each operator.
FP8 operator list
ARGMAX
AVGPOOL
CONV2D
CONV3D
DEPTHWISE_CONV2D
MATMUL
MAX_POOL2D
TRANSPOSE_CONV2D
CONST
CAST
CONCAT
PAD
DIM
RESHAPE
REVERSE
SLICE
TILE
TRANSPOSE
GATHER
SCATTER
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I3dd83f48afcc3c880c5c88039337ff4f1fd95b1b
|
|
Moving between TOSA version 0.70 and 0.80, some
of the checks between input and output type were
omitted.
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
Change-Id: I8e547f18ec1c36e0e9e3f8db04e58b0f643c781c
|
|
Add types for the angle caclulations.
Add conformance appendix section for RFFT2D.
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
Change-Id: Ic0ab79c0784c6359d2d66290e124dfb670a879cc
|
|
Update POW error bound to allow for the
error of a LOG, MUL, EXP sequence.
Change-Id: I250635130bce2ac72cc39a9c9052d8e868f7cf41
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
|
|
Change-Id: I24409a38aaf4818a9ab0abc0cad5c7d052e01bd1
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
|
|
Change-Id: I75ea94d42c63e862af8e492da7f47ecd6caa1055
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
|
|
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I164664bd1497ee991920398b9a85308fa057153f
|
|
Rework of the shape operations. Shape operations are now done in shape specific
operators rather than being based on type.
shape_t is reworked to a list of size_t values.
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I2fca0728f9caa6a6fc34a8ce9e389bb581eea959
|
|
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
Change-Id: Icb824233e5be84ac0eb693459b65441e9ae6c545
|
|
Be explicit that the value is converted to int32 and then clamped to the
output type range.
Also remove use of apply_clip, replacing with either apply_clip_s or apply_clip_u
Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: I0efc7f4d653c1bef13c9989cfe2647208dad9617
|
|
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
Change-Id: Ieb895e834d1f3b512a666b062b963b08f82c8a24
|
|
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
Change-Id: Ifc17c8ab508a0d27f5f832fa76f7dc9c1ff57dbd
|
|
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
Change-Id: I7cad7d2bc6212e1765fbe3027abfb1fe37111445
|
|
Change either the name in the pseudocode or XML to what feels more
"natural" or in line with other related names.
Change-Id: Ic12a0418a80642c548c288b6ba26a4603b94fedc
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
|
|
Change-Id: Ic362e5cbc607d1b7560c09326fcebcba606454ce
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
|
|
- Some operators were using True and False.
- Document the use of true and false in the definition of
the boolean number format.
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
Change-Id: Ic4c16c8527d46ca01d22e3c70c5371821a726df8
|
|
Axis is a dimension index of the input tensor, but is used to index the
output tensor.
Signed-off-by: Thomas Preud'homme <thomas.preudhomme@arm.com>
Change-Id: Ie50f3921153e01437fe763b5d2b6cfaa06049f25
|
|
The semicolons had no semantic meaning.
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
Change-Id: I9447ea24c82a32c8bfe07fcc560f34a696e59831
|
|
- Add missing parenthesis in ARITHMETIC_SHIFT_RIGHT
- Add missing semicolons
- Remove stray dot in VARIABLE_WRITE
Change-Id: I28ab7c80c735995437588fffeffb1f12d112f3ec
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
|