Intel clBLAS
iclBLAS.h File Reference

This file contains all of the BLAS related (public) interfaces and objects. More...

Go to the source code of this file.

Data Structures

struct  oclComplex_t
 Complex type definition. More...
 

Typedefs

typedef struct iclblasContext * iclblasHandle_t
 Opaque structure holding library context.
 

Enumerations

enum  iclblasStatus_t {
  ICLBLAS_STATUS_SUCCESS = 0, ICLBLAS_STATUS_NOT_INITIALIZED = 1, ICLBLAS_STATUS_ALLOC_FAILED = 3, ICLBLAS_STATUS_INVALID_VALUE = 7,
  ICLBLAS_STATUS_ARCH_MISMATCH = 8, ICLBLAS_STATUS_MAPPING_ERROR = 11, ICLBLAS_STATUS_EXECUTION_FAILED = 13, ICLBLAS_STATUS_INTERNAL_ERROR = 14,
  ICLBLAS_STATUS_NOT_SUPPORTED = 15, ICLBLAS_STATUS_LICENSE_ERROR = 16, ICLBLAS_STATUS_ERROR
}
 Operations status codes. More...
 
enum  iclblasOperation_t { ICLBLAS_OP_N = 0, ICLBLAS_OP_T = 1, ICLBLAS_OP_C = 2 }
 Indicates operation to be performed. More...
 
enum  iclblasFillMode_t { ICLBLAS_FILL_MODE_UPPER = 0, ICLBLAS_FILL_MODE_LOWER = 1 }
 Indicates which part (lower or upper) of matrix is filled. More...
 
enum  iclblasDiagType_t { ICLBLAS_DIAG_NON_UNIT = 0, ICLBLAS_DIAG_UNIT = 1 }
 Indicates whether the main diagonal of matrix is unity. More...
 
enum  iclblasSideMode_t { ICLBLAS_SIDE_LEFT = 0, ICLBLAS_SIDE_RIGHT = 1 }
 Indicates on which side (left or right) the matrix in the equation solved by a function. More...
 

Functions

ICLBLAS_ALWAYS_INLINE float Creal (struct _oclComplex_t a)
 
ICLBLAS_ALWAYS_INLINE float Cimag (struct _oclComplex_t a)
 
ICLBLAS_ALWAYS_INLINE void Csetreal (struct _oclComplex_t *a, float r)
 
ICLBLAS_ALWAYS_INLINE void Csetimag (struct _oclComplex_t *a, float i)
 
iclblasStatus_t iclblasCreate (iclblasHandle_t *handle)
 Create library context. More...
 
iclblasStatus_t iclblasDestroy (iclblasHandle_t handle)
 Destroy library context. More...
 
iclblasStatus_t iclblasScopy (iclblasHandle_t handle, int n, float *x, int incx, float *y, int incy)
 Copy the elements from the vector x to the vector y. More...
 
iclblasStatus_t iclblasSscal (iclblasHandle_t handle, int n, const float *alpha, float *x, int incx)
 Multiply the vector by the scalar. More...
 
iclblasStatus_t iclblasSaxpy (iclblasHandle_t handle, int n, const float *alpha, float *x, int incx, float *y, int incy)
 Multiply the vector x by the scalar and add it to the vector y. More...
 
iclblasStatus_t iclblasSnrm2 (iclblasHandle_t handle, int n, float *x, int incx, float *result)
 Computes the Euclidean norm of the vector x. More...
 
iclblasStatus_t iclblasSrotmg (iclblasHandle_t handle, float *d1, float *d2, float *x1, const float *y1, float *params)
 Constructs the modified Givens transformation. More...
 
iclblasStatus_t iclblasIsamax (iclblasHandle_t handle, int n, float *x, int incx, int *result)
 Computes the first index of the highest value in vector x. More...
 
iclblasStatus_t iclblasIsamin (iclblasHandle_t handle, int n, float *x, int incx, int *result)
 Computes the first index of the lowest value in vector x. More...
 
