getfem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Getfem-commits] [getfem-commits] branch master updated: Fix bug in blas


From: Konstantinos Poulios
Subject: [Getfem-commits] [getfem-commits] branch master updated: Fix bug in blas interface for the Hermitian product
Date: Wed, 20 Dec 2023 16:43:24 -0500

This is an automated email from the git hooks/post-receive script.

logari81 pushed a commit to branch master
in repository getfem.

The following commit(s) were added to refs/heads/master by this push:
     new 9fd428c7 Fix bug in blas interface for the Hermitian product
9fd428c7 is described below

commit 9fd428c7b377d7191455cbfe5b2515ea540dc625
Author: Konstantinos Poulios <logari81@gmail.com>
AuthorDate: Wed Dec 20 22:43:14 2023 +0100

    Fix bug in blas interface for the Hermitian product
---
 src/gmm/gmm_blas_interface.h | 33 +++++++++++++++++----------------
 1 file changed, 17 insertions(+), 16 deletions(-)

diff --git a/src/gmm/gmm_blas_interface.h b/src/gmm/gmm_blas_interface.h
index 9a3ba519..cc8fdee4 100644
--- a/src/gmm/gmm_blas_interface.h
+++ b/src/gmm/gmm_blas_interface.h
@@ -169,6 +169,7 @@ namespace gmm {
     void saxpy_(...); /*void daxpy_(...); */void caxpy_(...); void zaxpy_(...);
     BLAS_S sdot_ (...); BLAS_D ddot_ (...);
     BLAS_C cdotu_(...); BLAS_Z zdotu_(...);
+    // Hermitian product in {c,z}dotc is defined in reverse order than usually
     BLAS_C cdotc_(...); BLAS_Z zdotc_(...);
     BLAS_S snrm2_(...); BLAS_D dnrm2_(...);
     BLAS_S scnrm2_(...); BLAS_D dznrm2_(...);
@@ -300,37 +301,37 @@ namespace gmm {
                  dotc_p2, dotc_trans2, (BLAS_S), sdot_,  BLAS_S)
   dotc_interface(dotc_p1, dotc_trans1, (BLAS_D),
                  dotc_p2, dotc_trans2, (BLAS_D), ddot_,  BLAS_D)
-  dotc_interface(dotc_p1, dotc_trans1, (BLAS_C),
-                 dotc_p2, dotc_trans2, (BLAS_C), cdotc_, BLAS_C)
-  dotc_interface(dotc_p1, dotc_trans1, (BLAS_Z),
-                 dotc_p2, dotc_trans2, (BLAS_Z), zdotc_, BLAS_Z)
+  dotc_interface(dotc_p2, dotc_trans2, (BLAS_C),
+                 dotc_p1, dotc_trans1, (BLAS_C), cdotc_, BLAS_C)
+  dotc_interface(dotc_p2, dotc_trans2, (BLAS_Z),
+                 dotc_p1, dotc_trans1, (BLAS_Z), zdotc_, BLAS_Z)
 
   dotc_interface(dotc_p1_s, dotc_trans1_s, a*,
                  dotc_p2,   dotc_trans2,   (BLAS_S), sdot_,  BLAS_S)
   dotc_interface(dotc_p1_s, dotc_trans1_s, a*,
                  dotc_p2,   dotc_trans2,   (BLAS_D), ddot_,  BLAS_D)
-  dotc_interface(dotc_p1_s, dotc_trans1_s, a*,
-                 dotc_p2,   dotc_trans2,   (BLAS_C), cdotc_, BLAS_C)
-  dotc_interface(dotc_p1_s, dotc_trans1_s, a*,
-                 dotc_p2,   dotc_trans2,   (BLAS_Z), zdotc_, BLAS_Z)
+  dotc_interface(dotc_p2,   dotc_trans2,   (BLAS_C),
+                 dotc_p1_s, dotc_trans1_s, a*,       cdotc_, BLAS_C)
+  dotc_interface(dotc_p2,   dotc_trans2,   (BLAS_Z),
+                 dotc_p1_s, dotc_trans1_s, a*,       zdotc_, BLAS_Z)
 
   dotc_interface(dotc_p1,   dotc_trans1,   (BLAS_S),
                  dotc_p2_s, dotc_trans2_s, b*,       sdot_,  BLAS_S)
   dotc_interface(dotc_p1,   dotc_trans1,   (BLAS_D),
                  dotc_p2_s, dotc_trans2_s, b*,       ddot_,  BLAS_D)
-  dotc_interface(dotc_p1,   dotc_trans1,   (BLAS_C),
-                 dotc_p2_s, dotc_trans2_s, b*,       cdotc_, BLAS_C)
-  dotc_interface(dotc_p1,   dotc_trans1,   (BLAS_Z),
-                 dotc_p2_s, dotc_trans2_s, b*,       zdotc_, BLAS_Z)
+  dotc_interface(dotc_p2_s, dotc_trans2_s, b*,
+                 dotc_p1,   dotc_trans1,   (BLAS_C), cdotc_, BLAS_C)
+  dotc_interface(dotc_p2_s, dotc_trans2_s, b*,
+                 dotc_p1,   dotc_trans1,   (BLAS_Z), zdotc_, BLAS_Z)
 
   dotc_interface(dotc_p1_s, dotc_trans1_s, a*,
                  dotc_p2_s, dotc_trans2_s, b*, sdot_,  BLAS_S)
   dotc_interface(dotc_p1_s, dotc_trans1_s, a*,
                  dotc_p2_s, dotc_trans2_s, b*, ddot_,  BLAS_D)
-  dotc_interface(dotc_p1_s, dotc_trans1_s, a*,
-                 dotc_p2_s, dotc_trans2_s, b*, cdotc_, BLAS_C)
-  dotc_interface(dotc_p1_s, dotc_trans1_s, a*,
-                 dotc_p2_s, dotc_trans2_s, b*, zdotc_, BLAS_Z)
+  dotc_interface(dotc_p2_s, dotc_trans2_s, b*,
+                 dotc_p1_s, dotc_trans1_s, a*, cdotc_, BLAS_C)
+  dotc_interface(dotc_p2_s, dotc_trans2_s, b*,
+                 dotc_p1_s, dotc_trans1_s, a*, zdotc_, BLAS_Z)
 
   /* ********************************************************************* */
   /* add(x, y).                                                            */



reply via email to

[Prev in Thread] Current Thread [Next in Thread]