summaryrefslogtreecommitdiff
path: root/src/routines
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2016-05-22 15:38:26 +0200
committerCedric Nugteren <web@cedricnugteren.nl>2016-05-22 15:38:26 +0200
commit95b828da124b9c5c101d95cb51a12e9d387d1a34 (patch)
treedf7408341adff83698db0c9fc9e4376df904a4bb /src/routines
parentb6268d0c22732d2d1b0832cbbf1a33c21a13b442 (diff)
Added level-2 half-precision routines HGEMV/HGBMV/HHEMV/HHBMV/HHPMV/HSYMV/HSBMV/HSPMV/HTRMV/HTBMV/HTPMV
Diffstat (limited to 'src/routines')
-rw-r--r--src/routines/level2/xgbmv.cc1
-rw-r--r--src/routines/level2/xgemv.cc2
-rw-r--r--src/routines/level2/xsbmv.cc1
-rw-r--r--src/routines/level2/xspmv.cc1
-rw-r--r--src/routines/level2/xsymv.cc1
-rw-r--r--src/routines/level2/xtbmv.cc1
-rw-r--r--src/routines/level2/xtpmv.cc1
-rw-r--r--src/routines/level2/xtrmv.cc1
8 files changed, 9 insertions, 0 deletions
diff --git a/src/routines/level2/xgbmv.cc b/src/routines/level2/xgbmv.cc
index f90e26b2..7a30c34a 100644
--- a/src/routines/level2/xgbmv.cc
+++ b/src/routines/level2/xgbmv.cc
@@ -58,6 +58,7 @@ StatusCode Xgbmv<T>::DoGbmv(const Layout layout, const Transpose a_transpose,
// =================================================================================================
// Compiles the templated class
+template class Xgbmv<half>;
template class Xgbmv<float>;
template class Xgbmv<double>;
template class Xgbmv<float2>;
diff --git a/src/routines/level2/xgemv.cc b/src/routines/level2/xgemv.cc
index 4d6437a2..71839e96 100644
--- a/src/routines/level2/xgemv.cc
+++ b/src/routines/level2/xgemv.cc
@@ -20,6 +20,7 @@ namespace clblast {
// =================================================================================================
// Specific implementations to get the memory-type based on a template argument
+template <> const Precision Xgemv<half>::precision_ = Precision::kHalf;
template <> const Precision Xgemv<float>::precision_ = Precision::kSingle;
template <> const Precision Xgemv<double>::precision_ = Precision::kDouble;
template <> const Precision Xgemv<float2>::precision_ = Precision::kComplexSingle;
@@ -179,6 +180,7 @@ StatusCode Xgemv<T>::MatVec(const Layout layout, const Transpose a_transpose,
// =================================================================================================
// Compiles the templated class
+template class Xgemv<half>;
template class Xgemv<float>;
template class Xgemv<double>;
template class Xgemv<float2>;
diff --git a/src/routines/level2/xsbmv.cc b/src/routines/level2/xsbmv.cc
index bc82c88d..66ba74e8 100644
--- a/src/routines/level2/xsbmv.cc
+++ b/src/routines/level2/xsbmv.cc
@@ -57,6 +57,7 @@ StatusCode Xsbmv<T>::DoSbmv(const Layout layout, const Triangle triangle,
// =================================================================================================
// Compiles the templated class
+template class Xsbmv<half>;
template class Xsbmv<float>;
template class Xsbmv<double>;
diff --git a/src/routines/level2/xspmv.cc b/src/routines/level2/xspmv.cc
index 6e00dcfa..589a97d4 100644
--- a/src/routines/level2/xspmv.cc
+++ b/src/routines/level2/xspmv.cc
@@ -57,6 +57,7 @@ StatusCode Xspmv<T>::DoSpmv(const Layout layout, const Triangle triangle,
// =================================================================================================
// Compiles the templated class
+template class Xspmv<half>;
template class Xspmv<float>;
template class Xspmv<double>;
diff --git a/src/routines/level2/xsymv.cc b/src/routines/level2/xsymv.cc
index a9eb284f..2a404a8a 100644
--- a/src/routines/level2/xsymv.cc
+++ b/src/routines/level2/xsymv.cc
@@ -57,6 +57,7 @@ StatusCode Xsymv<T>::DoSymv(const Layout layout, const Triangle triangle,
// =================================================================================================
// Compiles the templated class
+template class Xsymv<half>;
template class Xsymv<float>;
template class Xsymv<double>;
diff --git a/src/routines/level2/xtbmv.cc b/src/routines/level2/xtbmv.cc
index 47371c87..86e28dfb 100644
--- a/src/routines/level2/xtbmv.cc
+++ b/src/routines/level2/xtbmv.cc
@@ -72,6 +72,7 @@ StatusCode Xtbmv<T>::DoTbmv(const Layout layout, const Triangle triangle,
// =================================================================================================
// Compiles the templated class
+template class Xtbmv<half>;
template class Xtbmv<float>;
template class Xtbmv<double>;
template class Xtbmv<float2>;
diff --git a/src/routines/level2/xtpmv.cc b/src/routines/level2/xtpmv.cc
index c63cb9b2..72445547 100644
--- a/src/routines/level2/xtpmv.cc
+++ b/src/routines/level2/xtpmv.cc
@@ -72,6 +72,7 @@ StatusCode Xtpmv<T>::DoTpmv(const Layout layout, const Triangle triangle,
// =================================================================================================
// Compiles the templated class
+template class Xtpmv<half>;
template class Xtpmv<float>;
template class Xtpmv<double>;
template class Xtpmv<float2>;
diff --git a/src/routines/level2/xtrmv.cc b/src/routines/level2/xtrmv.cc
index 9111d41d..df6f85a3 100644
--- a/src/routines/level2/xtrmv.cc
+++ b/src/routines/level2/xtrmv.cc
@@ -72,6 +72,7 @@ StatusCode Xtrmv<T>::DoTrmv(const Layout layout, const Triangle triangle,
// =================================================================================================
// Compiles the templated class
+template class Xtrmv<half>;
template class Xtrmv<float>;
template class Xtrmv<double>;
template class Xtrmv<float2>;