From 9f8745507020961b1c287febc3a5634b46ccb0e9 Mon Sep 17 00:00:00 2001 From: Cedric Nugteren Date: Wed, 25 May 2016 13:29:53 +0200 Subject: Added level-3 half-precision routines HGEMM/HSYMM/HSYRK/HSYR2K/HTRMM --- src/routines/level3/xsymm.cc | 1 + src/routines/level3/xsyr2k.cc | 2 ++ src/routines/level3/xsyrk.cc | 2 ++ src/routines/level3/xtrmm.cc | 1 + 4 files changed, 6 insertions(+) (limited to 'src/routines') diff --git a/src/routines/level3/xsymm.cc b/src/routines/level3/xsymm.cc index a39026f1..d88d4653 100644 --- a/src/routines/level3/xsymm.cc +++ b/src/routines/level3/xsymm.cc @@ -127,6 +127,7 @@ StatusCode Xsymm::DoSymm(const Layout layout, const Side side, const Triangle // ================================================================================================= // Compiles the templated class +template class Xsymm; template class Xsymm; template class Xsymm; template class Xsymm; diff --git a/src/routines/level3/xsyr2k.cc b/src/routines/level3/xsyr2k.cc index c52e1353..4f86bac5 100644 --- a/src/routines/level3/xsyr2k.cc +++ b/src/routines/level3/xsyr2k.cc @@ -20,6 +20,7 @@ namespace clblast { // ================================================================================================= // Specific implementations to get the memory-type based on a template argument +template <> const Precision Xsyr2k::precision_ = Precision::kHalf; template <> const Precision Xsyr2k::precision_ = Precision::kSingle; template <> const Precision Xsyr2k::precision_ = Precision::kDouble; template <> const Precision Xsyr2k::precision_ = Precision::kComplexSingle; @@ -203,6 +204,7 @@ StatusCode Xsyr2k::DoSyr2k(const Layout layout, const Triangle triangle, cons // ================================================================================================= // Compiles the templated class +template class Xsyr2k; template class Xsyr2k; template class Xsyr2k; template class Xsyr2k; diff --git a/src/routines/level3/xsyrk.cc b/src/routines/level3/xsyrk.cc index cfcd4e12..52cb58c0 100644 --- a/src/routines/level3/xsyrk.cc +++ b/src/routines/level3/xsyrk.cc @@ -20,6 +20,7 @@ namespace clblast { // ================================================================================================= // Specific implementations to get the memory-type based on a template argument +template <> const Precision Xsyrk::precision_ = Precision::kHalf; template <> const Precision Xsyrk::precision_ = Precision::kSingle; template <> const Precision Xsyrk::precision_ = Precision::kDouble; template <> const Precision Xsyrk::precision_ = Precision::kComplexSingle; @@ -175,6 +176,7 @@ StatusCode Xsyrk::DoSyrk(const Layout layout, const Triangle triangle, const // ================================================================================================= // Compiles the templated class +template class Xsyrk; template class Xsyrk; template class Xsyrk; template class Xsyrk; diff --git a/src/routines/level3/xtrmm.cc b/src/routines/level3/xtrmm.cc index 9e3b27b4..18cbb1c0 100644 --- a/src/routines/level3/xtrmm.cc +++ b/src/routines/level3/xtrmm.cc @@ -130,6 +130,7 @@ StatusCode Xtrmm::DoTrmm(const Layout layout, const Side side, const Triangle // ================================================================================================= // Compiles the templated class +template class Xtrmm; template class Xtrmm; template class Xtrmm; template class Xtrmm; -- cgit v1.2.3