summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCNugteren <web@cedricnugteren.nl>2015-08-04 08:15:39 +0200
committerCNugteren <web@cedricnugteren.nl>2015-08-04 08:15:39 +0200
commit75b4d92ac3afb25af415ef2a7ab94e284aafeeb1 (patch)
tree4992e22678500cdd2b4d270a34da694244d8589c
parentd1a7cf18ecfee1879d00e3a19ce129ee058dd84f (diff)
Added distinguished names for GEMV inherited HEMV/SYMV
-rw-r--r--include/internal/routines/level2/xgemv.h2
-rw-r--r--include/internal/routines/level2/xhemv.h2
-rw-r--r--include/internal/routines/level2/xsymv.h2
-rw-r--r--src/kernels/xgemv.opencl10
-rw-r--r--src/routines/level2/xgemv.cc4
-rw-r--r--src/routines/level2/xhemv.cc4
-rw-r--r--src/routines/level2/xsymv.cc4
7 files changed, 9 insertions, 19 deletions
diff --git a/include/internal/routines/level2/xgemv.h b/include/internal/routines/level2/xgemv.h
index 5ada9b03..1e120a5e 100644
--- a/include/internal/routines/level2/xgemv.h
+++ b/include/internal/routines/level2/xgemv.h
@@ -36,7 +36,7 @@ class Xgemv: public Routine<T> {
using Routine<T>::ErrorIn;
// Constructor
- Xgemv(Queue &queue, Event &event);
+ Xgemv(Queue &queue, Event &event, const std::string &name = "GEMV");
// Templated-precision implementation of the routine
StatusCode DoGemv(const Layout layout, const Transpose a_transpose,
diff --git a/include/internal/routines/level2/xhemv.h b/include/internal/routines/level2/xhemv.h
index 4c80fffe..801b2fc3 100644
--- a/include/internal/routines/level2/xhemv.h
+++ b/include/internal/routines/level2/xhemv.h
@@ -37,7 +37,7 @@ class Xhemv: public Xgemv<T> {
using Xgemv<T>::DoGemv;
// Constructor
- Xhemv(Queue &queue, Event &event);
+ Xhemv(Queue &queue, Event &event, const std::string &name = "HEMV");
// Templated-precision implementation of the routine
StatusCode DoHemv(const Layout layout, const Triangle triangle,
diff --git a/include/internal/routines/level2/xsymv.h b/include/internal/routines/level2/xsymv.h
index d6a36489..ab6da6d1 100644
--- a/include/internal/routines/level2/xsymv.h
+++ b/include/internal/routines/level2/xsymv.h
@@ -39,7 +39,7 @@ class Xsymv: public Xgemv<T> {
using Xgemv<T>::DoGemv;
// Constructor
- Xsymv(Queue &queue, Event &event);
+ Xsymv(Queue &queue, Event &event, const std::string &name = "SYMV");
// Templated-precision implementation of the routine
StatusCode DoSymv(const Layout layout, const Triangle triangle,
diff --git a/src/kernels/xgemv.opencl b/src/kernels/xgemv.opencl
index 5bbf69b9..1e12dd78 100644
--- a/src/kernels/xgemv.opencl
+++ b/src/kernels/xgemv.opencl
@@ -79,16 +79,7 @@ R"(
#endif
// =================================================================================================
-// Defines how to load the input matrix in case of a symmetric matrix
-#if defined(ROUTINE_SYMV)
-
-// =================================================================================================
-// Defines how to load the input matrix in case of a hermetian matrix
-#elif defined(ROUTINE_HEMV)
-
-// =================================================================================================
// Defines how to load the input matrix in the regular case
-#else
// Loads a scalar input value
inline real LoadMatrixA(const __global real* restrict agm, const int x, const int y,
@@ -106,7 +97,6 @@ inline realVFR LoadMatrixAVFR(const __global realVFR* restrict agm, const int x,
return agm[x + a_ld*y];
}
-#endif
// =================================================================================================
// Full version of the kernel
diff --git a/src/routines/level2/xgemv.cc b/src/routines/level2/xgemv.cc
index 99b282b0..f95a9957 100644
--- a/src/routines/level2/xgemv.cc
+++ b/src/routines/level2/xgemv.cc
@@ -29,8 +29,8 @@ template <> const Precision Xgemv<double2>::precision_ = Precision::kComplexDoub
// Constructor: forwards to base class constructor
template <typename T>
-Xgemv<T>::Xgemv(Queue &queue, Event &event):
- Routine<T>(queue, event, "GEMV", {"Pad", "Xgemv"}, precision_) {
+Xgemv<T>::Xgemv(Queue &queue, Event &event, const std::string &name):
+ Routine<T>(queue, event, name, {"Pad", "Xgemv"}, precision_) {
source_string_ =
#include "../../kernels/pad.opencl" // For {Herm,Symm}{Upper,Lower}ToSquared (for HEMV/SYMV)
#include "../../kernels/xgemv.opencl"
diff --git a/src/routines/level2/xhemv.cc b/src/routines/level2/xhemv.cc
index 7883b7b9..2d92e45f 100644
--- a/src/routines/level2/xhemv.cc
+++ b/src/routines/level2/xhemv.cc
@@ -21,8 +21,8 @@ namespace clblast {
// Constructor: forwards to base class constructor
template <typename T>
-Xhemv<T>::Xhemv(Queue &queue, Event &event):
- Xgemv<T>(queue, event) {
+Xhemv<T>::Xhemv(Queue &queue, Event &event, const std::string &name):
+ Xgemv<T>(queue, event, name) {
}
// =================================================================================================
diff --git a/src/routines/level2/xsymv.cc b/src/routines/level2/xsymv.cc
index 1b0ab6d7..2ccb51f6 100644
--- a/src/routines/level2/xsymv.cc
+++ b/src/routines/level2/xsymv.cc
@@ -21,8 +21,8 @@ namespace clblast {
// Constructor: forwards to base class constructor
template <typename T>
-Xsymv<T>::Xsymv(Queue &queue, Event &event):
- Xgemv<T>(queue, event) {
+Xsymv<T>::Xsymv(Queue &queue, Event &event, const std::string &name):
+ Xgemv<T>(queue, event, name) {
}
// =================================================================================================