diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/clblast.h | 7 | ||||
-rw-r--r-- | include/clblast_c.h | 22 | ||||
-rw-r--r-- | include/clblast_netlib_c.h | 10 |
3 files changed, 39 insertions, 0 deletions
diff --git a/include/clblast.h b/include/clblast.h index 54944ea2..354ca591 100644 --- a/include/clblast.h +++ b/include/clblast.h @@ -240,6 +240,13 @@ StatusCode Amax(const size_t n, const cl_mem x_buffer, const size_t x_offset, const size_t x_inc, cl_command_queue* queue, cl_event* event = nullptr); +// Index of absolute minimum value in a vector (non-BLAS function): iSAMIN/iDAMIN/iCAMIN/iZAMIN/iHAMIN +template <typename T> +StatusCode Amin(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 = nullptr); + // Index of maximum value in a vector (non-BLAS function): iSMAX/iDMAX/iCMAX/iZMAX/iHMAX template <typename T> StatusCode Max(const size_t n, diff --git a/include/clblast_c.h b/include/clblast_c.h index b0ef5f34..323a28df 100644 --- a/include/clblast_c.h +++ b/include/clblast_c.h @@ -403,6 +403,28 @@ CLBlastStatusCode PUBLIC_API CLBlastiHamax(const size_t n, const cl_mem x_buffer, const size_t x_offset, const size_t x_inc, cl_command_queue* queue, cl_event* event); +// Index of absolute minimum value in a vector (non-BLAS function): iSAMIN/iDAMIN/iCAMIN/iZAMIN/iHAMIN +CLBlastStatusCode PUBLIC_API CLBlastiSamin(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); +CLBlastStatusCode PUBLIC_API CLBlastiDamin(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); +CLBlastStatusCode PUBLIC_API CLBlastiCamin(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); +CLBlastStatusCode PUBLIC_API CLBlastiZamin(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); +CLBlastStatusCode PUBLIC_API CLBlastiHamin(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); + // Index of maximum value in a vector (non-BLAS function): iSMAX/iDMAX/iCMAX/iZMAX/iHMAX CLBlastStatusCode PUBLIC_API CLBlastiSmax(const size_t n, cl_mem imax_buffer, const size_t imax_offset, diff --git a/include/clblast_netlib_c.h b/include/clblast_netlib_c.h index 384fab20..4d0d8e1f 100644 --- a/include/clblast_netlib_c.h +++ b/include/clblast_netlib_c.h @@ -240,6 +240,16 @@ int PUBLIC_API cblas_icamax(const int n, int PUBLIC_API cblas_izamax(const int n, const void* x, const int x_inc); +// Index of absolute minimum value in a vector (non-BLAS function): iSAMIN/iDAMIN/iCAMIN/iZAMIN/iHAMIN +int PUBLIC_API cblas_isamin(const int n, + const float* x, const int x_inc); +int PUBLIC_API cblas_idamin(const int n, + const double* x, const int x_inc); +int PUBLIC_API cblas_icamin(const int n, + const void* x, const int x_inc); +int PUBLIC_API cblas_izamin(const int n, + const void* x, const int x_inc); + // Index of maximum value in a vector (non-BLAS function): iSMAX/iDMAX/iCMAX/iZMAX/iHMAX int PUBLIC_API cblas_ismax(const int n, const float* x, const int x_inc); |