iclblasStatus_t iclblasSswap (iclblasHandle_t handle, int n, float *x, int incx, float *y, int incy)
 Interchanges two vectors x and y. More...
 
iclblasStatus_t iclblasSrot (iclblasHandle_t handle, int n, float *x, int incx, float *y, int incy, float c, float s)
 Applies Givens rotation matrix. More...
 
iclblasStatus_t iclblasSrotm (iclblasHandle_t handle, int n, float *x, int incx, float *y, int incy, float *param)
 Applies modified Givens rotation matrix. More...
 
iclblasStatus_t iclblasSasum (iclblasHandle_t handle, int n, float *x, int incx, float *result)
 Computes the sum of the absolute values from vector x. More...
 
iclblasStatus_t iclblasSrotg (iclblasHandle_t handle, float *a, float *b, float *c, float *s)
 Creates the Givens rotation matrix. More...
 
iclblasStatus_t iclblasSdot (iclblasHandle_t handle, int n, float *x, int incx, float *y, int incy, float *result)
 Computes the dot product from vector x and vector y. More...
 
iclblasStatus_t iclblasCcopy (iclblasHandle_t handle, int n, oclComplex_t *x, int incx, oclComplex_t *y, int incy)
 Copy the elements from the vector x to the vector y. More...
 
iclblasStatus_t iclblasCscal (iclblasHandle_t handle, int n, const oclComplex_t *alpha, oclComplex_t *x, int incx)
 Multiply the complex vector by the scalar. More...
 
iclblasStatus_t iclblasCsscal (iclblasHandle_t handle, int n, const float *alpha, oclComplex_t *x, int incx)
 Multiply the complex vector by the scalar. More...
 
iclblasStatus_t iclblasCswap (iclblasHandle_t handle, int n, oclComplex_t *x, int incx, oclComplex_t *y, int incy)
 Interchanges two complex vectors x and y. More...
 
iclblasStatus_t iclblasCdotu (iclblasHandle_t handle, int n, oclComplex_t *x, int incx, oclComplex_t *y, int incy, oclComplex_t *result)
 Computes the dot product from complex vector x and vector y. More...
 
iclblasStatus_t iclblasScnrm2 (iclblasHandle_t handle, int n, oclComplex_t *x, int incx, float *result)
 Computes the Euclidean norm of the complex vector x. More...
 
iclblasStatus_t iclblasIcamax (iclblasHandle_t handle, int n, oclComplex_t *x, int incx, int *result)
 Computes the first index of the highest magnitude value in complex vector x. More...
 
iclblasStatus_t iclblasIcamin (iclblasHandle_t handle, int n, oclComplex_t *x, int incx, int *result)
 Computes the first index of the lowest magnitude value in complex vector x. More...
 
iclblasStatus_t iclblasCaxpy (iclblasHandle_t handle, int n, const oclComplex_t *alpha, oclComplex_t *x, int incx, oclComplex_t *y, int incy)
 Multiply the complex vector x by the complex scalar and add it to the complex vector y. More...
 
iclblasStatus_t iclblasCrotg (iclblasHandle_t handle, oclComplex_t *a, oclComplex_t *b, float *c, oclComplex_t *s)
 Creates the Givens rotation matrix. More...
 
iclblasStatus_t iclblasCdotc (iclblasHandle_t handle, int n, oclComplex_t *x, int incx, oclComplex_t *y, int incy, oclComplex_t *result)
 Computes the dot product from complex vector x and vector y. More...
 
iclblasStatus_t iclblasCrot (iclblasHandle_t handle, int n, oclComplex_t *x, int incx, oclComplex_t *y, int incy, const float *c, const oclComplex_t *s)
 Applies Givens rotation matrix. More...
 
iclblasStatus_t iclblasCsrot (iclblasHandle_t handle, int n, oclComplex_t *x, int incx, oclComplex_t *y, int incy, const float *c, const float *s)
 Applies Givens rotation matrix. More...
 
