aboutsummaryrefslogtreecommitdiff
path: root/reference_model/src/tensor.cc
diff options
context:
space:
mode:
authorJames Ward <james.ward@arm.com>2022-11-15 11:36:47 +0000
committerEric Kunze <eric.kunze@arm.com>2022-11-29 15:55:26 +0000
commitee2566914d3476b8103b88915f3b81bda8490b44 (patch)
tree0d0dd56adafb3a65d896a192eeb736200eec8f06 /reference_model/src/tensor.cc
parent542dd3b8da39440026fa9e809eebd0a3b79cf95d (diff)
downloadreference_model-ee2566914d3476b8103b88915f3b81bda8490b44.tar.gz
FP16 improvements
* Update FP16 resize to newest spec version * Correct casting to fp16 for graphs of >1 ops Change-Id: Iedff9a71eb7f72948b3c00a635bb0fd07d414bcd Signed-off-by: James Ward <james.ward@arm.com>
Diffstat (limited to 'reference_model/src/tensor.cc')
-rw-r--r--reference_model/src/tensor.cc5
1 files changed, 2 insertions, 3 deletions
diff --git a/reference_model/src/tensor.cc b/reference_model/src/tensor.cc
index 4eaf21d..e9598c4 100644
--- a/reference_model/src/tensor.cc
+++ b/reference_model/src/tensor.cc
@@ -159,8 +159,7 @@ int TosaReference::Tensor::readFromNpyFile(const char* filename)
switch (dtype)
{
case DType_FP16:
- // Convert from fp16 to fp32
- //TODO(jw): remove this once we cast to fp16 in register_fcn/eval
+ // Convert from fp16 to fp32 so that fp16 values can be manipulated as float
for (uint32_t i=0; i < elements; i++) {
fdatabuf[i] = half_float::half_cast<float, half_float::half>(f16databuf[i]);
}
@@ -277,7 +276,7 @@ int TosaReference::Tensor::writeToNpyFile(const char* filename) const
free(f16databuf);
return 1;
}
- // Convert fp32 to fp16
+ // Convert fp32 to fp16 so that output file contains valid fp16 data
for (uint32_t i=0; i < elements; i++) {
f16databuf[i] = half_float::half_cast<half_float::half, float>(fdatabuf[i]);
}