diff options
author | Cedric Nugteren <web@cedricnugteren.nl> | 2016-06-18 20:20:13 +0200 |
---|---|---|
committer | Cedric Nugteren <web@cedricnugteren.nl> | 2016-06-18 20:20:13 +0200 |
commit | f726fbdc9fef937fbe32222f0e66aac8d7e2678c (patch) | |
tree | cb62cc877ea239052fb1882f7bf327aace3e7776 /include/internal/routines/level2 | |
parent | bacb5d2bb2ea7b141034878090aca850db8f9d00 (diff) |
Moved all headers into the source tree, changed headers to .hpp extension
Diffstat (limited to 'include/internal/routines/level2')
22 files changed, 0 insertions, 1044 deletions
diff --git a/include/internal/routines/level2/xgbmv.h b/include/internal/routines/level2/xgbmv.h deleted file mode 100644 index bc94c77d..00000000 --- a/include/internal/routines/level2/xgbmv.h +++ /dev/null @@ -1,49 +0,0 @@ - -// ================================================================================================= -// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This -// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max- -// width of 100 characters per line. -// -// Author(s): -// Cedric Nugteren <www.cedricnugteren.nl> -// -// This file implements the Xgbmv routine. It is based on the generalized mat-vec multiplication -// routine (Xgemv). The Xgbmv class inherits from the templated class Xgemv, allowing it to call the -// "MatVec" function directly. -// -// ================================================================================================= - -#ifndef CLBLAST_ROUTINES_XGBMV_H_ -#define CLBLAST_ROUTINES_XGBMV_H_ - -#include "internal/routines/level2/xgemv.h" - -namespace clblast { -// ================================================================================================= - -// See comment at top of file for a description of the class -template <typename T> -class Xgbmv: public Xgemv<T> { - public: - - // Uses the generic matrix-vector routine - using Xgemv<T>::MatVec; - - // Constructor - Xgbmv(Queue &queue, EventPointer event, const std::string &name = "GBMV"); - - // Templated-precision implementation of the routine - StatusCode DoGbmv(const Layout layout, const Transpose a_transpose, - const size_t m, const size_t n, const size_t kl, const size_t ku, - const T alpha, - const Buffer<T> &a_buffer, const size_t a_offset, const size_t a_ld, - const Buffer<T> &x_buffer, const size_t x_offset, const size_t x_inc, - const T beta, - const Buffer<T> &y_buffer, const size_t y_offset, const size_t y_inc); -}; - -// ================================================================================================= -} // namespace clblast - -// CLBLAST_ROUTINES_XGBMV_H_ -#endif diff --git a/include/internal/routines/level2/xgemv.h b/include/internal/routines/level2/xgemv.h deleted file mode 100644 index e9804c62..00000000 --- a/include/internal/routines/level2/xgemv.h +++ /dev/null @@ -1,56 +0,0 @@ - -// ================================================================================================= -// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This -// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max- -// width of 100 characters per line. -// -// Author(s): -// Cedric Nugteren <www.cedricnugteren.nl> -// -// This file implements the Xgemv routine. The precision is implemented using a template argument. -// -// ================================================================================================= - -#ifndef CLBLAST_ROUTINES_XGEMV_H_ -#define CLBLAST_ROUTINES_XGEMV_H_ - -#include "internal/routine.h" - -namespace clblast { -// ================================================================================================= - -// See comment at top of file for a description of the class -template <typename T> -class Xgemv: public Routine { - public: - - // Constructor - Xgemv(Queue &queue, EventPointer event, const std::string &name = "GEMV"); - - // Templated-precision implementation of the routine - StatusCode DoGemv(const Layout layout, const Transpose a_transpose, - const size_t m, const size_t n, - const T alpha, - const Buffer<T> &a_buffer, const size_t a_offset, const size_t a_ld, - const Buffer<T> &x_buffer, const size_t x_offset, const size_t x_inc, - const T beta, - const Buffer<T> &y_buffer, const size_t y_offset, const size_t y_inc); - - // Generic version used also for other matrix-vector multiplications - StatusCode MatVec(const Layout layout, const Transpose a_transpose, - const size_t m, const size_t n, - const T alpha, - const Buffer<T> &a_buffer, const size_t a_offset, const size_t a_ld, - const Buffer<T> &x_buffer, const size_t x_offset, const size_t x_inc, - const T beta, - const Buffer<T> &y_buffer, const size_t y_offset, const size_t y_inc, - bool fast_kernel, bool fast_kernel_rot, - const size_t parameter, const bool packed, - const size_t kl, const size_t ku); -}; - -// ================================================================================================= -} // namespace clblast - -// CLBLAST_ROUTINES_XGEMV_H_ -#endif diff --git a/include/internal/routines/level2/xger.h b/include/internal/routines/level2/xger.h deleted file mode 100644 index 184f8477..00000000 --- a/include/internal/routines/level2/xger.h +++ /dev/null @@ -1,43 +0,0 @@ - -// ================================================================================================= -// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This -// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max- -// width of 100 characters per line. -// -// Author(s): -// Cedric Nugteren <www.cedricnugteren.nl> -// -// This file implements the Xger routine. The precision is implemented using a template argument. -// -// ================================================================================================= - -#ifndef CLBLAST_ROUTINES_XGER_H_ -#define CLBLAST_ROUTINES_XGER_H_ - -#include "internal/routine.h" - -namespace clblast { -// ================================================================================================= - -// See comment at top of file for a description of the class -template <typename T> -class Xger: public Routine { - public: - - // Constructor - Xger(Queue &queue, EventPointer event, const std::string &name = "GER"); - - // Templated-precision implementation of the routine - StatusCode DoGer(const Layout layout, - const size_t m, const size_t n, - const T alpha, - const Buffer<T> &x_buffer, const size_t x_offset, const size_t x_inc, - const Buffer<T> &y_buffer, const size_t y_offset, const size_t y_inc, - const Buffer<T> &a_buffer, const size_t a_offset, const size_t a_ld); -}; - -// ================================================================================================= -} // namespace clblast - -// CLBLAST_ROUTINES_XGER_H_ -#endif diff --git a/include/internal/routines/level2/xgerc.h b/include/internal/routines/level2/xgerc.h deleted file mode 100644 index 6d06ef94..00000000 --- a/include/internal/routines/level2/xgerc.h +++ /dev/null @@ -1,46 +0,0 @@ - -// ================================================================================================= -// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This -// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max- -// width of 100 characters per line. -// -// Author(s): -// Cedric Nugteren <www.cedricnugteren.nl> -// -// This file implements the Xgerc routine. The precision is implemented using a template argument. -// -// ================================================================================================= - -#ifndef CLBLAST_ROUTINES_XGERC_H_ -#define CLBLAST_ROUTINES_XGERC_H_ - -#include "internal/routines/level2/xger.h" - -namespace clblast { -// ================================================================================================= - -// See comment at top of file for a description of the class -template <typename T> -class Xgerc: public Xger<T> { - public: - - // Uses the regular Xger routine - using Xger<T>::DoGer; - - // Constructor - Xgerc(Queue &queue, EventPointer event, const std::string &name = "GERC"); - - // Templated-precision implementation of the routine - StatusCode DoGerc(const Layout layout, - const size_t m, const size_t n, - const T alpha, - const Buffer<T> &x_buffer, const size_t x_offset, const size_t x_inc, - const Buffer<T> &y_buffer, const size_t y_offset, const size_t y_inc, - const Buffer<T> &a_buffer, const size_t a_offset, const size_t a_ld); -}; - -// ================================================================================================= -} // namespace clblast - -// CLBLAST_ROUTINES_XGERC_H_ -#endif diff --git a/include/internal/routines/level2/xgeru.h b/include/internal/routines/level2/xgeru.h deleted file mode 100644 index 45ce1cba..00000000 --- a/include/internal/routines/level2/xgeru.h +++ /dev/null @@ -1,46 +0,0 @@ - -// ================================================================================================= -// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This -// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max- -// width of 100 characters per line. -// -// Author(s): -// Cedric Nugteren <www.cedricnugteren.nl> -// -// This file implements the Xgeru routine. The precision is implemented using a template argument. -// -// ================================================================================================= - -#ifndef CLBLAST_ROUTINES_XGERU_H_ -#define CLBLAST_ROUTINES_XGERU_H_ - -#include "internal/routines/level2/xger.h" - -namespace clblast { -// ================================================================================================= - -// See comment at top of file for a description of the class -template <typename T> -class Xgeru: public Xger<T> { - public: - - // Uses the regular Xger routine - using Xger<T>::DoGer; - - // Constructor - Xgeru(Queue &queue, EventPointer event, const std::string &name = "GERU"); - - // Templated-precision implementation of the routine - StatusCode DoGeru(const Layout layout, - const size_t m, const size_t n, - const T alpha, - const Buffer<T> &x_buffer, const size_t x_offset, const size_t x_inc, - const Buffer<T> &y_buffer, const size_t y_offset, const size_t y_inc, - const Buffer<T> &a_buffer, const size_t a_offset, const size_t a_ld); -}; - -// ================================================================================================= -} // namespace clblast - -// CLBLAST_ROUTINES_XGERU_H_ -#endif diff --git a/include/internal/routines/level2/xhbmv.h b/include/internal/routines/level2/xhbmv.h deleted file mode 100644 index f0a6212c..00000000 --- a/include/internal/routines/level2/xhbmv.h +++ /dev/null @@ -1,49 +0,0 @@ - -// ================================================================================================= -// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This -// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max- -// width of 100 characters per line. -// -// Author(s): -// Cedric Nugteren <www.cedricnugteren.nl> -// -// This file implements the Xhbmv routine. It is based on the generalized mat-vec multiplication -// routine (Xgemv). The Xhbmv class inherits from the templated class Xgemv, allowing it to call the -// "MatVec" function directly. -// -// ================================================================================================= - -#ifndef CLBLAST_ROUTINES_XHBMV_H_ -#define CLBLAST_ROUTINES_XHBMV_H_ - -#include "internal/routines/level2/xgemv.h" - -namespace clblast { -// ================================================================================================= - -// See comment at top of file for a description of the class -template <typename T> -class Xhbmv: public Xgemv<T> { - public: - - // Uses the generic matrix-vector routine - using Xgemv<T>::MatVec; - - // Constructor - Xhbmv(Queue &queue, EventPointer event, const std::string &name = "HBMV"); - - // Templated-precision implementation of the routine - StatusCode DoHbmv(const Layout layout, const Triangle triangle, - const size_t n, const size_t k, - const T alpha, - const Buffer<T> &a_buffer, const size_t a_offset, const size_t a_ld, - const Buffer<T> &x_buffer, const size_t x_offset, const size_t x_inc, - const T beta, - const Buffer<T> &y_buffer, const size_t y_offset, const size_t y_inc); -}; - -// ================================================================================================= -} // namespace clblast - -// CLBLAST_ROUTINES_XHBMV_H_ -#endif diff --git a/include/internal/routines/level2/xhemv.h b/include/internal/routines/level2/xhemv.h deleted file mode 100644 index 3daf2457..00000000 --- a/include/internal/routines/level2/xhemv.h +++ /dev/null @@ -1,49 +0,0 @@ - -// ================================================================================================= -// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This -// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max- -// width of 100 characters per line. -// -// Author(s): -// Cedric Nugteren <www.cedricnugteren.nl> -// -// This file implements the Xhemv routine. It is based on the generalized mat-vec multiplication -// routine (Xgemv). The Xhemv class inherits from the templated class Xgemv, allowing it to call the -// "MatVec" function directly. -// -// ================================================================================================= - -#ifndef CLBLAST_ROUTINES_XHEMV_H_ -#define CLBLAST_ROUTINES_XHEMV_H_ - -#include "internal/routines/level2/xgemv.h" - -namespace clblast { -// ================================================================================================= - -// See comment at top of file for a description of the class -template <typename T> -class Xhemv: public Xgemv<T> { - public: - - // Uses the generic matrix-vector routine - using Xgemv<T>::MatVec; - - // Constructor - Xhemv(Queue &queue, EventPointer event, const std::string &name = "HEMV"); - - // Templated-precision implementation of the routine - StatusCode DoHemv(const Layout layout, const Triangle triangle, - const size_t n, - const T alpha, - const Buffer<T> &a_buffer, const size_t a_offset, const size_t a_ld, - const Buffer<T> &x_buffer, const size_t x_offset, const size_t x_inc, - const T beta, - const Buffer<T> &y_buffer, const size_t y_offset, const size_t y_inc); -}; - -// ================================================================================================= -} // namespace clblast - -// CLBLAST_ROUTINES_XHEMV_H_ -#endif diff --git a/include/internal/routines/level2/xher.h b/include/internal/routines/level2/xher.h deleted file mode 100644 index fca8bb97..00000000 --- a/include/internal/routines/level2/xher.h +++ /dev/null @@ -1,46 +0,0 @@ - -// ================================================================================================= -// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This -// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max- -// width of 100 characters per line. -// -// Author(s): -// Cedric Nugteren <www.cedricnugteren.nl> -// -// This file implements the Xher routine. The precision is implemented using a template argument. -// -// ================================================================================================= - -#ifndef CLBLAST_ROUTINES_XHER_H_ -#define CLBLAST_ROUTINES_XHER_H_ - -#include "internal/routine.h" - -namespace clblast { -// ================================================================================================= - -// See comment at top of file for a description of the class -template <typename T, typename U> -class Xher: public Routine { - public: - - // Constructor - Xher(Queue &queue, EventPointer event, const std::string &name = "HER"); - - // Translates alpha of type 'U' into type 'T' - T GetAlpha(const U alpha); - - // Templated-precision implementation of the routine - StatusCode DoHer(const Layout layout, const Triangle triangle, - const size_t n, - const U alpha, - const Buffer<T> &x_buffer, const size_t x_offset, const size_t x_inc, - const Buffer<T> &a_buffer, const size_t a_offset, const size_t a_ld, - const bool packed = false); -}; - -// ================================================================================================= -} // namespace clblast - -// CLBLAST_ROUTINES_XHER_H_ -#endif diff --git a/include/internal/routines/level2/xher2.h b/include/internal/routines/level2/xher2.h deleted file mode 100644 index 9a7610f1..00000000 --- a/include/internal/routines/level2/xher2.h +++ /dev/null @@ -1,44 +0,0 @@ - -// ================================================================================================= -// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This -// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max- -// width of 100 characters per line. -// -// Author(s): -// Cedric Nugteren <www.cedricnugteren.nl> -// -// This file implements the Xher2 routine. The precision is implemented using a template argument. -// -// ================================================================================================= - -#ifndef CLBLAST_ROUTINES_XHER2_H_ -#define CLBLAST_ROUTINES_XHER2_H_ - -#include "internal/routine.h" - -namespace clblast { -// ================================================================================================= - -// See comment at top of file for a description of the class -template <typename T> -class Xher2: public Routine { - public: - - // Constructor - Xher2(Queue &queue, EventPointer event, const std::string &name = "HER2"); - - // Templated-precision implementation of the routine - StatusCode DoHer2(const Layout layout, const Triangle triangle, - const size_t n, - const T alpha, - const Buffer<T> &x_buffer, const size_t x_offset, const size_t x_inc, - const Buffer<T> &y_buffer, const size_t y_offset, const size_t y_inc, - const Buffer<T> &a_buffer, const size_t a_offset, const size_t a_ld, - const bool packed = false); -}; - -// ================================================================================================= -} // namespace clblast - -// CLBLAST_ROUTINES_XHER2_H_ -#endif diff --git a/include/internal/routines/level2/xhpmv.h b/include/internal/routines/level2/xhpmv.h deleted file mode 100644 index a1d5595a..00000000 --- a/include/internal/routines/level2/xhpmv.h +++ /dev/null @@ -1,49 +0,0 @@ - -// ================================================================================================= -// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This -// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max- -// width of 100 characters per line. -// -// Author(s): -// Cedric Nugteren <www.cedricnugteren.nl> -// -// This file implements the Xhpmv routine. It is based on the generalized mat-vec multiplication -// routine (Xgemv). The Xhpmv class inherits from the templated class Xgemv, allowing it to call the -// "MatVec" function directly. -// -// ================================================================================================= - -#ifndef CLBLAST_ROUTINES_XHPMV_H_ -#define CLBLAST_ROUTINES_XHPMV_H_ - -#include "internal/routines/level2/xgemv.h" - -namespace clblast { -// ================================================================================================= - -// See comment at top of file for a description of the class -template <typename T> -class Xhpmv: public Xgemv<T> { - public: - - // Uses the generic matrix-vector routine - using Xgemv<T>::MatVec; - - // Constructor - Xhpmv(Queue &queue, EventPointer event, const std::string &name = "HPMV"); - - // Templated-precision implementation of the routine - StatusCode DoHpmv(const Layout layout, const Triangle triangle, - const size_t n, - const T alpha, - const Buffer<T> &ap_buffer, const size_t ap_offset, - const Buffer<T> &x_buffer, const size_t x_offset, const size_t x_inc, - const T beta, - const Buffer<T> &y_buffer, const size_t y_offset, const size_t y_inc); -}; - -// ================================================================================================= -} // namespace clblast - -// CLBLAST_ROUTINES_XHPMV_H_ -#endif diff --git a/include/internal/routines/level2/xhpr.h b/include/internal/routines/level2/xhpr.h deleted file mode 100644 index 6554d74c..00000000 --- a/include/internal/routines/level2/xhpr.h +++ /dev/null @@ -1,45 +0,0 @@ - -// ================================================================================================= -// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This -// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max- -// width of 100 characters per line. -// -// Author(s): -// Cedric Nugteren <www.cedricnugteren.nl> -// -// This file implements the Xhpr routine. The precision is implemented using a template argument. -// -// ================================================================================================= - -#ifndef CLBLAST_ROUTINES_XHPR_H_ -#define CLBLAST_ROUTINES_XHPR_H_ - -#include "internal/routines/level2/xher.h" - -namespace clblast { -// ================================================================================================= - -// See comment at top of file for a description of the class -template <typename T, typename U> -class Xhpr: public Xher<T,U> { - public: - - // Uses the regular Xher routine - using Xher<T,U>::DoHer; - - // Constructor - Xhpr(Queue &queue, EventPointer event, const std::string &name = "HPR"); - - // Templated-precision implementation of the routine - StatusCode DoHpr(const Layout layout, const Triangle triangle, - const size_t n, - const U alpha, - const Buffer<T> &x_buffer, const size_t x_offset, const size_t x_inc, - const Buffer<T> &ap_buffer, const size_t ap_offset); -}; - -// ================================================================================================= -} // namespace clblast - -// CLBLAST_ROUTINES_XHPR_H_ -#endif diff --git a/include/internal/routines/level2/xhpr2.h b/include/internal/routines/level2/xhpr2.h deleted file mode 100644 index d95e7b61..00000000 --- a/include/internal/routines/level2/xhpr2.h +++ /dev/null @@ -1,46 +0,0 @@ - -// ================================================================================================= -// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This -// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max- -// width of 100 characters per line. -// -// Author(s): -// Cedric Nugteren <www.cedricnugteren.nl> -// -// This file implements the Xhpr2 routine. The precision is implemented using a template argument. -// -// ================================================================================================= - -#ifndef CLBLAST_ROUTINES_XHPR2_H_ -#define CLBLAST_ROUTINES_XHPR2_H_ - -#include "internal/routines/level2/xher2.h" - -namespace clblast { -// ================================================================================================= - -// See comment at top of file for a description of the class -template <typename T> -class Xhpr2: public Xher2<T> { - public: - - // Uses the regular Xher2 routine - using Xher2<T>::DoHer2; - - // Constructor - Xhpr2(Queue &queue, EventPointer event, const std::string &name = "HPR2"); - - // Templated-precision implementation of the routine - StatusCode DoHpr2(const Layout layout, const Triangle triangle, - const size_t n, - const T alpha, - const Buffer<T> &x_buffer, const size_t x_offset, const size_t x_inc, - const Buffer<T> &y_buffer, const size_t y_offset, const size_t y_inc, - const Buffer<T> &ap_buffer, const size_t ap_offset); -}; - -// ================================================================================================= -} // namespace clblast - -// CLBLAST_ROUTINES_XHPR2_H_ -#endif diff --git a/include/internal/routines/level2/xsbmv.h b/include/internal/routines/level2/xsbmv.h deleted file mode 100644 index 4328e377..00000000 --- a/include/internal/routines/level2/xsbmv.h +++ /dev/null @@ -1,49 +0,0 @@ - -// ================================================================================================= -// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This -// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max- -// width of 100 characters per line. -// -// Author(s): -// Cedric Nugteren <www.cedricnugteren.nl> -// -// This file implements the Xsbmv routine. It is based on the generalized mat-vec multiplication -// routine (Xgemv). The Xsbmv class inherits from the templated class Xgemv, allowing it to call the -// "MatVec" function directly. -// -// ================================================================================================= - -#ifndef CLBLAST_ROUTINES_XSBMV_H_ -#define CLBLAST_ROUTINES_XSBMV_H_ - -#include "internal/routines/level2/xgemv.h" - -namespace clblast { -// ================================================================================================= - -// See comment at top of file for a description of the class -template <typename T> -class Xsbmv: public Xgemv<T> { - public: - - // Uses the generic matrix-vector routine - using Xgemv<T>::MatVec; - - // Constructor - Xsbmv(Queue &queue, EventPointer event, const std::string &name = "SBMV"); - - // Templated-precision implementation of the routine - StatusCode DoSbmv(const Layout layout, const Triangle triangle, - const size_t n, const size_t k, - const T alpha, - const Buffer<T> &a_buffer, const size_t a_offset, const size_t a_ld, - const Buffer<T> &x_buffer, const size_t x_offset, const size_t x_inc, - const T beta, - const Buffer<T> &y_buffer, const size_t y_offset, const size_t y_inc); -}; - -// ================================================================================================= -} // namespace clblast - -// CLBLAST_ROUTINES_XSBMV_H_ -#endif diff --git a/include/internal/routines/level2/xspmv.h b/include/internal/routines/level2/xspmv.h deleted file mode 100644 index ca3e28b6..00000000 --- a/include/internal/routines/level2/xspmv.h +++ /dev/null @@ -1,49 +0,0 @@ - -// ================================================================================================= -// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This -// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max- -// width of 100 characters per line. -// -// Author(s): -// Cedric Nugteren <www.cedricnugteren.nl> -// -// This file implements the Xspmv routine. It is based on the generalized mat-vec multiplication -// routine (Xgemv). The Xspmv class inherits from the templated class Xgemv, allowing it to call the -// "MatVec" function directly. -// -// ================================================================================================= - -#ifndef CLBLAST_ROUTINES_XSPMV_H_ -#define CLBLAST_ROUTINES_XSPMV_H_ - -#include "internal/routines/level2/xgemv.h" - -namespace clblast { -// ================================================================================================= - -// See comment at top of file for a description of the class -template <typename T> -class Xspmv: public Xgemv<T> { - public: - - // Uses the generic matrix-vector routine - using Xgemv<T>::MatVec; - - // Constructor - Xspmv(Queue &queue, EventPointer event, const std::string &name = "SPMV"); - - // Templated-precision implementation of the routine - StatusCode DoSpmv(const Layout layout, const Triangle triangle, - const size_t n, - const T alpha, - const Buffer<T> &ap_buffer, const size_t ap_offset, - const Buffer<T> &x_buffer, const size_t x_offset, const size_t x_inc, - const T beta, - const Buffer<T> &y_buffer, const size_t y_offset, const size_t y_inc); -}; - -// ================================================================================================= -} // namespace clblast - -// CLBLAST_ROUTINES_XSPMV_H_ -#endif diff --git a/include/internal/routines/level2/xspr.h b/include/internal/routines/level2/xspr.h deleted file mode 100644 index 7e91abc5..00000000 --- a/include/internal/routines/level2/xspr.h +++ /dev/null @@ -1,45 +0,0 @@ - -// ================================================================================================= -// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This -// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max- -// width of 100 characters per line. -// -// Author(s): -// Cedric Nugteren <www.cedricnugteren.nl> -// -// This file implements the Xspr routine. The precision is implemented using a template argument. -// -// ================================================================================================= - -#ifndef CLBLAST_ROUTINES_XSPR_H_ -#define CLBLAST_ROUTINES_XSPR_H_ - -#include "internal/routines/level2/xher.h" - -namespace clblast { -// ================================================================================================= - -// See comment at top of file for a description of the class -template <typename T> -class Xspr: public Xher<T,T> { - public: - - // Uses the regular Xher routine - using Xher<T,T>::DoHer; - - // Constructor - Xspr(Queue &queue, EventPointer event, const std::string &name = "SPR"); - - // Templated-precision implementation of the routine - StatusCode DoSpr(const Layout layout, const Triangle triangle, - const size_t n, - const T alpha, - const Buffer<T> &x_buffer, const size_t x_offset, const size_t x_inc, - const Buffer<T> &ap_buffer, const size_t ap_offset); -}; - -// ================================================================================================= -} // namespace clblast - -// CLBLAST_ROUTINES_XSPR_H_ -#endif diff --git a/include/internal/routines/level2/xspr2.h b/include/internal/routines/level2/xspr2.h deleted file mode 100644 index a34be8e8..00000000 --- a/include/internal/routines/level2/xspr2.h +++ /dev/null @@ -1,46 +0,0 @@ - -// ================================================================================================= -// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This -// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max- -// width of 100 characters per line. -// -// Author(s): -// Cedric Nugteren <www.cedricnugteren.nl> -// -// This file implements the Xspr2 routine. The precision is implemented using a template argument. -// -// ================================================================================================= - -#ifndef CLBLAST_ROUTINES_XSPR2_H_ -#define CLBLAST_ROUTINES_XSPR2_H_ - -#include "internal/routines/level2/xher2.h" - -namespace clblast { -// ================================================================================================= - -// See comment at top of file for a description of the class -template <typename T> -class Xspr2: public Xher2<T> { - public: - - // Uses the regular Xher2 routine - using Xher2<T>::DoHer2; - - // Constructor - Xspr2(Queue &queue, EventPointer event, const std::string &name = "SPR2"); - - // Templated-precision implementation of the routine - StatusCode DoSpr2(const Layout layout, const Triangle triangle, - const size_t n, - const T alpha, - const Buffer<T> &x_buffer, const size_t x_offset, const size_t x_inc, - const Buffer<T> &y_buffer, const size_t y_offset, const size_t y_inc, - const Buffer<T> &ap_buffer, const size_t ap_offset); -}; - -// ================================================================================================= -} // namespace clblast - -// CLBLAST_ROUTINES_XSPR2_H_ -#endif diff --git a/include/internal/routines/level2/xsymv.h b/include/internal/routines/level2/xsymv.h deleted file mode 100644 index 98a0ce88..00000000 --- a/include/internal/routines/level2/xsymv.h +++ /dev/null @@ -1,49 +0,0 @@ - -// ================================================================================================= -// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This -// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max- -// width of 100 characters per line. -// -// Author(s): -// Cedric Nugteren <www.cedricnugteren.nl> -// -// This file implements the Xsymv routine. It is based on the generalized mat-vec multiplication -// routine (Xgemv). The Xsymv class inherits from the templated class Xgemv, allowing it to call the -// "MatVec" function directly. -// -// ================================================================================================= - -#ifndef CLBLAST_ROUTINES_XSYMV_H_ -#define CLBLAST_ROUTINES_XSYMV_H_ - -#include "internal/routines/level2/xgemv.h" - -namespace clblast { -// ================================================================================================= - -// See comment at top of file for a description of the class -template <typename T> -class Xsymv: public Xgemv<T> { - public: - - // Uses the generic matrix-vector routine - using Xgemv<T>::MatVec; - - // Constructor - Xsymv(Queue &queue, EventPointer event, const std::string &name = "SYMV"); - - // Templated-precision implementation of the routine - StatusCode DoSymv(const Layout layout, const Triangle triangle, - const size_t n, - const T alpha, - const Buffer<T> &a_buffer, const size_t a_offset, const size_t a_ld, - const Buffer<T> &x_buffer, const size_t x_offset, const size_t x_inc, - const T beta, - const Buffer<T> &y_buffer, const size_t y_offset, const size_t y_inc); -}; - -// ================================================================================================= -} // namespace clblast - -// CLBLAST_ROUTINES_XSYMV_H_ -#endif diff --git a/include/internal/routines/level2/xsyr.h b/include/internal/routines/level2/xsyr.h deleted file mode 100644 index f88498ae..00000000 --- a/include/internal/routines/level2/xsyr.h +++ /dev/null @@ -1,45 +0,0 @@ - -// ================================================================================================= -// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This -// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max- -// width of 100 characters per line. -// -// Author(s): -// Cedric Nugteren <www.cedricnugteren.nl> -// -// This file implements the Xsyr routine. The precision is implemented using a template argument. -// -// ================================================================================================= - -#ifndef CLBLAST_ROUTINES_XSYR_H_ -#define CLBLAST_ROUTINES_XSYR_H_ - -#include "internal/routines/level2/xher.h" - -namespace clblast { -// ================================================================================================= - -// See comment at top of file for a description of the class -template <typename T> -class Xsyr: public Xher<T,T> { - public: - - // Uses the regular Xher routine - using Xher<T,T>::DoHer; - - // Constructor - Xsyr(Queue &queue, EventPointer event, const std::string &name = "SYR"); - - // Templated-precision implementation of the routine - StatusCode DoSyr(const Layout layout, const Triangle triangle, - const size_t n, - const T alpha, - const Buffer<T> &x_buffer, const size_t x_offset, const size_t x_inc, - const Buffer<T> &a_buffer, const size_t a_offset, const size_t a_ld); -}; - -// ================================================================================================= -} // namespace clblast - -// CLBLAST_ROUTINES_XSYR_H_ -#endif diff --git a/include/internal/routines/level2/xsyr2.h b/include/internal/routines/level2/xsyr2.h deleted file mode 100644 index d2d3143a..00000000 --- a/include/internal/routines/level2/xsyr2.h +++ /dev/null @@ -1,46 +0,0 @@ - -// ================================================================================================= -// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This -// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max- -// width of 100 characters per line. -// -// Author(s): -// Cedric Nugteren <www.cedricnugteren.nl> -// -// This file implements the Xsyr2 routine. The precision is implemented using a template argument. -// -// ================================================================================================= - -#ifndef CLBLAST_ROUTINES_XSYR2_H_ -#define CLBLAST_ROUTINES_XSYR2_H_ - -#include "internal/routines/level2/xher2.h" - -namespace clblast { -// ================================================================================================= - -// See comment at top of file for a description of the class -template <typename T> -class Xsyr2: public Xher2<T> { - public: - - // Uses the regular Xher2 routine - using Xher2<T>::DoHer2; - - // Constructor - Xsyr2(Queue &queue, EventPointer event, const std::string &name = "SYR2"); - - // Templated-precision implementation of the routine - StatusCode DoSyr2(const Layout layout, const Triangle triangle, - const size_t n, - const T alpha, - const Buffer<T> &x_buffer, const size_t x_offset, const size_t x_inc, - const Buffer<T> &y_buffer, const size_t y_offset, const size_t y_inc, - const Buffer<T> &a_buffer, const size_t a_offset, const size_t a_ld); -}; - -// ================================================================================================= -} // namespace clblast - -// CLBLAST_ROUTINES_XSYR2_H_ -#endif diff --git a/include/internal/routines/level2/xtbmv.h b/include/internal/routines/level2/xtbmv.h deleted file mode 100644 index 493a9853..00000000 --- a/include/internal/routines/level2/xtbmv.h +++ /dev/null @@ -1,49 +0,0 @@ - -// ================================================================================================= -// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This -// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max- -// width of 100 characters per line. -// -// Author(s): -// Cedric Nugteren <www.cedricnugteren.nl> -// -// This file implements the Xtbmv routine. It is based on the generalized mat-vec multiplication -// routine (Xgemv). The Xtbmv class inherits from the templated class Xgemv, allowing it to call the -// "MatVec" function directly. -// -// ================================================================================================= - -#ifndef CLBLAST_ROUTINES_XTBMV_H_ -#define CLBLAST_ROUTINES_XTBMV_H_ - -#include "internal/routines/level2/xgemv.h" - -namespace clblast { -// ================================================================================================= - -// See comment at top of file for a description of the class -template <typename T> -class Xtbmv: public Xgemv<T> { - public: - - // Uses the generic matrix-vector routine - using Xgemv<T>::queue_; - using Xgemv<T>::context_; - using Xgemv<T>::MatVec; - - // Constructor - Xtbmv(Queue &queue, EventPointer event, const std::string &name = "TBMV"); - - // Templated-precision implementation of the routine - StatusCode DoTbmv(const Layout layout, const Triangle triangle, - const Transpose a_transpose, const Diagonal diagonal, - const size_t n, const size_t k, - const Buffer<T> &a_buffer, const size_t a_offset, const size_t a_ld, - const Buffer<T> &x_buffer, const size_t x_offset, const size_t x_inc); -}; - -// ================================================================================================= -} // namespace clblast - -// CLBLAST_ROUTINES_XTBMV_H_ -#endif diff --git a/include/internal/routines/level2/xtpmv.h b/include/internal/routines/level2/xtpmv.h deleted file mode 100644 index ce5cae6f..00000000 --- a/include/internal/routines/level2/xtpmv.h +++ /dev/null @@ -1,49 +0,0 @@ - -// ================================================================================================= -// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This -// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max- -// width of 100 characters per line. -// -// Author(s): -// Cedric Nugteren <www.cedricnugteren.nl> -// -// This file implements the Xtpmv routine. It is based on the generalized mat-vec multiplication -// routine (Xgemv). The Xtpmv class inherits from the templated class Xgemv, allowing it to call the -// "MatVec" function directly. -// -// ================================================================================================= - -#ifndef CLBLAST_ROUTINES_XTPMV_H_ -#define CLBLAST_ROUTINES_XTPMV_H_ - -#include "internal/routines/level2/xgemv.h" - -namespace clblast { -// ================================================================================================= - -// See comment at top of file for a description of the class -template <typename T> -class Xtpmv: public Xgemv<T> { - public: - - // Uses the generic matrix-vector routine - using Xgemv<T>::queue_; - using Xgemv<T>::context_; - using Xgemv<T>::MatVec; - - // Constructor - Xtpmv(Queue &queue, EventPointer event, const std::string &name = "TPMV"); - - // Templated-precision implementation of the routine - StatusCode DoTpmv(const Layout layout, const Triangle triangle, - const Transpose a_transpose, const Diagonal diagonal, - const size_t n, - const Buffer<T> &ap_buffer, const size_t ap_offset, - const Buffer<T> &x_buffer, const size_t x_offset, const size_t x_inc); -}; - -// ================================================================================================= -} // namespace clblast - -// CLBLAST_ROUTINES_XTPMV_H_ -#endif diff --git a/include/internal/routines/level2/xtrmv.h b/include/internal/routines/level2/xtrmv.h deleted file mode 100644 index 4407bad7..00000000 --- a/include/internal/routines/level2/xtrmv.h +++ /dev/null @@ -1,49 +0,0 @@ - -// ================================================================================================= -// This file is part of the CLBlast project. The project is licensed under Apache Version 2.0. This -// project loosely follows the Google C++ styleguide and uses a tab-size of two spaces and a max- -// width of 100 characters per line. -// -// Author(s): -// Cedric Nugteren <www.cedricnugteren.nl> -// -// This file implements the Xtrmv routine. It is based on the generalized mat-vec multiplication -// routine (Xgemv). The Xtrmv class inherits from the templated class Xgemv, allowing it to call the -// "MatVec" function directly. -// -// ================================================================================================= - -#ifndef CLBLAST_ROUTINES_XTRMV_H_ -#define CLBLAST_ROUTINES_XTRMV_H_ - -#include "internal/routines/level2/xgemv.h" - -namespace clblast { -// ================================================================================================= - -// See comment at top of file for a description of the class -template <typename T> -class Xtrmv: public Xgemv<T> { - public: - - // Uses the generic matrix-vector routine - using Xgemv<T>::queue_; - using Xgemv<T>::context_; - using Xgemv<T>::MatVec; - - // Constructor - Xtrmv(Queue &queue, EventPointer event, const std::string &name = "TRMV"); - - // Templated-precision implementation of the routine - StatusCode DoTrmv(const Layout layout, const Triangle triangle, - const Transpose a_transpose, const Diagonal diagonal, - const size_t n, - const Buffer<T> &a_buffer, const size_t a_offset, const size_t a_ld, - const Buffer<T> &x_buffer, const size_t x_offset, const size_t x_inc); -}; - -// ================================================================================================= -} // namespace clblast - -// CLBLAST_ROUTINES_XTRMV_H_ -#endif |