Module Owl_cblas

module Owl_cblas: sig .. end
CBLAS interface: high-level interface beween Owl and level-1, level-2, level-3 BLAS functions.


Please refer to: Intel Math Kernel Library in the CBLAS interface url: https://software.intel.com/en-us/mkl-developer-reference-c

Definition of basic types

type ('a, 'b) t = ('a, 'b, Bigarray.c_layout) Bigarray.Array1.t 
type s_t = (float, Bigarray.float32_elt) t 
type d_t = (float, Bigarray.float64_elt) t 
type c_t = (Complex.t, Bigarray.complex32_elt) t 
type z_t = (Complex.t, Bigarray.complex64_elt) t 
type cblas_layout = 
| CblasRowMajor
| CblasColMajor
type cblas_transpose = 
| CblasNoTrans
| CblasTrans
| CblasConjTrans
type cblas_uplo = 
| CblasUpper
| CblasLower
type cblas_diag = 
| CblasNonUnit
| CblasUnit
type cblas_side = 
| CblasLeft
| CblasRight

Level-1 BLAS: vector-vector operations

val srotg : float -> float -> float * float * float * float
val drotg : float -> float -> float * float * float * float
val srotmg : float -> float -> float -> float -> float * float * float * s_t
val drotmg : float -> float -> float -> float -> float * float * float * d_t
val srot : int -> s_t -> int -> s_t -> int -> float -> float -> unit
val drot : int -> d_t -> int -> d_t -> int -> float -> float -> unit
val srotm : int -> s_t -> int -> s_t -> int -> s_t -> unit
val drotm : int -> d_t -> int -> d_t -> int -> d_t -> unit
val sswap : int -> s_t -> int -> s_t -> int -> unit
val dswap : int -> d_t -> int -> d_t -> int -> unit
val cswap : int -> c_t -> int -> c_t -> int -> unit
val zswap : int -> z_t -> int -> z_t -> int -> unit
val sscal : int -> float -> s_t -> int -> unit
val dscal : int -> float -> d_t -> int -> unit
val cscal : int -> Complex.t -> c_t -> int -> unit
val zscal : int -> Complex.t -> z_t -> int -> unit
val csscal : int -> float -> c_t -> int -> unit
val zdscal : int -> float -> z_t -> int -> unit
val scopy : int -> s_t -> int -> s_t -> int -> unit
val dcopy : int -> d_t -> int -> d_t -> int -> unit
val ccopy : int -> c_t -> int -> c_t -> int -> unit
val zcopy : int -> z_t -> int -> z_t -> int -> unit
val saxpy : int -> float -> s_t -> int -> s_t -> int -> unit
val daxpy : int -> float -> d_t -> int -> d_t -> int -> unit
val caxpy : int -> Complex.t -> c_t -> int -> c_t -> int -> unit
val zaxpy : int -> Complex.t -> z_t -> int -> z_t -> int -> unit
val sdot : int -> s_t -> int -> s_t -> int -> float
val ddot : int -> d_t -> int -> d_t -> int -> float
val cdotu : int -> c_t -> int -> c_t -> int -> Complex.t
val zdotu : int -> z_t -> int -> z_t -> int -> Complex.t
val cdotc : int -> c_t -> int -> c_t -> int -> Complex.t
val zdotc : int -> z_t -> int -> z_t -> int -> Complex.t
val sdsdot : int -> float -> s_t -> int -> s_t -> int -> float
val dsdot : int -> s_t -> int -> s_t -> int -> float
val snrm2 : int -> s_t -> int -> float
val dnrm2 : int -> d_t -> int -> float
val scnrm2 : int -> c_t -> int -> float
val dznrm2 : int -> z_t -> int -> float
val sasum : int -> s_t -> int -> float
val dasum : int -> d_t -> int -> float
val scasum : int -> c_t -> int -> float
val dzasum : int -> z_t -> int -> float
val isamax : int -> s_t -> int -> int
val idamax : int -> d_t -> int -> int
val icamax : int -> c_t -> int -> int
val izamax : int -> z_t -> int -> int

Level-2 BLAS: matrix-vector operations

