According to the tosa spec, the input/output type for average pool is always the same, and the accumulator type can be different (especially also larger than the result type, e.g. fp16 with fp32 accumulate
).
However, operators such as conv2/3d
and matmul
do not have an accumulate attribute, and their output type seems to be matching the accumulator type (implicitly).
Is there a reason why these operators have a different handling of the output types and the accumulate attribute?
I came across this as tosa.matmul
is currently not properly lowered from torch to tosa, the result type will be the same as the input type:
p.s.: I wanted to add links to the tosa spec on mlplatform
, but I wasn’t allowed to.