iclblasStatus_t iclblasScasum (iclblasHandle_t handle, int n, oclComplex_t *x, int incx, float *result)
 Computes the sum of the absolute values from vector x. More...
 
iclblasStatus_t iclblasStrsv (iclblasHandle_t handle, iclblasFillMode_t uplo, iclblasOperation_t trans, iclblasDiagType_t diag, int n, float *A, int lda, float *x, int incx)
 Solves triangular linear system with single right-hand side. More...
 
iclblasStatus_t iclblasStbsv (iclblasHandle_t handle, iclblasFillMode_t uplo, iclblasOperation_t trans, iclblasDiagType_t diag, int n, int k, float *A, int lda, float *x, int incx)
 Solves triangular banded linear system with single right-hand side. More...
 
iclblasStatus_t iclblasStpsv (iclblasHandle_t handle, iclblasFillMode_t uplo, iclblasOperation_t trans, iclblasDiagType_t diag, int n, float *AP, float *x, int incx)
 Solves packed triangular linear system with single right-hand side. More...
 
iclblasStatus_t iclblasSger (iclblasHandle_t handle, int m, int n, const float *alpha, float *x, int incx, float *y, int incy, float *A, int lda)
 Performs general matrix rank 1 update. More...
 
iclblasStatus_t iclblasSsyr2 (iclblasHandle_t handle, iclblasFillMode_t uplo, int n, const float *alpha, float *x, int incx, float *y, int incy, float *A, int lda)
 Performs symmetrix matrix rank 2 update. More...
 
iclblasStatus_t iclblasSsyr (iclblasHandle_t handle, iclblasFillMode_t uplo, int n, const float *alpha, float *x, int incx, float *A, int lda)
 Performs symmetrix matrix rank 1 update. More...
 
iclblasStatus_t iclblasStrmv (iclblasHandle_t handle, iclblasFillMode_t uplo, iclblasOperation_t trans, iclblasDiagType_t diag, int n, float *A, int lda, float *x, int incx)
 Performs triangular matrix by vector multiplication. More...
 
iclblasStatus_t iclblasStbmv (iclblasHandle_t handle, iclblasFillMode_t uplo, iclblasOperation_t trans, iclblasDiagType_t diag, int n, int k, float *A, int lda, float *x, int incx)
 Performs triangular banded matrix by vector multiplication. More...
 
iclblasStatus_t iclblasSgbmv (iclblasHandle_t handle, iclblasOperation_t trans, int m, int n, int kl, int ku, const float *alpha, float *A, int lda, float *x, int incx, const float *beta, float *y, int incy)
 Performs general banded matrix by vector multiplication. More...
 
iclblasStatus_t iclblasStpmv (iclblasHandle_t handle, iclblasFillMode_t uplo, iclblasOperation_t trans, iclblasDiagType_t diag, int n, float *AP, float *x, int incx)
 Performs packed triangular matrix by vector multiplication. More...
 
iclblasStatus_t iclblasSsbmv (iclblasHandle_t handle, iclblasFillMode_t uplo, char n, char k, const float *alpha, float *A, int lda, float *x, int incx, const float *beta, float *y, int incy)
 Performs symmetric banded matrix by vector multiplication. More...
 
iclblasStatus_t iclblasSspmv (iclblasHandle_t handle, iclblasFillMode_t uplo, int n, const float *alpha, float *AP, float *x, int incx, const float *beta, float *y, int incy)
 Performs packed symmetric matrix by vector multiplication. More...
 
iclblasStatus_t iclblasSspr2 (iclblasHandle_t handle, iclblasFillMode_t uplo, int n, const float *alpha, float *x, int incx, float *y, int incy, float *AP)
 Performs packed symmetric matrix rank 2 update. More...
 
iclblasStatus_t iclblasSspr (iclblasHandle_t handle, iclblasFillMode_t uplo, int n, const float *alpha, float *x, int incx, float *AP)
 Performs packed symmetric matrix rank 1 update. More...
 
