diff options
author | Jeremy Johnson <jeremy.johnson@arm.com> | 2024-02-26 16:08:07 +0000 |
---|---|---|
committer | Eric Kunze <eric.kunze@arm.com> | 2024-03-05 00:18:21 +0000 |
commit | b2d3bff7671aec473031d68e5305a0ef887f7990 (patch) | |
tree | f98096d0f8fe154c8d5085fde3c57ccfeb97b2c4 /reference_model/src/verify | |
parent | 977ee350760015b3fd4cc2f8f81f8d7bda5a0114 (diff) | |
download | reference_model-b2d3bff7671aec473031d68e5305a0ef887f7990.tar.gz |
Minor fix ups in verify lib
Improve internal config naming and remove old config info.
Make sure all configs are properly initialized.
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
Change-Id: I674e23eddc9694237ea4e66a689481c13965eb90
Diffstat (limited to 'reference_model/src/verify')
-rw-r--r-- | reference_model/src/verify/verify_dot_product.cc | 4 | ||||
-rw-r--r-- | reference_model/src/verify/verify_reduce_product.cc | 3 | ||||
-rw-r--r-- | reference_model/src/verify/verify_utils.cc | 13 | ||||
-rw-r--r-- | reference_model/src/verify/verify_utils.h | 7 |
4 files changed, 16 insertions, 11 deletions
diff --git a/reference_model/src/verify/verify_dot_product.cc b/reference_model/src/verify/verify_dot_product.cc index 3f82c1e..b487ece 100644 --- a/reference_model/src/verify/verify_dot_product.cc +++ b/reference_model/src/verify/verify_dot_product.cc @@ -77,10 +77,10 @@ bool validateDataDP(const double* referenceData, const size_t T = static_cast<size_t>(numElements(shape)); TOSA_REF_REQUIRE(T > 0, "[DP] Invalid shape for reference tensor"); - const int32_t S = cfg.s; + const int32_t S = cfg.setNumber; // NOTE: KS in the compliance config MUST have already been updated to (KS + 1) if the bias // tensor is non-zero - const int32_t KS = cfg.ks; + const int32_t KS = cfg.kernelSize; double out_err_sum = 0.0; double out_err_sumsq = 0.0; diff --git a/reference_model/src/verify/verify_reduce_product.cc b/reference_model/src/verify/verify_reduce_product.cc index a8aaa53..5be14ac 100644 --- a/reference_model/src/verify/verify_reduce_product.cc +++ b/reference_model/src/verify/verify_reduce_product.cc @@ -29,7 +29,8 @@ double calcErrorBound(double referenceValue, double boundsValue, const void* cfg const auto cfg = reinterpret_cast<const ReduceProductVerifyInfo*>(cfgPtr); unused(boundsValue); - return std::abs(referenceValue) * (std::pow(1 + std::pow(2, -AccPrecision<OutType>::normal_frac - 1), cfg->n) - 1); + return std::abs(referenceValue) * + (std::pow(1 + std::pow(2, -AccPrecision<OutType>::normal_frac - 1), cfg->numberOfProducts) - 1); } } // namespace diff --git a/reference_model/src/verify/verify_utils.cc b/reference_model/src/verify/verify_utils.cc index 57cb50a..d598e2c 100644 --- a/reference_model/src/verify/verify_utils.cc +++ b/reference_model/src/verify/verify_utils.cc @@ -65,13 +65,13 @@ void from_json(const nlohmann::json& j, UlpVerifyInfo& ulpInfo) void from_json(const nlohmann::json& j, DotProductVerifyInfo& dotProductInfo) { - j.at("s").get_to(dotProductInfo.s); - j.at("ks").get_to(dotProductInfo.ks); + j.at("s").get_to(dotProductInfo.setNumber); + j.at("ks").get_to(dotProductInfo.kernelSize); } void from_json(const nlohmann::json& j, ReduceProductVerifyInfo& reduceProduceInfo) { - j.at("n").get_to(reduceProduceInfo.n); + j.at("n").get_to(reduceProduceInfo.numberOfProducts); } void from_json(const nlohmann::json& j, AbsErrorVerifyInfo& absErrorInfo) @@ -92,24 +92,29 @@ void from_json(const nlohmann::json& j, VerifyConfig& cfg) { j.at("mode").get_to(cfg.mode); j.at("data_type").get_to(cfg.dataType); + cfg.ulpInfo.ulp = 0; if (j.contains("ulp_info")) { j.at("ulp_info").get_to(cfg.ulpInfo); } + cfg.dotProductInfo.setNumber = 0; + cfg.dotProductInfo.kernelSize = 0; if (j.contains("dot_product_info")) { j.at("dot_product_info").get_to(cfg.dotProductInfo); } + cfg.reduceProductInfo.numberOfProducts = 0; if (j.contains("reduce_product_info")) { j.at("reduce_product_info").get_to(cfg.reduceProductInfo); } - // Set up defaults for optional AbsErrorVerifyInfo cfg.absErrorInfo.lowerBound = 0; if (j.contains("abs_error_info")) { j.at("abs_error_info").get_to(cfg.absErrorInfo); } + cfg.relativeInfo.max = 0; + cfg.relativeInfo.scale = 0; if (j.contains("relative_info")) { j.at("relative_info").get_to(cfg.relativeInfo); diff --git a/reference_model/src/verify/verify_utils.h b/reference_model/src/verify/verify_utils.h index 0d7bf47..f53838a 100644 --- a/reference_model/src/verify/verify_utils.h +++ b/reference_model/src/verify/verify_utils.h @@ -64,8 +64,8 @@ struct DotProductVerifyInfo { DotProductVerifyInfo() = default; - int32_t s; - int32_t ks; + int32_t setNumber; + int32_t kernelSize; }; /// \brief reduce-product verification meta-data @@ -73,8 +73,7 @@ struct ReduceProductVerifyInfo { ReduceProductVerifyInfo() = default; - int64_t m; - int64_t n; + int64_t numberOfProducts; }; /// \brief abs-error verification meta-data |