Announcing TOSA v1.0.0-rc0

This is the first release candidate for TOSA 1.0.

The repositories have all been tagged with the v1.0.0-rc0 tag, and all have branches v1.00 to track development of this release.

The updated version of the specification will be available shortly at: TOSA Specification

Release notes follow:

Specification
Specification repository

  • Changed the way profiles are defined. Profiles are no longer supersets of functionality. Each profile co
    ntains 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

Reference Model
Reference Model Repository

  • Alignment to the specification for attributes/inputs.
    • RESIZE, MUL
  • Update to support changes to CONV operators to have accumulator size as an attribute and corresponding output type changes.
  • Add support for new SIN/COS operators.
  • Conformance testing now accounts for the new profiles and extensions.
    • Supported profiles and extension information is now generated to enable filtering at test runtime.
  • Significant increase in floating-point testing.
    • Main compliance test suite covers all operators
  • Alignment to changes in TOSA serialization
  • Bugfixes and other improvements.

Serialization Library
Serialization Library Repository

  • Add support for serializing FP8
  • Add rank 0 tensor support
  • Add SIN/COS operators
  • Align attributes with specification
  • Add support for CONV operators new accumulator type attribute

TOSA MLIR Translator
MLIR Translator Repository

  • Add support for FP8 data types
  • Add new accumulator type attribute for convolution operators
  • Remove out_shape attribute for TRANSPOSE_CONV2D
  • Align MLIR translation with specification