[Bug] Fix redundant call to sgemv fp16 function
authorDebadri Samaddar <s.debadri@samsung.com>
Fri, 4 Aug 2023 09:42:21 +0000 (15:12 +0530)
committerJijoong Moon <jijoong.moon@samsung.com>
Mon, 21 Aug 2023 06:29:23 +0000 (15:29 +0900)
Added conditions for handling function call based USE__FP16 identifier.

Signed-off-by: Debadri Samaddar <s.debadri@samsung.com>
nntrainer/tensor/blas_interface.cpp

index 1318c58cb92a5e33d42ae8534925644e5256b4d2..8882a8eb755ca81fc90d82cc7a1b725a3360ca19 100644 (file)
@@ -84,22 +84,24 @@ static void sgemv_FP16(CBLAS_ORDER order, CBLAS_TRANSPOSE TransA,
 
   if (TransA == CblasTrans) {
 #ifdef USE__FP16
-    if (incX == 1 && incY == 1 && (N % 16 == 0 || N % 8 == 0 || N % 4 == 0)) {
+    if (incX == 1 && incY == 1 && (N % 16 == 0 || N % 8 == 0)) {
       nntrainer::neon::sgemv_transpose_neon_fp16(A, X, Y, M, N, alpha, beta);
     } else {
-      sgemv_loop(i, j, N, M);
+      sgemv_loop_fp16(i, j, N, M);
     }
-#endif
+#else
     sgemv_loop_fp16(i, j, N, M);
+#endif
   } else {
 #ifdef USE__FP16
-    if (incX == 1 && incY == 1 && (N % 16 == 0 || N % 8 == 0 || N % 4 == 0)) {
+    if (incX == 1 && incY == 1 && (N % 16 == 0 || N % 8 == 0)) {
       nntrainer::neon::sgemv_neon_fp16(A, X, Y, M, N, alpha, beta);
     } else {
-      sgemv_loop(j, i, M, N);
+      sgemv_loop_fp16(j, i, M, N);
     }
-#endif
+#else
     sgemv_loop_fp16(j, i, M, N);
+#endif
   }
 }