BLIS Object Backend
LinearAlgebra-like frontend communicates with the BLIS library through its Object-API, which is exposed as BLIS.ObjectBackend
submodule. Mixed-precision BLAS functions are only available via Object-API methods:
using BLIS
using BLIS.ObjectBackend
# α and β should always be created from numbers.
oα = BliObj(1.0);
oβ = BliObj(1.0);
# Matrix objects can be created from Arrays or views.
oA = BliObj(rand(Float32, 4, 4));
oB = BliObj(rand(Float32, 4, 4));
C = zeros(Float64, 8, 8);
wC = view(C, 1:2:8, 1:2:8);
oC = BliObj(wC);
# Mixed-precision GEMM into scattered target storage:
# A * B -> C[1:2:7, 1:2:7],
# where A and B have single precision and multiply into
# a double precision target matrix.
BLIS.ObjectBackend.bli_gemm!(oα, oA, oB, oβ, oC)
# View result at target matrix C.
# Here's an example output.
C
[
1.59116 0.0 1.34804 0.0 1.68991 0.0 1.58798 0.0;
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0;
1.27603 0.0 1.31893 0.0 1.40484 0.0 1.06297 0.0;
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0;
2.12725 0.0 1.72495 0.0 2.37218 0.0 1.56937 0.0;
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0;
1.0284 0.0 0.858046 0.0 1.05108 0.0 1.25478 0.0;
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0;
]
BLIS.ObjectBackend
: Object Creation
BLIS.ObjectBackend.BliObj
— TypeJulia object BliObj packs obj_t with a reference to buffer array. This is to preserve the base array from being recycled by GC module.
BLIS.ObjectBackend.BliObjBase
— TypeBliObjBase resembles obj_t of BLIS' object-based interface.
BLIS.ObjectBackend
: Level-1 Vector
BLIS.ObjectBackend.bli_addv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_addv
.
BLIS.ObjectBackend.bli_copyv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_copyv
.
BLIS.ObjectBackend.bli_subv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_subv
.
BLIS.ObjectBackend.bli_swapv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_swapv
.
BLIS.ObjectBackend.bli_axpyv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_axpyv
.
BLIS.ObjectBackend.bli_scal2v!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_scal2v
.
BLIS.ObjectBackend.bli_scalv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_scalv
.
BLIS.ObjectBackend.bli_setv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_setv
.
BLIS.ObjectBackend.bli_setrv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_setrv
.
BLIS.ObjectBackend.bli_setiv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_setiv
.
BLIS.ObjectBackend.bli_amaxv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_amaxv
.
BLIS.ObjectBackend.bli_axpbyv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_axpbyv
.
BLIS.ObjectBackend.bli_dotv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_dotv
.
BLIS.ObjectBackend.bli_dotxv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_dotxv
.
BLIS.ObjectBackend.bli_invertv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_invertv
.
BLIS.ObjectBackend.bli_xpbyv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_xpbyv
.
BLIS.ObjectBackend
: Level-1 Diagonal
BLIS.ObjectBackend.bli_addd!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_addd
.
BLIS.ObjectBackend.bli_copyd!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_copyd
.
BLIS.ObjectBackend.bli_subd!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_subd
.
BLIS.ObjectBackend.bli_axpyd!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_axpyd
.
BLIS.ObjectBackend.bli_scal2d!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_scal2d
.
BLIS.ObjectBackend.bli_scald!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_scald
.
BLIS.ObjectBackend.bli_setd!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_setd
.
BLIS.ObjectBackend.bli_setid!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_setid
.
BLIS.ObjectBackend.bli_shiftd!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_shiftd
.
BLIS.ObjectBackend.bli_invertd!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_invertd
.
BLIS.ObjectBackend.bli_xpbyd!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_xpbyd
.
BLIS.ObjectBackend
: Level-1 Matrix
BLIS.ObjectBackend.bli_addm!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_addm
.
BLIS.ObjectBackend.bli_copym!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_copym
.
BLIS.ObjectBackend.bli_subm!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_subm
.
BLIS.ObjectBackend.bli_axpym!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_axpym
.
BLIS.ObjectBackend.bli_scal2m!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_scal2m
.
BLIS.ObjectBackend.bli_scalm!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_scalm
.
BLIS.ObjectBackend.bli_setm!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_setm
.
BLIS.ObjectBackend.bli_xpbym!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_xpbym
.
BLIS.ObjectBackend.bli_xpbym_md!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_xpbym_md
.
BLIS.ObjectBackend
: Level-1 Fused-vector
BLIS.ObjectBackend.bli_axpy2v!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_axpy2v
.
BLIS.ObjectBackend.bli_axpyf!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_axpyf
.
BLIS.ObjectBackend.bli_dotxf!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_dotxf
.
BLIS.ObjectBackend
: Level-2
BLIS.ObjectBackend.bli_gemv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_gemv
.
BLIS.ObjectBackend.bli_hemv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_hemv
.
BLIS.ObjectBackend.bli_symv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_symv
.
BLIS.ObjectBackend.bli_ger!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_ger
.
BLIS.ObjectBackend.bli_her2!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_her2
.
BLIS.ObjectBackend.bli_syr2!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_syr2
.
BLIS.ObjectBackend.bli_her!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_her
.
BLIS.ObjectBackend.bli_syr!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_syr
.
BLIS.ObjectBackend.bli_trsv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_trsv
.
BLIS.ObjectBackend.bli_trmv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_trmv
.
BLIS.ObjectBackend
: Level-3
BLIS.ObjectBackend.bli_gemm!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_gemm
.
BLIS.ObjectBackend.bli_gemmt!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_gemmt
.
BLIS.ObjectBackend.bli_hemm!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_hemm
.
BLIS.ObjectBackend.bli_symm!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_symm
.
BLIS.ObjectBackend.bli_her2k!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_her2k
.
BLIS.ObjectBackend.bli_syr2k!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_syr2k
.
BLIS.ObjectBackend.bli_herk!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_herk
.
BLIS.ObjectBackend.bli_syrk!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_syrk
.
BLIS.ObjectBackend.bli_trmm!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_trmm
.
BLIS.ObjectBackend.bli_trmm3!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_trmm3
.
BLIS.ObjectBackend.bli_trsm!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_trsm
.
BLIS.ObjectBackend
: Utility-level
BLIS.ObjectBackend.bli_mkherm!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_mkherm
.
BLIS.ObjectBackend.bli_mksymm!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_mksymm
.
BLIS.ObjectBackend.bli_mktrim!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_mktrim
.
BLIS.ObjectBackend.bli_norm1v!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_norm1v
.
BLIS.ObjectBackend.bli_normfv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_normfv
.
BLIS.ObjectBackend.bli_normiv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_normiv
.
BLIS.ObjectBackend.bli_norm1m!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_norm1m
.
BLIS.ObjectBackend.bli_normfm!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_normfm
.
BLIS.ObjectBackend.bli_normim!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_normim
.
BLIS.ObjectBackend.bli_randv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_randv
.
BLIS.ObjectBackend.bli_randnv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_randnv
.
BLIS.ObjectBackend.bli_randm!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_randm
.
BLIS.ObjectBackend.bli_randnm!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_randnm
.
BLIS.ObjectBackend.bli_asumv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_asumv
.
BLIS.ObjectBackend.bli_sumsqv!
— FunctionAutogenerated BLIS Object-API function. For usage refer the BLIS docs for bli_sumsqv
.