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.