summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJishinMaster <francois.turban@gmail.com>2021-03-07 21:44:20 +0100
committerJishinMaster <francois.turban@gmail.com>2021-03-13 21:48:04 +0100
commitaec45ea63755a7a9414d7c6a81d570200e948806 (patch)
treec2ec91cfcc73fe29de643afc07a68ede3bd39c36 /src
parentce44c3adb57fc8d464a41d3db8103dc3fe0e86c4 (diff)
set the correct flop count for xgemm
Diffstat (limited to 'src')
-rw-r--r--src/tuning/kernels/xgemm.hpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/tuning/kernels/xgemm.hpp b/src/tuning/kernels/xgemm.hpp
index fa1bb6ec..a2ef50c3 100644
--- a/src/tuning/kernels/xgemm.hpp
+++ b/src/tuning/kernels/xgemm.hpp
@@ -159,7 +159,13 @@ TunerSettings XgemmGetTunerSettings(const int V, const Arguments<T> &args) {
}
// Describes how to compute the performance metrics
- settings.metric_amount = 2 * args.m * args.n * args.k;
+ if((args.precision == Precision::kComplexSingle) || (args.precision == Precision::kComplexDouble)) {
+ // complex flops
+ settings.metric_amount = args.m * args.n * (8 * args.k - 2);
+ } else {
+ // scalar flops
+ settings.metric_amount = args.m * args.n * (2 * args.k - 1);
+ }
settings.performance_unit = "GFLOPS";
return settings;