summaryrefslogtreecommitdiff
path: root/include/clblast.h
diff options
context:
space:
mode:
authorCNugteren <web@cedricnugteren.nl>2015-08-22 17:11:20 +0200
committerCNugteren <web@cedricnugteren.nl>2015-08-22 17:11:20 +0200
commitff0c54c3865b45eff807315262e73d3f01cb19c3 (patch)
tree839e9def73fb068f988b07e1e879ecce48d884c8 /include/clblast.h
parent75517353d505de1d3979866060261a666aebfd36 (diff)
Added the XSWAP, XSCAL and XCOPY level-1 routines
Diffstat (limited to 'include/clblast.h')
-rw-r--r--include/clblast.h29
1 files changed, 27 insertions, 2 deletions
diff --git a/include/clblast.h b/include/clblast.h
index bd0f161c..326c9ec2 100644
--- a/include/clblast.h
+++ b/include/clblast.h
@@ -83,16 +83,40 @@ enum class Precision { kHalf = 16, kSingle = 32, kDouble = 64,
// =================================================================================================
// BLAS level-1 (vector-vector) routines
+// =================================================================================================
+
+// Swap two vectors: SSWAP/DSWAP/CSWAP/ZSWAP
+template <typename T>
+StatusCode Swap(const size_t n,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+
+// Vector scaling: SSCAL/DSCAL/CSCAL/ZSCAL
+template <typename T>
+StatusCode Scal(const size_t n,
+ const T alpha,
+ cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_command_queue* queue, cl_event* event);
-// Templated-precision vector-times-constant plus vector: SAXPY/DAXPY/CAXPY/ZAXPY
+// Vector copy: SCOPY/DCOPY/CCOPY/ZCOPY
template <typename T>
-StatusCode Axpy(const size_t n, const T alpha,
+StatusCode Copy(const size_t n,
+ const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
+ cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
+ cl_command_queue* queue, cl_event* event);
+
+// Vector-times-constant plus vector: SAXPY/DAXPY/CAXPY/ZAXPY
+template <typename T>
+StatusCode Axpy(const size_t n,
+ const T alpha,
const cl_mem x_buffer, const size_t x_offset, const size_t x_inc,
cl_mem y_buffer, const size_t y_offset, const size_t y_inc,
cl_command_queue* queue, cl_event* event);
// =================================================================================================
// BLAS level-2 (matrix-vector) routines
+// =================================================================================================
// Templated-precision generalized matrix-vector multiplication: SGEMV/DGEMV/CGEMV/ZGEMV
template <typename T>
@@ -129,6 +153,7 @@ StatusCode Symv(const Layout layout, const Triangle triangle,
// =================================================================================================
// BLAS level-3 (matrix-matrix) routines
+// =================================================================================================
// Templated-precision generalized matrix-matrix multiplication: SGEMM/DGEMM/CGEMM/ZGEMM
template <typename T>