summaryrefslogtreecommitdiff
path: root/src/clblast_c.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/clblast_c.cc')
-rw-r--r--src/clblast_c.cc112
1 files changed, 112 insertions, 0 deletions
diff --git a/src/clblast_c.cc b/src/clblast_c.cc
index fa25d4a7..6d10c686 100644
--- a/src/clblast_c.cc
+++ b/src/clblast_c.cc
@@ -25,6 +25,118 @@ using double2 = clblast::double2;
// BLAS level-1 (vector-vector) routines
// =================================================================================================
+// ROTG
+StatusCode 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) {
+ auto status = clblast::Rotg<float>(sa_buffer, sa_offset,
+ sb_buffer, sb_offset,
+ sc_buffer, sc_offset,
+ ss_buffer, ss_offset,
+ queue, event);
+ return static_cast<StatusCode>(status);
+}
+StatusCode 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) {
+ auto status = clblast::Rotg<double>(sa_buffer, sa_offset,
+ sb_buffer, sb_offset,
+ sc_buffer, sc_offset,
+ ss_buffer, ss_offset,
+ queue, event);
+ return static_cast<StatusCode>(status);
+}
+
+// ROTMG
+StatusCode 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) {
+ auto status = clblast::Rotmg<float>(sd1_buffer, sd1_offset,
+ sd2_buffer, sd2_offset,
+ sx1_buffer, sx1_offset,
+ sy1_buffer, sy1_offset,
+ sparam_buffer, sparam_offset,
+ queue, event);
+ return static_cast<StatusCode>(status);
+}
+StatusCode 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) {
+ auto status = clblast::Rotmg<double>(sd1_buffer, sd1_offset,
+ sd2_buffer, sd2_offset,
+ sx1_buffer, sx1_offset,
+ sy1_buffer, sy1_offset,
+ sparam_buffer, sparam_offset,
+ queue, event);
+ return static_cast<StatusCode>(status);
+}
+
+// ROT
+StatusCode 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 cos,
+ const float sin,
+ cl_command_queue* queue, cl_event* event) {
+ auto status = clblast::Rot(n,
+ x_buffer, x_offset, x_inc,
+ y_buffer, y_offset, y_inc,
+ cos,
+ sin,
+ queue, event);
+ return static_cast<StatusCode>(status);
+}
+StatusCode 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 cos,
+ const double sin,
+ cl_command_queue* queue, cl_event* event) {
+ auto status = clblast::Rot(n,
+ x_buffer, x_offset, x_inc,
+ y_buffer, y_offset, y_inc,
+ cos,
+ sin,
+ queue, event);
+ return static_cast<StatusCode>(status);
+}
+
+// ROTM
+StatusCode 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) {
+ auto status = clblast::Rotm<float>(n,
+ x_buffer, x_offset, x_inc,
+ y_buffer, y_offset, y_inc,
+ sparam_buffer, sparam_offset,
+ queue, event);
+ return static_cast<StatusCode>(status);
+}
+StatusCode 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) {
+ auto status = clblast::Rotm<double>(n,
+ x_buffer, x_offset, x_inc,
+ y_buffer, y_offset, y_inc,
+ sparam_buffer, sparam_offset,
+ queue, event);
+ return static_cast<StatusCode>(status);
+}
+
// SWAP
StatusCode CLBlastSswap(const size_t n,
cl_mem x_buffer, const size_t x_offset, const size_t x_inc,