val sgemv : cblas_layout ->
cblas_transpose ->
int ->
int ->
float ->
s_t ->
int -> s_t -> int -> float -> s_t -> int -> unit
val dgemv : cblas_layout ->
cblas_transpose ->
int ->
int ->
float ->
d_t ->
int -> d_t -> int -> float -> d_t -> int -> unit
val cgemv : cblas_layout ->
cblas_transpose ->
int ->
int ->
Complex.t ->
c_t ->
int -> c_t -> int -> Complex.t -> c_t -> int -> unit
val zgemv : cblas_layout ->
cblas_transpose ->
int ->
int ->
Complex.t ->
z_t ->
int -> z_t -> int -> Complex.t -> z_t -> int -> unit
val sgbmv : cblas_layout ->
cblas_transpose ->
int ->
int ->
int ->
int ->
float ->
s_t ->
int -> s_t -> int -> float -> s_t -> int -> unit
val dgbmv : cblas_layout ->
cblas_transpose ->
int ->
int ->
int ->
int ->
float ->
d_t ->
int -> d_t -> int -> float -> d_t -> int -> unit
val cgbmv : cblas_layout ->
cblas_transpose ->
int ->
int ->
int ->
int ->
Complex.t ->
c_t ->
int -> c_t -> int -> Complex.t -> c_t -> int -> unit
val zgbmv : cblas_layout ->
cblas_transpose ->
int ->
int ->
int ->
int ->
Complex.t ->
z_t ->
int -> z_t -> int -> Complex.t -> z_t -> int -> unit
val strmv : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
cblas_diag ->
int -> s_t -> int -> s_t -> int -> unit
val dtrmv : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
cblas_diag ->
int -> d_t -> int -> d_t -> int -> unit
val ctrmv : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
cblas_diag ->
int -> c_t -> int -> c_t -> int -> unit
val ztrmv : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
cblas_diag ->
int -> z_t -> int -> z_t -> int -> unit
val stbmv : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
cblas_diag ->
int -> int -> s_t -> int -> s_t -> int -> unit
val dtbmv : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
cblas_diag ->
int -> int -> d_t -> int -> d_t -> int -> unit
val ctbmv : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
cblas_diag ->
int -> int -> c_t -> int -> c_t -> int -> unit
val ztbmv : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
cblas_diag ->
int -> int -> z_t -> int -> z_t -> int -> unit
val stpmv : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
cblas_diag -> int -> s_t -> s_t -> int -> unit
val dtpmv : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
cblas_diag -> int -> d_t -> d_t -> int -> unit
val ctpmv : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
cblas_diag -> int -> c_t -> c_t -> int -> unit
val ztpmv : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
cblas_diag -> int -> z_t -> z_t -> int -> unit
val strsv : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
cblas_diag ->
int -> s_t -> int -> s_t -> int -> unit
val dtrsv : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
cblas_diag ->
int -> d_t -> int -> d_t -> int -> unit
val ctrsv : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
cblas_diag ->
int -> c_t -> int -> c_t -> int -> unit
val ztrsv : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
cblas_diag ->
int -> z_t -> int -> z_t -> int -> unit
val stbsv : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
cblas_diag ->
int -> int -> s_t -> int -> s_t -> int -> unit
val dtbsv : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
cblas_diag ->
int -> int -> d_t -> int -> d_t -> int -> unit
val ctbsv : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
cblas_diag ->
int -> int -> c_t -> int -> c_t -> int -> unit
val ztbsv : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
cblas_diag ->
int -> int -> z_t -> int -> z_t -> int -> unit
val stpsv : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
cblas_diag -> int -> s_t -> s_t -> int -> unit
val dtpsv : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
cblas_diag -> int -> d_t -> d_t -> int -> unit
val ctpsv : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
cblas_diag -> int -> c_t -> c_t -> int -> unit
val ztpsv : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
cblas_diag -> int -> z_t -> z_t -> int -> unit
val ssymv : cblas_layout ->
cblas_uplo ->
int ->
float ->
s_t ->
int -> s_t -> int -> float -> s_t -> int -> unit
val dsymv : cblas_layout ->
cblas_uplo ->
int ->
float ->
d_t ->
int -> d_t -> int -> float -> d_t -> int -> unit
val ssbmv : cblas_layout ->
cblas_uplo ->
int ->
int ->
float ->
s_t ->
int -> s_t -> int -> float -> s_t -> int -> unit
val dsbmv : cblas_layout ->
cblas_uplo ->
int ->
int ->
float ->
d_t ->
int -> d_t -> int -> float -> d_t -> int -> unit
val sspmv : cblas_layout ->
cblas_uplo ->
int ->
int ->
float ->
s_t ->
s_t -> int -> float -> s_t -> int -> unit
val dspmv : cblas_layout ->
cblas_uplo ->
int ->
int ->
float ->
d_t ->
d_t -> int -> float -> d_t -> int -> unit
val sger : cblas_layout ->
int ->
int ->
float ->
s_t -> int -> s_t -> int -> s_t -> int -> unit
val dger : cblas_layout ->
int ->
int ->
float ->
d_t -> int -> d_t -> int -> d_t -> int -> unit
val ssyr : cblas_layout ->
cblas_uplo ->
int -> float -> s_t -> int -> s_t -> int -> unit
val dsyr : cblas_layout ->
cblas_uplo ->
int -> float -> d_t -> int -> d_t -> int -> unit
val sspr : cblas_layout ->
cblas_uplo ->
int -> float -> s_t -> int -> s_t -> unit
val dspr : cblas_layout ->
cblas_uplo ->
int -> float -> d_t -> int -> d_t -> unit
val ssyr2 : cblas_layout ->
cblas_uplo ->
int ->
float ->
s_t -> int -> s_t -> int -> s_t -> int -> unit
val dsyr2 : cblas_layout ->
cblas_uplo ->
int ->
float ->
d_t -> int -> d_t -> int -> d_t -> int -> unit
val sspr2 : cblas_layout ->
cblas_uplo ->
int ->
float ->
s_t -> int -> s_t -> int -> s_t -> unit
val dspr2 : cblas_layout ->
cblas_uplo ->
int ->
float ->
d_t -> int -> d_t -> int -> d_t -> unit
val chemv : cblas_layout ->
cblas_uplo ->
int ->
Complex.t ->
c_t ->
int -> c_t -> int -> Complex.t -> c_t -> int -> unit
val zhemv : cblas_layout ->
cblas_uplo ->
int ->
Complex.t ->
z_t ->
int -> z_t -> int -> Complex.t -> z_t -> int -> unit
val chbmv : cblas_layout ->
cblas_uplo ->
int ->
int ->
Complex.t ->
c_t ->
int -> c_t -> int -> Complex.t -> c_t -> int -> unit
val zhbmv : cblas_layout ->
cblas_uplo ->
int ->
int ->
Complex.t ->
z_t ->
int -> z_t -> int -> Complex.t -> z_t -> int -> unit
val chpmv : cblas_layout ->
cblas_uplo ->
int ->
Complex.t ->
c_t ->
c_t -> int -> Complex.t -> c_t -> int -> unit
val zhpmv : cblas_layout ->
cblas_uplo ->
int ->
Complex.t ->
z_t ->
z_t -> int -> Complex.t -> z_t -> int -> unit
val cgeru : cblas_layout ->
int ->
int ->
Complex.t ->
c_t -> int -> c_t -> int -> c_t -> int -> unit
val zgeru : cblas_layout ->
int ->
int ->
Complex.t ->
z_t -> int -> z_t -> int -> z_t -> int -> unit
val cgerc : cblas_layout ->
int ->
int ->
Complex.t ->
c_t -> int -> c_t -> int -> c_t -> int -> unit
val zgerc : cblas_layout ->
int ->
int ->
Complex.t ->
z_t -> int -> z_t -> int -> z_t -> int -> unit
val cher : cblas_layout ->
cblas_uplo ->
int -> float -> c_t -> int -> c_t -> int -> unit
val zher : cblas_layout ->
cblas_uplo ->
int -> float -> z_t -> int -> z_t -> int -> unit
val chpr : cblas_layout ->
cblas_uplo ->
int -> float -> c_t -> int -> c_t -> unit
val zhpr : cblas_layout ->
cblas_uplo ->
int -> float -> z_t -> int -> z_t -> unit
val cher2 : cblas_layout ->
cblas_uplo ->
int ->
Complex.t ->
c_t -> int -> c_t -> int -> c_t -> int -> unit
val zher2 : cblas_layout ->
cblas_uplo ->
int ->
Complex.t ->
z_t -> int -> z_t -> int -> z_t -> int -> unit
val chpr2 : cblas_layout ->
cblas_uplo ->
int ->
Complex.t ->
c_t -> int -> c_t -> int -> c_t -> unit
val zhpr2 : cblas_layout ->
cblas_uplo ->
int ->
Complex.t ->
z_t -> int -> z_t -> int -> z_t -> unit

