From 770b18e3d2f36f520b824c70a063381156511bb7 Mon Sep 17 00:00:00 2001 From: Eric Kunze Date: Fri, 23 Feb 2024 13:53:41 -0800 Subject: Add a new rationale appendix This appendix attempts to record the rationale for decisions made when modifying the TOSA specification. Signed-off-by: Eric Kunze Change-Id: Ia2332d39c075a53f611665c446566bd89385b9fb --- chapters/appendix_c.adoc | 29 +++++++++++++++++++++++++++++ tools/dictionary.dic | 2 ++ tosa_spec.adoc | 4 +++- 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 chapters/appendix_c.adoc diff --git a/chapters/appendix_c.adoc b/chapters/appendix_c.adoc new file mode 100644 index 0000000..9c67849 --- /dev/null +++ b/chapters/appendix_c.adoc @@ -0,0 +1,29 @@ +// +// This confidential and proprietary software may be used only as +// authorised by a licensing agreement from ARM Limited +// (C) COPYRIGHT 2024 ARM Limited +// ALL RIGHTS RESERVED +// The entire notice above must be reproduced on all authorised +// copies and copies may only be made to the extent permitted +// by a licensing agreement from ARM Limited. + +== Appendix C - Rationale + +This appendix documents the rationale behind decisions made while creating the TOSA specification. +Explanations and definitions contained in this appendix are non-normative. + +=== FP8 + +The operators that perform calculations on FP8 data types are limited. +Fewer mantissa bits in FP8 make it inappropriate for use in most elementwise operations such as <>. +Support was also added to the data layout and movement operations on the understanding that no calculations are performed. +Two extensions for the FP8 types were created in order to cover both formats defined by <>. + +=== Transcendental Functions + +In the TOSA specification, a limited number of transcendental operations are supported. +The operators supported are sufficient for common networks while minimizing the number of operations an implementation must support. +Originally, SIGMOID and TANH were added as the common functions used for activations. +ERF was added to support GELU style activation functions. +SIN and COS were added to provide a base level of trigonometric functionality as well as support for Rotary Position Embedding. + diff --git a/tools/dictionary.dic b/tools/dictionary.dic index e5a70a2..48d6118 100644 --- a/tools/dictionary.dic +++ b/tools/dictionary.dic @@ -24,6 +24,7 @@ CPUs denormalizing DEPTHWISE Elementwise +elementwise ERF erf FFT @@ -31,6 +32,7 @@ fft fp foreach Fulbourn +GELU GPUs Hadamard Hermitian diff --git a/tosa_spec.adoc b/tosa_spec.adoc index 7a07fbd..bc27ef8 100644 --- a/tosa_spec.adoc +++ b/tosa_spec.adoc @@ -1,7 +1,7 @@ // // This confidential and proprietary software may be used only as // authorised by a licensing agreement from ARM Limited -// (C) COPYRIGHT 2020-2021 ARM Limited +// (C) COPYRIGHT 2020-2024 ARM Limited // ALL RIGHTS RESERVED // The entire notice above must be reproduced on all authorised // copies and copies may only be made to the extent permitted @@ -29,3 +29,5 @@ include::chapters/pseudocode.adoc[] include::chapters/appendix_a.adoc[] include::chapters/appendix_b.adoc[] + +include::chapters/appendix_c.adoc[] -- cgit v1.2.1