iclblasStatus_t iclblasSsymv (iclblasHandle_t handle, iclblasFillMode_t uplo, int n, const float *alpha, float *A, int lda, float *x, int incx, const float *beta, float *y, int incy)
 Performs symmetric matrix by vector multiplication. More...
 
iclblasStatus_t iclblasSgemv (iclblasHandle_t handle, iclblasOperation_t trans, int m, int n, const float *alpha, float *A, int lda, float *x, int incx, const float *beta, float *y, int incy)
 Performs general matrix by vector multiplication. More...
 
iclblasStatus_t iclblasCgbmv (iclblasHandle_t handle, iclblasOperation_t trans, int m, int n, int kl, int ku, const oclComplex_t *alpha, oclComplex_t *A, int lda, oclComplex_t *x, int incx, const oclComplex_t *beta, oclComplex_t *y, int incy)
 Performs general banded matrix by vector multiplication. More...
 
iclblasStatus_t iclblasCgeru (iclblasHandle_t handle, int m, int n, const oclComplex_t *alpha, oclComplex_t *x, int incx, oclComplex_t *y, int incy, oclComplex_t *A, int lda)
 Performs general matrix rank 1 update. More...
 
iclblasStatus_t iclblasCgerc (iclblasHandle_t handle, int m, int n, const oclComplex_t *alpha, oclComplex_t *x, int incx, oclComplex_t *y, int incy, oclComplex_t *A, int lda)
 Performs general matrix rank 1 update. More...
 
iclblasStatus_t iclblasCgemv (iclblasHandle_t handle, iclblasOperation_t trans, int m, int n, const oclComplex_t *alpha, oclComplex_t *A, int lda, oclComplex_t *x, int incx, const oclComplex_t *beta, oclComplex_t *y, int incy)
 Performs general matrix by vector multiplication. More...
 
iclblasStatus_t iclblasCher (iclblasHandle_t handle, iclblasFillMode_t uplo, int n, const float *alpha, oclComplex_t *x, int incx, oclComplex_t *A, int lda)
 Performs Hermitian matrix rank 1 update. More...
 
iclblasStatus_t iclblasChemv (iclblasHandle_t handle, iclblasFillMode_t uplo, int n, const oclComplex_t *alpha, oclComplex_t *A, int lda, oclComplex_t *x, int incx, const oclComplex_t *beta, oclComplex_t *y, int incy)
 Performs Hermitian matrix by vector multiplication. More...
 
iclblasStatus_t iclblasCtrmv (iclblasHandle_t handle, iclblasFillMode_t uplo, iclblasOperation_t trans, iclblasDiagType_t diag, int n, oclComplex_t *A, int lda, oclComplex_t *x, int incx)
 Performs triangular matrix by vector multiplication. More...
 
iclblasStatus_t iclblasCher2 (iclblasHandle_t handle, iclblasFillMode_t uplo, int n, const oclComplex_t *alpha, oclComplex_t *x, int incx, oclComplex_t *y, int incy, oclComplex_t *A, int lda)
 Performs Hermitian matrix rank 2 update. More...
 
iclblasStatus_t iclblasChpmv (iclblasHandle_t handle, iclblasFillMode_t uplo, int n, const oclComplex_t *alpha, oclComplex_t *AP, oclComplex_t *x, int incx, const oclComplex_t *beta, oclComplex_t *y, int incy)
 Performs packed Hermitian matrix by vector multiplication. More...
 
iclblasStatus_t iclblasChpr (iclblasHandle_t handle, iclblasFillMode_t uplo, int n, const float *alpha, oclComplex_t *x, int incx, oclComplex_t *AP)
 Performs packed Hermitian matrix rank 1 update. More...
 
iclblasStatus_t iclblasChpr2 (iclblasHandle_t handle, iclblasFillMode_t uplo, int n, const oclComplex_t *alpha, oclComplex_t *x, int incx, oclComplex_t *y, int incy, oclComplex_t *AP)
 Performs packed Hermitian matrix rank 2 update. More...
 
