diff options
Diffstat (limited to 'src/clblast_c.cc')
-rw-r--r-- | src/clblast_c.cc | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/src/clblast_c.cc b/src/clblast_c.cc index 7642a1e4..fd37462f 100644 --- a/src/clblast_c.cc +++ b/src/clblast_c.cc @@ -178,6 +178,16 @@ StatusCode CLBlastZswap(const size_t n, queue, event); return static_cast<StatusCode>(status); } +StatusCode CLBlastHswap(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_command_queue* queue, cl_event* event) { + auto status = clblast::Swap<half>(n, + x_buffer, x_offset, x_inc, + y_buffer, y_offset, y_inc, + queue, event); + return static_cast<StatusCode>(status); +} // SCAL StatusCode CLBlastSscal(const size_t n, @@ -220,6 +230,16 @@ StatusCode CLBlastZscal(const size_t n, queue, event); return static_cast<StatusCode>(status); } +StatusCode CLBlastHscal(const size_t n, + const cl_half alpha, + cl_mem x_buffer, const size_t x_offset, const size_t x_inc, + cl_command_queue* queue, cl_event* event) { + auto status = clblast::Scal(n, + alpha, + x_buffer, x_offset, x_inc, + queue, event); + return static_cast<StatusCode>(status); +} // COPY StatusCode CLBlastScopy(const size_t n, @@ -262,6 +282,16 @@ StatusCode CLBlastZcopy(const size_t n, queue, event); return static_cast<StatusCode>(status); } +StatusCode CLBlastHcopy(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) { + auto status = clblast::Copy<half>(n, + x_buffer, x_offset, x_inc, + y_buffer, y_offset, y_inc, + queue, event); + return static_cast<StatusCode>(status); +} // AXPY StatusCode CLBlastSaxpy(const size_t n, @@ -350,6 +380,18 @@ StatusCode CLBlastDdot(const size_t n, queue, event); return static_cast<StatusCode>(status); } +StatusCode CLBlastHdot(const size_t n, + cl_mem dot_buffer, const size_t dot_offset, + const cl_mem x_buffer, const size_t x_offset, const size_t x_inc, + const cl_mem y_buffer, const size_t y_offset, const size_t y_inc, + cl_command_queue* queue, cl_event* event) { + auto status = clblast::Dot<half>(n, + dot_buffer, dot_offset, + x_buffer, x_offset, x_inc, + y_buffer, y_offset, y_inc, + queue, event); + return static_cast<StatusCode>(status); +} // DOTU StatusCode CLBlastCdotu(const size_t n, @@ -444,6 +486,16 @@ StatusCode CLBlastDznrm2(const size_t n, queue, event); return static_cast<StatusCode>(status); } +StatusCode CLBlastHnrm2(const size_t n, + cl_mem nrm2_buffer, const size_t nrm2_offset, + const cl_mem x_buffer, const size_t x_offset, const size_t x_inc, + cl_command_queue* queue, cl_event* event) { + auto status = clblast::Nrm2<half>(n, + nrm2_buffer, nrm2_offset, + x_buffer, x_offset, x_inc, + queue, event); + return static_cast<StatusCode>(status); +} // ASUM StatusCode CLBlastSasum(const size_t n, @@ -486,6 +538,16 @@ StatusCode CLBlastDzasum(const size_t n, queue, event); return static_cast<StatusCode>(status); } +StatusCode CLBlastHasum(const size_t n, + cl_mem asum_buffer, const size_t asum_offset, + const cl_mem x_buffer, const size_t x_offset, const size_t x_inc, + cl_command_queue* queue, cl_event* event) { + auto status = clblast::Asum<half>(n, + asum_buffer, asum_offset, + x_buffer, x_offset, x_inc, + queue, event); + return static_cast<StatusCode>(status); +} // SUM StatusCode CLBlastSsum(const size_t n, @@ -528,6 +590,16 @@ StatusCode CLBlastDzsum(const size_t n, queue, event); return static_cast<StatusCode>(status); } +StatusCode CLBlastHsum(const size_t n, + cl_mem sum_buffer, const size_t sum_offset, + const cl_mem x_buffer, const size_t x_offset, const size_t x_inc, + cl_command_queue* queue, cl_event* event) { + auto status = clblast::Sum<half>(n, + sum_buffer, sum_offset, + x_buffer, x_offset, x_inc, + queue, event); + return static_cast<StatusCode>(status); +} // AMAX StatusCode CLBlastiSamax(const size_t n, @@ -570,6 +642,16 @@ StatusCode CLBlastiZamax(const size_t n, queue, event); return static_cast<StatusCode>(status); } +StatusCode CLBlastiHamax(const size_t n, + cl_mem imax_buffer, const size_t imax_offset, + const cl_mem x_buffer, const size_t x_offset, const size_t x_inc, + cl_command_queue* queue, cl_event* event) { + auto status = clblast::Amax<half>(n, + imax_buffer, imax_offset, + x_buffer, x_offset, x_inc, + queue, event); + return static_cast<StatusCode>(status); +} // MAX StatusCode CLBlastiSmax(const size_t n, @@ -612,6 +694,16 @@ StatusCode CLBlastiZmax(const size_t n, queue, event); return static_cast<StatusCode>(status); } +StatusCode CLBlastiHmax(const size_t n, + cl_mem imax_buffer, const size_t imax_offset, + const cl_mem x_buffer, const size_t x_offset, const size_t x_inc, + cl_command_queue* queue, cl_event* event) { + auto status = clblast::Max<half>(n, + imax_buffer, imax_offset, + x_buffer, x_offset, x_inc, + queue, event); + return static_cast<StatusCode>(status); +} // MIN StatusCode CLBlastiSmin(const size_t n, @@ -654,6 +746,16 @@ StatusCode CLBlastiZmin(const size_t n, queue, event); return static_cast<StatusCode>(status); } +StatusCode CLBlastiHmin(const size_t n, + cl_mem imin_buffer, const size_t imin_offset, + const cl_mem x_buffer, const size_t x_offset, const size_t x_inc, + cl_command_queue* queue, cl_event* event) { + auto status = clblast::Min<half>(n, + imin_buffer, imin_offset, + x_buffer, x_offset, x_inc, + queue, event); + return static_cast<StatusCode>(status); +} // ================================================================================================= // BLAS level-2 (matrix-vector) routines |