diff options
author | Cedric Nugteren <web@cedricnugteren.nl> | 2016-04-27 17:06:19 +0200 |
---|---|---|
committer | Cedric Nugteren <web@cedricnugteren.nl> | 2016-04-27 17:06:19 +0200 |
commit | 8075934ca7696f92e779b6751980ace526a37bbe (patch) | |
tree | 30f81e5c6f4b3bfa9c75f698a523a65842e111f4 /src/clblast.cc | |
parent | 82be8f211cbd50d2d75fe78d8af4a1da04a0582b (diff) |
Added prototypes for non-BLAS routines: xSUM and IxMAX (non-absolute counterparts of xASUM and IxAMAX)
Diffstat (limited to 'src/clblast.cc')
-rw-r--r-- | src/clblast.cc | 52 |
1 files changed, 51 insertions, 1 deletions
diff --git a/src/clblast.cc b/src/clblast.cc index b6efd185..4f2e6fb5 100644 --- a/src/clblast.cc +++ b/src/clblast.cc @@ -430,7 +430,32 @@ template StatusCode PUBLIC_API Asum<double2>(const size_t, const cl_mem, const size_t, const size_t, cl_command_queue*, cl_event*); -// Index of absolute maxium value in a vector: iSAMAX/iDAMAX/iCAMAX/iZAMAX +// Sum of values in a vector: SSUM/DSUM/ScSUM/DzSUM +template <typename T> +StatusCode Sum(const size_t, + cl_mem, const size_t, + const cl_mem, const size_t, const size_t, + cl_command_queue*, cl_event*) { + return StatusCode::kNotImplemented; +} +template StatusCode PUBLIC_API Sum<float>(const size_t, + cl_mem, const size_t, + const cl_mem, const size_t, const size_t, + cl_command_queue*, cl_event*); +template StatusCode PUBLIC_API Sum<double>(const size_t, + cl_mem, const size_t, + const cl_mem, const size_t, const size_t, + cl_command_queue*, cl_event*); +template StatusCode PUBLIC_API Sum<float2>(const size_t, + cl_mem, const size_t, + const cl_mem, const size_t, const size_t, + cl_command_queue*, cl_event*); +template StatusCode PUBLIC_API Sum<double2>(const size_t, + cl_mem, const size_t, + const cl_mem, const size_t, const size_t, + cl_command_queue*, cl_event*); + +// Index of absolute maximum value in a vector: iSAMAX/iDAMAX/iCAMAX/iZAMAX template <typename T> StatusCode Amax(const size_t n, cl_mem imax_buffer, const size_t imax_offset, @@ -461,6 +486,31 @@ template StatusCode PUBLIC_API Amax<double2>(const size_t, const cl_mem, const size_t, const size_t, cl_command_queue*, cl_event*); +// Index of maximum value in a vector: iSMAX/iDMAX/iCMAX/iZMAX +template <typename T> +StatusCode Max(const size_t, + cl_mem, const size_t, + const cl_mem, const size_t, const size_t, + cl_command_queue*, cl_event*) { + return StatusCode::kNotImplemented; +} +template StatusCode PUBLIC_API Max<float>(const size_t, + cl_mem, const size_t, + const cl_mem, const size_t, const size_t, + cl_command_queue*, cl_event*); +template StatusCode PUBLIC_API Max<double>(const size_t, + cl_mem, const size_t, + const cl_mem, const size_t, const size_t, + cl_command_queue*, cl_event*); +template StatusCode PUBLIC_API Max<float2>(const size_t, + cl_mem, const size_t, + const cl_mem, const size_t, const size_t, + cl_command_queue*, cl_event*); +template StatusCode PUBLIC_API Max<double2>(const size_t, + cl_mem, const size_t, + const cl_mem, const size_t, const size_t, + cl_command_queue*, cl_event*); + // ================================================================================================= // BLAS level-2 (matrix-vector) routines // ================================================================================================= |