From b2d3bff7671aec473031d68e5305a0ef887f7990 Mon Sep 17 00:00:00 2001 From: Jeremy Johnson Date: Mon, 26 Feb 2024 16:08:07 +0000 Subject: 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 Change-Id: I674e23eddc9694237ea4e66a689481c13965eb90 --- reference_model/src/verify/verify_dot_product.cc | 4 ++-- reference_model/src/verify/verify_reduce_product.cc | 3 ++- reference_model/src/verify/verify_utils.cc | 13 +++++++++---- 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(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(cfgPtr); unused(boundsValue); - return std::abs(referenceValue) * (std::pow(1 + std::pow(2, -AccPrecision::normal_frac - 1), cfg->n) - 1); + return std::abs(referenceValue) * + (std::pow(1 + std::pow(2, -AccPrecision::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 -- cgit v1.2.1