diff options
author | Cedric Nugteren <web@cedricnugteren.nl> | 2016-03-25 10:30:38 +0100 |
---|---|---|
committer | Cedric Nugteren <web@cedricnugteren.nl> | 2016-03-25 10:30:38 +0100 |
commit | 1d5a702d9d31afa320a15ed9fa79471aec314f4a (patch) | |
tree | 52a073c0909b23c8e2c29e467c19c81dbcf34f5a /src | |
parent | 3876096c30ad4eed5769dbc88dbfe75b7571718a (diff) |
Added prototypes for ScNRM2/DzNRM2 routines
Diffstat (limited to 'src')
-rw-r--r-- | src/clblast.cc | 10 | ||||
-rw-r--r-- | src/clblast_c.cc | 20 |
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 |