From 95b828da124b9c5c101d95cb51a12e9d387d1a34 Mon Sep 17 00:00:00 2001 From: Cedric Nugteren Date: Sun, 22 May 2016 15:38:26 +0200 Subject: Added level-2 half-precision routines HGEMV/HGBMV/HHEMV/HHBMV/HHPMV/HSYMV/HSBMV/HSPMV/HTRMV/HTBMV/HTPMV --- src/routines/level2/xgbmv.cc | 1 + src/routines/level2/xgemv.cc | 2 ++ src/routines/level2/xsbmv.cc | 1 + src/routines/level2/xspmv.cc | 1 + src/routines/level2/xsymv.cc | 1 + src/routines/level2/xtbmv.cc | 1 + src/routines/level2/xtpmv.cc | 1 + src/routines/level2/xtrmv.cc | 1 + 8 files changed, 9 insertions(+) (limited to 'src/routines') 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::DoGbmv(const Layout layout, const Transpose a_transpose, // ================================================================================================= // Compiles the templated class +template class Xgbmv; template class Xgbmv; template class Xgbmv; template class Xgbmv; 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::precision_ = Precision::kHalf; template <> const Precision Xgemv::precision_ = Precision::kSingle; template <> const Precision Xgemv::precision_ = Precision::kDouble; template <> const Precision Xgemv::precision_ = Precision::kComplexSingle; @@ -179,6 +180,7 @@ StatusCode Xgemv::MatVec(const Layout layout, const Transpose a_transpose, // ================================================================================================= // Compiles the templated class +template class Xgemv; template class Xgemv; template class Xgemv; template class Xgemv; 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::DoSbmv(const Layout layout, const Triangle triangle, // ================================================================================================= // Compiles the templated class +template class Xsbmv; template class Xsbmv; template class Xsbmv; 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::DoSpmv(const Layout layout, const Triangle triangle, // ================================================================================================= // Compiles the templated class +template class Xspmv; template class Xspmv; template class Xspmv; 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::DoSymv(const Layout layout, const Triangle triangle, // ================================================================================================= // Compiles the templated class +template class Xsymv; template class Xsymv; template class Xsymv; 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::DoTbmv(const Layout layout, const Triangle triangle, // ================================================================================================= // Compiles the templated class +template class Xtbmv; template class Xtbmv; template class Xtbmv; template class Xtbmv; 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::DoTpmv(const Layout layout, const Triangle triangle, // ================================================================================================= // Compiles the templated class +template class Xtpmv; template class Xtpmv; template class Xtpmv; template class Xtpmv; 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::DoTrmv(const Layout layout, const Triangle triangle, // ================================================================================================= // Compiles the templated class +template class Xtrmv; template class Xtrmv; template class Xtrmv; template class Xtrmv; -- cgit v1.2.3