iclblasStatus_t iclblasCtpmv (iclblasHandle_t handle, iclblasFillMode_t uplo, iclblasOperation_t trans, iclblasDiagType_t diag, int n, oclComplex_t *AP, oclComplex_t *x, int incx)
 Performs packed triangular matrix by vector multiplication. More...
 
iclblasStatus_t iclblasCtbmv (iclblasHandle_t handle, iclblasFillMode_t uplo, iclblasOperation_t trans, iclblasDiagType_t diag, int n, int k, oclComplex_t *A, int lda, oclComplex_t *x, int incx)
 Performs triangular banded matrix by vector multiplication. More...
 
iclblasStatus_t iclblasCtbsv (iclblasHandle_t handle, iclblasFillMode_t uplo, iclblasOperation_t trans, iclblasDiagType_t diag, int n, int k, oclComplex_t *A, int lda, oclComplex_t *x, int incx)
 Solves triangular banded linear system with single right-hand side. More...
 
iclblasStatus_t iclblasCtrsv (iclblasHandle_t handle, iclblasFillMode_t uplo, iclblasOperation_t trans, iclblasDiagType_t diag, int n, oclComplex_t *A, int lda, oclComplex_t *x, int incx)
 Solves triangular linear system with single right-hand side. More...
 
iclblasStatus_t iclblasCtpsv (iclblasHandle_t handle, iclblasFillMode_t uplo, iclblasOperation_t trans, iclblasDiagType_t diag, int n, oclComplex_t *AP, oclComplex_t *x, int incx)
 Solves packed triangular linear system with single right-hand side. More...
 
iclblasStatus_t iclblasChbmv (iclblasHandle_t handle, iclblasFillMode_t uplo, int n, int k, const oclComplex_t *alpha, oclComplex_t *A, int lda, oclComplex_t *x, int incx, const oclComplex_t *beta, oclComplex_t *y, int incy)
 Performs Hermitian banded matrix by vector multiplication. More...
 
iclblasStatus_t iclblasCsyr (iclblasHandle_t handle, iclblasFillMode_t uplo, int n, const oclComplex_t *alpha, oclComplex_t *x, int incx, oclComplex_t *A, int lda)
 Performs symmetrix matrix rank 1 update. More...
 
iclblasStatus_t iclblasSsymm (iclblasHandle_t handle, iclblasSideMode_t side, iclblasFillMode_t uplo, int m, int n, const float *alpha, float *A, int lda, float *B, int ldb, const float *beta, float *C, int ldc)
 Performs symmetric matrix by matrix multiplication. More...
 
iclblasStatus_t iclblasSsyrk (iclblasHandle_t handle, iclblasFillMode_t uplo, iclblasOperation_t trans, int n, int k, const float *alpha, float *A, int lda, const float *beta, float *C, int ldc)
 Performs symmetric rank-k update. More...
 
iclblasStatus_t iclblasSsyr2k (iclblasHandle_t handle, iclblasFillMode_t uplo, iclblasOperation_t trans, int n, int k, const float *alpha, float *A, int lda, float *B, int ldb, const float *beta, float *C, int ldc)
 Performs symmetric rank-2k update. More...
 
iclblasStatus_t iclblasSgemm (iclblasHandle_t handle, iclblasOperation_t transa, iclblasOperation_t transb, int m, int n, int k, const float *alpha, float *A, int lda, float *B, int ldb, const float *beta, float *C, int ldc)
 Performs matrix by matrix multiplication. More...
 
iclblasStatus_t iclblasStrsm (iclblasHandle_t handle, iclblasSideMode_t side, iclblasFillMode_t uplo, iclblasOperation_t trans, iclblasDiagType_t diag, int m, int n, const float *alpha, float *A, int lda, float *B, int ldb)
 Solves triangular linear system with multiple right-hand-sides. More...
 
