summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2016-03-25 10:30:38 +0100
committerCedric Nugteren <web@cedricnugteren.nl>2016-03-25 10:30:38 +0100
commit1d5a702d9d31afa320a15ed9fa79471aec314f4a (patch)
tree52a073c0909b23c8e2c29e467c19c81dbcf34f5a /src
parent3876096c30ad4eed5769dbc88dbfe75b7571718a (diff)
Added prototypes for ScNRM2/DzNRM2 routines
Diffstat (limited to 'src')
-rw-r--r--src/clblast.cc10
-rw-r--r--src/clblast_c.cc20
2 files changed, 29 insertions, 1 deletions
diff --git a/src/clblast.cc b/src/clblast.cc
index 9079355a..2c940380 100644
--- a/src/clblast.cc
+++ b/src/clblast.cc
@@ -285,7 +285,7 @@ template StatusCode PUBLIC_API Dotc<double2>(const size_t,
const cl_mem, const size_t, const size_t,
cl_command_queue*, cl_event*);
-// Euclidian norm of a vector: SNRM2/DNRM2
+// Euclidian norm of a vector: SNRM2/DNRM2/ScNRM2/DzNRM2
template <typename T>
StatusCode Nrm2(const size_t,
cl_mem, const size_t,
@@ -301,6 +301,14 @@ template StatusCode PUBLIC_API Nrm2<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 Nrm2<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 Nrm2<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
diff --git a/src/clblast_c.cc b/src/clblast_c.cc
index d735fa35..fa25d4a7 100644
--- a/src/clblast_c.cc
+++ b/src/clblast_c.cc
@@ -300,6 +300,26 @@ StatusCode CLBlastDnrm2(const size_t n,
queue, event);
return static_cast<StatusCode>(status);
}
+StatusCode CLBlastScnrm2(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<float2>(n,
+ nrm2_buffer, nrm2_offset,
+ x_buffer, x_offset, x_inc,
+ queue, event);
+ return static_cast<StatusCode>(status);
+}
+StatusCode CLBlastDznrm2(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<double2>(n,
+ nrm2_buffer, nrm2_offset,
+ x_buffer, x_offset, x_inc,
+ queue, event);
+ return static_cast<StatusCode>(status);
+}
// =================================================================================================
// BLAS level-2 (matrix-vector) routines