diff options
-rw-r--r-- | chapters/introduction.adoc | 8 | ||||
-rw-r--r-- | chapters/scatter_gather.adoc | 1 |
2 files changed, 8 insertions, 1 deletions
diff --git a/chapters/introduction.adoc b/chapters/introduction.adoc index 11ba26b..dc45808 100644 --- a/chapters/introduction.adoc +++ b/chapters/introduction.adoc @@ -281,12 +281,18 @@ Let `out_ref` be the result of the fp64_t reference implementation of `pow(x,y)` Let `err_bnd = abs(out_ref) * exp2(-normal_frac<in_out_t>) * (1+abs(log(abs(x))*y))` + Then `tosa_reference_check_fp_bnd<in_out_t>(out_imp, out_ref, err_bnd)` must be true -| <<SIGMOID>>, <<TANH>> +| <<SIGMOID>> | Let `x` be an input element and `out_imp` the implementation output. + Let `out_ref` be the result of the fp64_t reference implementation. + Let `err_bnd = abs(out_ref) * exp2(-normal_frac<in_out_t>) * (2 * (1+abs(x)))` + Then `tosa_reference_check_fp_bnd<in_out_t>(out_imp, out_ref, err_bnd)` must be true +| <<TANH>> +| Let `x` be an input element and `out_imp` the implementation output. + +Let `out_ref` be the result of the fp64_t reference implementation. + +Let `err_bnd = exp2(-normal_frac<in_out_t>) * max(0.5, abs(out_ref) * (4 * (1+abs(x))))` + +Then `tosa_reference_check_fp_bnd<in_out_t>(out_imp, out_ref, err_bnd)` must be true + | <<REDUCE_SUM>> | Each output can be expressed as a dot product of an input vector with a vector of ones. + This dot product must meet the <<Dot product accuracy requirements>> diff --git a/chapters/scatter_gather.adoc b/chapters/scatter_gather.adoc index 1dbda4f..d694d39 100644 --- a/chapters/scatter_gather.adoc +++ b/chapters/scatter_gather.adoc @@ -31,6 +31,7 @@ for_each(0 <= n < N, 0 <= w < W, 0 <= c < C) { The values_out tensor is set to the values_in tensor with data modified as follows: data from the input tensor is inserted at the positions specified by the indices tensor. N is the number of batches, W the number of indices in each batch, K the range of each index and C the number data channels for each index. It is not permitted to repeat the same output index within a single SCATTER operation and so each output index occurs at most once. +It follows that K >= W. In use cases that require multiple updates to the same output position, these must be decomposed into multiple SCATTER operations. include::{generated}/operators/SCATTER.adoc[] |