Level-3 BLAS: matrix-matrix operations

val sgemm : cblas_layout ->
cblas_transpose ->
cblas_transpose ->
int ->
int ->
int ->
float ->
s_t ->
int -> s_t -> int -> float -> s_t -> int -> unit
val dgemm : cblas_layout ->
cblas_transpose ->
cblas_transpose ->
int ->
int ->
int ->
float ->
d_t ->
int -> d_t -> int -> float -> d_t -> int -> unit
val cgemm : cblas_layout ->
cblas_transpose ->
cblas_transpose ->
int ->
int ->
int ->
Complex.t ->
c_t ->
int -> c_t -> int -> Complex.t -> c_t -> int -> unit
val zgemm : cblas_layout ->
cblas_transpose ->
cblas_transpose ->
int ->
int ->
int ->
Complex.t ->
z_t ->
int -> z_t -> int -> Complex.t -> z_t -> int -> unit
val ssymm : cblas_layout ->
cblas_side ->
cblas_uplo ->
int ->
int ->
float ->
s_t ->
int -> s_t -> int -> float -> s_t -> int -> unit
val dsymm : cblas_layout ->
cblas_side ->
cblas_uplo ->
int ->
int ->
float ->
d_t ->
int -> d_t -> int -> float -> d_t -> int -> unit
val csymm : cblas_layout ->
cblas_side ->
cblas_uplo ->
int ->
int ->
Complex.t ->
c_t ->
int -> c_t -> int -> Complex.t -> c_t -> int -> unit
val zsymm : cblas_layout ->
cblas_side ->
cblas_uplo ->
int ->
int ->
Complex.t ->
z_t ->
int -> z_t -> int -> Complex.t -> z_t -> int -> unit
val ssyrk : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
int ->
int -> float -> s_t -> int -> float -> s_t -> int -> unit
val dsyrk : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
int ->
int -> float -> d_t -> int -> float -> d_t -> int -> unit
val csyrk : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
int ->
int ->
Complex.t ->
c_t -> int -> Complex.t -> c_t -> int -> unit
val zsyrk : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
int ->
int ->
Complex.t ->
z_t -> int -> Complex.t -> z_t -> int -> unit
val ssyr2k : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
int ->
int ->
float ->
s_t ->
int -> s_t -> int -> float -> s_t -> int -> unit
val dsyr2k : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
int ->
int ->
float ->
d_t ->
int -> d_t -> int -> float -> d_t -> int -> unit
val csyr2k : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
int ->
int ->
Complex.t ->
c_t ->
int -> c_t -> int -> Complex.t -> c_t -> int -> unit
val zsyr2k : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
int ->
int ->
Complex.t ->
z_t ->
int -> z_t -> int -> Complex.t -> z_t -> int -> unit
val strmm : cblas_layout ->
cblas_side ->
cblas_uplo ->
cblas_transpose ->
cblas_diag ->
int -> int -> float -> s_t -> int -> s_t -> int -> unit
val dtrmm : cblas_layout ->
cblas_side ->
cblas_uplo ->
cblas_transpose ->
cblas_diag ->
int -> int -> float -> d_t -> int -> d_t -> int -> unit
val ctrmm : cblas_layout ->
cblas_side ->
cblas_uplo ->
cblas_transpose ->
cblas_diag ->
int ->
int -> Complex.t -> c_t -> int -> c_t -> int -> unit
val ztrmm : cblas_layout ->
cblas_side ->
cblas_uplo ->
cblas_transpose ->
cblas_diag ->
int ->
int -> Complex.t -> z_t -> int -> z_t -> int -> unit
val strsm : cblas_layout ->
cblas_side ->
cblas_uplo ->
cblas_transpose ->
cblas_diag ->
int -> int -> float -> s_t -> int -> s_t -> int -> unit
val dtrsm : cblas_layout ->
cblas_side ->
cblas_uplo ->
cblas_transpose ->
cblas_diag ->
int -> int -> float -> d_t -> int -> d_t -> int -> unit
val ctrsm : cblas_layout ->
cblas_side ->
cblas_uplo ->
cblas_transpose ->
cblas_diag ->
int ->
int -> Complex.t -> c_t -> int -> c_t -> int -> unit
val ztrsm : cblas_layout ->
cblas_side ->
cblas_uplo ->
cblas_transpose ->
cblas_diag ->
int ->
int -> Complex.t -> z_t -> int -> z_t -> int -> unit
val chemm : cblas_layout ->
cblas_side ->
cblas_uplo ->
int ->
int ->
Complex.t ->
c_t ->
int -> c_t -> int -> Complex.t -> c_t -> int -> unit
val zhemm : cblas_layout ->
cblas_side ->
cblas_uplo ->
int ->
int ->
Complex.t ->
z_t ->
int -> z_t -> int -> Complex.t -> z_t -> int -> unit
val cherk : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
int ->
int -> float -> c_t -> int -> float -> c_t -> int -> unit
val zherk : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
int ->
int -> float -> z_t -> int -> float -> z_t -> int -> unit
val cher2k : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
int ->
int ->
Complex.t ->
c_t ->
int -> c_t -> int -> float -> c_t -> int -> unit
val zher2k : cblas_layout ->
cblas_uplo ->
cblas_transpose ->
int ->
int ->
Complex.t ->
z_t ->
int -> z_t -> int -> float -> z_t -> int -> unit