arrayfire.blas module¶
BLAS functions (matmul, dot, etc)
-
arrayfire.blas.
dot
(lhs, rhs, lhs_opts=<MATPROP.NONE: 0>, rhs_opts=<MATPROP.NONE: 0>, return_scalar=False)[source]¶ Dot product of two input vectors.
- Parameters
- lhsaf.Array
A 1 dimensional, real or complex arrayfire array.
- rhsaf.Array
A 1 dimensional, real or complex arrayfire array.
- lhs_opts: optional: af.MATPROP. default: af.MATPROP.NONE.
- Can be one of
af.MATPROP.NONE - If no op should be done on lhs.
No other options are currently supported.
- rhs_opts: optional: af.MATPROP. default: af.MATPROP.NONE.
- Can be one of
af.MATPROP.NONE - If no op should be done on rhs.
No other options are currently supported.
- return_scalar: optional: bool. default: False.
When set to true, the input arrays are flattened and the output is a scalar
- Returns
- outaf.Array or scalar
Output of dot product of lhs and rhs.
-
arrayfire.blas.
gemm
(lhs, rhs, alpha=1.0, beta=0.0, lhs_opts=<MATPROP.NONE: 0>, rhs_opts=<MATPROP.NONE: 0>, C=None)[source]¶ BLAS general matrix multiply (GEMM) of two af_array objects.
This provides a general interface to the BLAS level 3 general matrix multiply (GEMM), which is generally defined as:
C = alpha * opA(A) opB(B) + beta * C
where alpha and beta are both scalars; A and B are the matrix multiply operands; and opA and opB are noop (if AF_MAT_NONE) or transpose (if AF_MAT_TRANS) operations on A or B before the actual GEMM operation. Batched GEMM is supported if at least either A or B have more than two dimensions (see af::matmul for more details on broadcasting). However, only one alpha and one beta can be used for all of the batched matrix operands.
- Parameters
- lhsaf.Array
A 2 dimensional, real or complex arrayfire array.
- rhsaf.Array
A 2 dimensional, real or complex arrayfire array.
- alphascalar
- betascalar
- lhs_opts: optional: af.MATPROP. default: af.MATPROP.NONE.
- Can be one of
af.MATPROP.NONE - If no op should be done on lhs.
af.MATPROP.TRANS - If lhs has to be transposed before multiplying.
af.MATPROP.CTRANS - If lhs has to be hermitian transposed before multiplying.
- rhs_opts: optional: af.MATPROP. default: af.MATPROP.NONE.
- Can be one of
af.MATPROP.NONE - If no op should be done on rhs.
af.MATPROP.TRANS - If rhs has to be transposed before multiplying.
af.MATPROP.CTRANS - If rhs has to be hermitian transposed before multiplying.
- Returns
- outaf.Array
Output of the matrix multiplication on lhs and rhs.
-
arrayfire.blas.
matmul
(lhs, rhs, lhs_opts=<MATPROP.NONE: 0>, rhs_opts=<MATPROP.NONE: 0>)[source]¶ Generalized matrix multiplication for two matrices.
- Parameters
- lhsaf.Array
A 2 dimensional, real or complex arrayfire array.
- rhsaf.Array
A 2 dimensional, real or complex arrayfire array.
- lhs_opts: optional: af.MATPROP. default: af.MATPROP.NONE.
- Can be one of
af.MATPROP.NONE - If no op should be done on lhs.
af.MATPROP.TRANS - If lhs has to be transposed before multiplying.
af.MATPROP.CTRANS - If lhs has to be hermitian transposed before multiplying.
- rhs_opts: optional: af.MATPROP. default: af.MATPROP.NONE.
- Can be one of
af.MATPROP.NONE - If no op should be done on rhs.
af.MATPROP.TRANS - If rhs has to be transposed before multiplying.
af.MATPROP.CTRANS - If rhs has to be hermitian transposed before multiplying.
- Returns
- outaf.Array
Output of the matrix multiplication on lhs and rhs.
-
arrayfire.blas.
matmulNT
(lhs, rhs)[source]¶ Matrix multiplication after transposing the second matrix.
- Parameters
- lhsaf.Array
A 2 dimensional, real or complex arrayfire array.
- rhsaf.Array
A 2 dimensional, real or complex arrayfire array.
- Returns
- outaf.Array
Output of the matrix multiplication on lhs and transpose(rhs).
-
arrayfire.blas.
matmulTN
(lhs, rhs)[source]¶ Matrix multiplication after transposing the first matrix.
- Parameters
- lhsaf.Array
A 2 dimensional, real or complex arrayfire array.
- rhsaf.Array
A 2 dimensional, real or complex arrayfire array.
- Returns
- outaf.Array
Output of the matrix multiplication on transpose(lhs) and rhs.
-
arrayfire.blas.
matmulTT
(lhs, rhs)[source]¶ Matrix multiplication after transposing both inputs.
- Parameters
- lhsaf.Array
A 2 dimensional, real or complex arrayfire array.
- rhsaf.Array
A 2 dimensional, real or complex arrayfire array.
- Returns
- outaf.Array
Output of the matrix multiplication on transpose(lhs) and transpose(rhs).