This project is mirrored from https://review.mlplatform.org/tosa/specification.
Pull mirroring updated .
-
v1.0.0-rc019cf217c · ·
TOSA Specification 1.0.0 rc0 release notes The first release candidate for the TOSA specification Changed the way profiles are defined. Profiles are no longer supersets of functionality. Each profile contains enough operators to define a useful set of functionality. Added the concept of extensions. Each extension provides additional functionality to an underlying profile. Profiles included in the current version are: EXT-INT16, EXT-INT4, EXT-BF16, EXT-FP8E4M3, EXT-FP8E5M2, EXT-FFT, EXT-VARIABLE Added SIN and COS to the elementwise operators. Modified convolution operators to have the accumulator type specified as an attribute. The output types were also adjusted such that a FP16 convolution can have either FP16 or FP32 accumulator, with the output type always as FP16. These now work similar to AVG_POOL2D. Removed the Main Training profile. It did not have any operators of its own, and thus wasn't possible to justify in its current state. FP8 types now use non-saturating rules when CAST is used to cast from a wider data type. Added a new limit on the number of tensors allowed in a tensor list: MAX_TENSOR_LIST_SIZE New non-normative appendix added to carry information about why choices in TOSA were made. Cleanup and update of TOSA status noting that this is the first release candidate for TOSA 1.0 Added a new field to the XML to note what version of the specification an operator was added in. (Nothing before 1.0 is included) Error bound fixes Bugfixes, pseudocode clarifications
-
v0.90.0526f6c7b · ·
TOSA specification v0.90.0 Release Notes Add shape operators to track shape operations for future shape inference Continued pseudocode cleanup Conformance testing improvements Specify accumulator type for REDUCE_SUM Remove redundant out_shape argument from TRANSPOSE_CONV2D
-
-
-
v0.80.0cc7d22e4 · ·
TOSA specification v0.80.0 Release Notes Change specification to refer to signless types consistently. RESCALE takes new arguments to determine whether inputs and outputs are unsigned Add ERF activation function Improve conformance definitions for floating-point operations New flag for convolution operators to determine accuracy requirements Add stateful operators - VARIABLE / VARIABLE_READ / VARIABLE_WRITE Add DIM operator to allow for improved shape inference calculations Allow bias tensors to be broadcast Various other cleanup, see the git revision history for complete details
-
v0.70.057b171f4 · ·
TOSA Specification v0.70.0 release tag Formalize the description of arguments in tosa.xml Generate more from the tosa.xml file. Rank requirements for arguments Maximums for each TOSA level. Updated Main Inference floating-point conformance testing Add enumerations to TOSA specification Accumulator size Resize type Replace uint6_t with int8_t Stick to more common types. Where uint6_t was used has range restrictions so existing implementations do not require changes Improve description of the execution model for TOSA Minor cleanup
-
v0.60.068a3f7b4 · ·
TOSA 0.60.0 Specification release tag - Add definitions for main inference conformance. Defines requirements for floating-point accuracy for TOSA operations. - Fix rank limitations on data layout operations - Add accumulator size for AVG_POOL2D - Use XML as source for specification version - Misc. cleanups
-
v0.50.0d19f7ff9 · ·
TOSA 0.50.0 release tag - Add a new definition for TOSA levels. Levels define operator parameter ranges that an implementation shall support. This is distinct from a profile that defines the operations and data-types supported - Tensor coordinates are clarified to be 32-bit integer values - Operator clarifications: SLICE, RESIZE, RESCALE - Add the ability to CAST between floating-point types See the git log for all changes.
-
v0.40.0d5fcd0de · ·
Specification v0.40.0 release tag - Some of the table data for the specification has been moved into an XML base document. In the specification build, we use the XML to generate asciidoc tables to be included into the specification document. The XML can be used in other projects to stay in sync with changes to the specification. - Convolution weights are now noted as inputs for all profiles. Previously, they were attributes to the convolution functions for the Base Inference and Main Inference profiles. Implementations may choose to optimize the weights if they are known at compile time, but it is no longer required to be compliant. - RESIZE scale is now defined as a ratio of integers. This allows the output dimensions to be derived from the input dimensions without rounding. - Remove rank limits on RESCALE and POW. This brings them in line with other similar operations in the specification. - Inverted the definition of out_pad for TRANSPOSE_CONV2D. We have inverted the sign of the output pad values such that increasing out_pad values leads to increasing pad. This change also specifies a pad limit range of output pad values that give an output dependent on the whole input.
-
v0.30.0f5ddd92b · ·
Tag for the release of the TOSA v0.30.0 specification Changes in this version: • The FFT2D and RFFT2D operators are added to the Main Inference and Main Training profiles for floating point operations. • Unsigned 16-bit integer (uint16) support added. The only operator supporting uint16 is the RESCALE operator. It is expected that networks consuming uint16 input immediately use a RESCALE to convert to signed 16-bit values (int16). • Floating point data types have been defined. Instead of a generic floating-point format, fp16, fp32, and bf16 data types have been introduced. • Chapter one has been reorganized to try to match the overall specification better, including an updated description of integer operations/quantization within TOSA. • The specification now describes the status of each profile separately, to better convey the stability level of the profile. • Floating point edge-case behavior definition has been improved. • In the pseudocode and data type tables for operators, if the input and output data types are the same, an in_out_t type is used to attempt to make this easier to read. • Specifies the output formulae to define the output dimensions for tensor operators. • Restricted the slope between adjacent 16-bit TABLE entries. • Removed support for -1 dimensions in the RESHAPE operator so that all TOSA shapes are fully determined. • Miscellaneous other clarifications and corrections. (See the git log for details)
-
v0.23.08aa23a59 · ·
V0.23.0 release tag This release is primarily clarifications and improvements in error handling and reporting. The REQUIRE and ERROR_IF macros were introduced into the pseudocude to describe the action when an operators required conditions are not met. See section 3.1 of the specification for details on the new validation helpers. Operator functionality changes: Removed IDENTITYN, PLACEHOLDER, and RELUN. RELUN can be implmented with the existing CLAMP operator. IDENTITYN and PLACEHOLDER can be handled with appropriate graph actions INTDIV - The integer division operator was renamed from DIV to clarify that it only operates on integer values. PAD - The PAD operator now takes a value to be used as the pad constant. Miscellaneous other clarification and cleanups were made to text and pseudocode.
-
v0.22.0f7c691f8 · ·
v0.22.0 specification release tag Functional changes Add batch dimension to MATMUL. CONCAT now accepts a variable number of input tensors. Add 8-bit to 8-bit TABLE operation. Add 32-bit integer DIV operation. Removed the aint8_t data type. Descriptive changes Many changes to improve consistency within the specification, including to pseudocode and argument types. Note limits on axis where appropriate.
-
v0.21.0c96709be · ·
Tag TOSA specification for 0.21.0 release Functional changes: - MUL, add right shift on 32x32 bit multiply - ARITHMETIC_RIGHT_SHIFT: add rounding - RESIZE: add float type - Add int48 to supported number formats - Add SCATTER operator Descriptive changes: - Pseudocode cleanup, usage clarifications - Fix various rank limitations - Rewrite the introduction for improved clarity - Improve the documentation for attributes and inputs for training profile vs. inference profiles.
-