iclblasStatus_t iclblasStrmm (iclblasHandle_t handle, iclblasSideMode_t side, iclblasFillMode_t uplo, iclblasOperation_t transa, iclblasDiagType_t diag, int m, int n, const float *alpha, float *A, int lda, float *B, int ldb, float *C, int ldc)
 Performs triangular matrix by matrix multiplication. More...
 
iclblasStatus_t iclblasCgemm (iclblasHandle_t handle, iclblasOperation_t transa, iclblasOperation_t transb, int m, int n, int k, const oclComplex_t *alpha, oclComplex_t *A, int lda, oclComplex_t *B, int ldb, const oclComplex_t *beta, oclComplex_t *C, int ldc)
 Performs matrix by matrix multiplication. More...
 
iclblasStatus_t iclblasCsymm (iclblasHandle_t handle, iclblasSideMode_t side, iclblasFillMode_t uplo, int m, int n, const oclComplex_t *alpha, oclComplex_t *A, int lda, oclComplex_t *B, int ldb, const oclComplex_t *beta, oclComplex_t *C, int ldc)
 Performs symmetric matrix by matrix multiplication. More...
 
iclblasStatus_t iclblasCsyr2k (iclblasHandle_t handle, iclblasFillMode_t uplo, iclblasOperation_t trans, int n, int k, const oclComplex_t *alpha, oclComplex_t *A, int lda, oclComplex_t *B, int ldb, const oclComplex_t *beta, oclComplex_t *C, int ldc)
 Performs symmetric rank-2k update. More...
 
iclblasStatus_t iclblasCsyrk (iclblasHandle_t handle, iclblasFillMode_t uplo, iclblasOperation_t trans, int n, int k, const oclComplex_t *alpha, oclComplex_t *A, int lda, const oclComplex_t *beta, oclComplex_t *C, int ldc)
 Performs symmetric rank-k update. More...
 
iclblasStatus_t iclblasCtrsm (iclblasHandle_t handle, iclblasSideMode_t side, iclblasFillMode_t uplo, iclblasOperation_t trans, iclblasDiagType_t diag, int m, int n, const oclComplex_t *alpha, oclComplex_t *A, int lda, oclComplex_t *B, int ldb)
 Solves triangular linear system with multiple right-hand-sides. More...
 
iclblasStatus_t iclblasCherk (iclblasHandle_t handle, iclblasFillMode_t uplo, iclblasOperation_t trans, int n, int k, const float *alpha, oclComplex_t *A, int lda, const float *beta, oclComplex_t *C, int ldc)
 Performs Hermitian rank-k update. More...
 
iclblasStatus_t iclblasCher2k (iclblasHandle_t handle, iclblasFillMode_t uplo, iclblasOperation_t trans, int n, int k, const oclComplex_t *alpha, oclComplex_t *A, int lda, oclComplex_t *B, int ldb, const float *beta, oclComplex_t *C, int ldc)
 Performs Hermitian rank-2k update. More...
 
iclblasStatus_t iclblasCtrmm (iclblasHandle_t handle, iclblasSideMode_t side, iclblasFillMode_t uplo, iclblasOperation_t transa, iclblasDiagType_t diag, int m, int n, const oclComplex_t *alpha, oclComplex_t *A, int lda, oclComplex_t *B, int ldb, oclComplex_t *C, int ldc)
 Performs triangular matrix by matrix multiplication. More...
 
iclblasStatus_t iclblasChemm (iclblasHandle_t handle, iclblasSideMode_t side, iclblasFillMode_t uplo, int m, int n, const oclComplex_t *alpha, oclComplex_t *A, int lda, oclComplex_t *B, int ldb, const oclComplex_t *beta, oclComplex_t *C, int ldc)
 Performs Hermitian matrix by matrix multiplication. More...
 

Detailed Description

This file contains all of the BLAS related (public) interfaces and objects.

Definition in file iclBLAS.h.