From c1df78676471a8a26ea8ec5a092734566d490db4 Mon Sep 17 00:00:00 2001 From: Cedric Nugteren Date: Wed, 30 Mar 2016 17:32:13 +0200 Subject: Added prototypes for the xROTM and xROTMG routines --- include/clblast_c.h | 58 ++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 42 insertions(+), 16 deletions(-) (limited to 'include/clblast_c.h') diff --git a/include/clblast_c.h b/include/clblast_c.h index be5bab57..a5563951 100644 --- a/include/clblast_c.h +++ b/include/clblast_c.h @@ -96,32 +96,58 @@ typedef enum Precision_ { kHalf = 16, kSingle = 32, kDouble = 64, // BLAS level-1 (vector-vector) routines // ================================================================================================= -// Generate plane rotation: SROTG/DROTG -StatusCode PUBLIC_API CLBlastSrotg(cl_mem SA_buffer, const size_t SA_offset, - cl_mem SB_buffer, const size_t SB_offset, - cl_mem C_buffer, const size_t C_offset, - cl_mem S_buffer, const size_t S_offset, - cl_command_queue* queue, cl_event* event); -StatusCode PUBLIC_API CLBlastDrotg(cl_mem SA_buffer, const size_t SA_offset, - cl_mem SB_buffer, const size_t SB_offset, - cl_mem C_buffer, const size_t C_offset, - cl_mem S_buffer, const size_t S_offset, - cl_command_queue* queue, cl_event* event); +// Generate givens plane rotation: SROTG/DROTG +StatusCode PUBLIC_API CLBlastSrotg(cl_mem sa_buffer, const size_t sa_offset, + cl_mem sb_buffer, const size_t sb_offset, + cl_mem sc_buffer, const size_t sc_offset, + cl_mem ss_buffer, const size_t ss_offset, + cl_command_queue* queue, cl_event* event); +StatusCode PUBLIC_API CLBlastDrotg(cl_mem sa_buffer, const size_t sa_offset, + cl_mem sb_buffer, const size_t sb_offset, + cl_mem sc_buffer, const size_t sc_offset, + cl_mem ss_buffer, const size_t ss_offset, + cl_command_queue* queue, cl_event* event); + +// Generate modified givens plane rotation: SROTMG/DROTMG +StatusCode PUBLIC_API CLBlastSrotmg(cl_mem sd1_buffer, const size_t sd1_offset, + cl_mem sd2_buffer, const size_t sd2_offset, + cl_mem sx1_buffer, const size_t sx1_offset, + cl_mem sy1_buffer, const size_t sy1_offset, + cl_mem sparam_buffer, const size_t sparam_offset, + cl_command_queue* queue, cl_event* event); +StatusCode PUBLIC_API CLBlastDrotmg(cl_mem sd1_buffer, const size_t sd1_offset, + cl_mem sd2_buffer, const size_t sd2_offset, + cl_mem sx1_buffer, const size_t sx1_offset, + cl_mem sy1_buffer, const size_t sy1_offset, + cl_mem sparam_buffer, const size_t sparam_offset, + cl_command_queue* queue, cl_event* event); -// Apply plane rotation: SROT/DROT +// Apply givens plane rotation: SROT/DROT StatusCode PUBLIC_API CLBlastSrot(const size_t n, 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, - const float C, - const float S, + const float cos, + const float sin, cl_command_queue* queue, cl_event* event); StatusCode PUBLIC_API CLBlastDrot(const size_t n, 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, - const double C, - const double S, + const double cos, + const double sin, cl_command_queue* queue, cl_event* event); +// Apply modified givens plane rotation: SROTM/DROTM +StatusCode PUBLIC_API CLBlastSrotm(const size_t n, + 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_mem sparam_buffer, const size_t sparam_offset, + cl_command_queue* queue, cl_event* event); +StatusCode PUBLIC_API CLBlastDrotm(const size_t n, + 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_mem sparam_buffer, const size_t sparam_offset, + cl_command_queue* queue, cl_event* event); + // Swap two vectors: SSWAP/DSWAP/CSWAP/ZSWAP StatusCode PUBLIC_API CLBlastSswap(const size_t n, cl_mem x_buffer, const size_t x_offset, const size_t x_inc, -- cgit v1.2.3