libflame revision_anchor
Functions
FLA_blas3_prototypes.h File Reference

(r)

Go to the source code of this file.

Functions

FLA_Error FLA_Gemm (FLA_Trans transa, FLA_Trans transb, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Hemm (FLA_Side side, FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Herk (FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Her2k (FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Symm (FLA_Side side, FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Syrk (FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Syr2k (FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Trmm (FLA_Side side, FLA_Uplo uplo, FLA_Trans trans, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B)
 
FLA_Error FLA_Trmmsx (FLA_Side side, FLA_Uplo uplo, FLA_Trans transa, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Trsm (FLA_Side side, FLA_Uplo uplo, FLA_Trans trans, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B)
 
FLA_Error FLA_Trsmsx (FLA_Side side, FLA_Uplo uplo, FLA_Trans transa, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Gemp (FLA_Trans transa, FLA_Trans transb, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Gepm (FLA_Trans transa, FLA_Trans transb, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Gepp (FLA_Trans transa, FLA_Trans transb, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Gemm_task (FLA_Trans transa, FLA_Trans transb, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_gemm_t *cntl)
 
FLA_Error FLA_Hemm_task (FLA_Side side, FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_hemm_t *cntl)
 
FLA_Error FLA_Herk_task (FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj beta, FLA_Obj C, fla_herk_t *cntl)
 
FLA_Error FLA_Her2k_task (FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_her2k_t *cntl)
 
FLA_Error FLA_Symm_task (FLA_Side side, FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_symm_t *cntl)
 
FLA_Error FLA_Syrk_task (FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj beta, FLA_Obj C, fla_syrk_t *cntl)
 
FLA_Error FLA_Syr2k_task (FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_syr2k_t *cntl)
 
FLA_Error FLA_Trmm_task (FLA_Side side, FLA_Uplo uplo, FLA_Trans trans, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trmm_t *cntl)
 
FLA_Error FLA_Trsm_task (FLA_Side side, FLA_Uplo uplo, FLA_Trans trans, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trsm_t *cntl)
 
FLA_Error FLA_Gemm_cc_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_gemm_t *cntl)
 
FLA_Error FLA_Gemm_ch_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_gemm_t *cntl)
 
FLA_Error FLA_Gemm_cn_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_gemm_t *cntl)
 
FLA_Error FLA_Gemm_ct_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_gemm_t *cntl)
 
FLA_Error FLA_Gemm_hc_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_gemm_t *cntl)
 
FLA_Error FLA_Gemm_hh_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_gemm_t *cntl)
 
FLA_Error FLA_Gemm_hn_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_gemm_t *cntl)
 
FLA_Error FLA_Gemm_ht_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_gemm_t *cntl)
 
FLA_Error FLA_Gemm_nc_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_gemm_t *cntl)
 
FLA_Error FLA_Gemm_nh_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_gemm_t *cntl)
 
FLA_Error FLA_Gemm_nn_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_gemm_t *cntl)
 
FLA_Error FLA_Gemm_nt_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_gemm_t *cntl)
 
FLA_Error FLA_Gemm_tc_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_gemm_t *cntl)
 
FLA_Error FLA_Gemm_th_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_gemm_t *cntl)
 
FLA_Error FLA_Gemm_tn_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_gemm_t *cntl)
 
FLA_Error FLA_Gemm_tt_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_gemm_t *cntl)
 
FLA_Error FLA_Hemm_ll_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_hemm_t *cntl)
 
FLA_Error FLA_Hemm_lu_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_hemm_t *cntl)
 
FLA_Error FLA_Hemm_rl_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_hemm_t *cntl)
 
FLA_Error FLA_Hemm_ru_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_hemm_t *cntl)
 
FLA_Error FLA_Her2k_ln_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_her2k_t *cntl)
 
FLA_Error FLA_Her2k_lh_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_her2k_t *cntl)
 
FLA_Error FLA_Her2k_un_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_her2k_t *cntl)
 
FLA_Error FLA_Her2k_uh_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_her2k_t *cntl)
 
FLA_Error FLA_Herk_ln_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj beta, FLA_Obj C, fla_herk_t *cntl)
 
FLA_Error FLA_Herk_lh_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj beta, FLA_Obj C, fla_herk_t *cntl)
 
FLA_Error FLA_Herk_un_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj beta, FLA_Obj C, fla_herk_t *cntl)
 
FLA_Error FLA_Herk_uh_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj beta, FLA_Obj C, fla_herk_t *cntl)
 
FLA_Error FLA_Symm_ll_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_symm_t *cntl)
 
FLA_Error FLA_Symm_lu_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_symm_t *cntl)
 
FLA_Error FLA_Symm_rl_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_symm_t *cntl)
 
FLA_Error FLA_Symm_ru_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_symm_t *cntl)
 
FLA_Error FLA_Syr2k_ln_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_syr2k_t *cntl)
 
FLA_Error FLA_Syr2k_lt_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_syr2k_t *cntl)
 
FLA_Error FLA_Syr2k_un_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_syr2k_t *cntl)
 
FLA_Error FLA_Syr2k_ut_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_syr2k_t *cntl)
 
FLA_Error FLA_Syrk_ln_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj beta, FLA_Obj C, fla_syrk_t *cntl)
 
FLA_Error FLA_Syrk_lt_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj beta, FLA_Obj C, fla_syrk_t *cntl)
 
FLA_Error FLA_Syrk_un_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj beta, FLA_Obj C, fla_syrk_t *cntl)
 
FLA_Error FLA_Syrk_ut_task (FLA_Obj alpha, FLA_Obj A, FLA_Obj beta, FLA_Obj C, fla_syrk_t *cntl)
 
FLA_Error FLA_Trmm_llc_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trmm_t *cntl)
 
FLA_Error FLA_Trmm_llh_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trmm_t *cntl)
 
FLA_Error FLA_Trmm_lln_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trmm_t *cntl)
 
FLA_Error FLA_Trmm_llt_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trmm_t *cntl)
 
FLA_Error FLA_Trmm_luc_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trmm_t *cntl)
 
FLA_Error FLA_Trmm_luh_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trmm_t *cntl)
 
FLA_Error FLA_Trmm_lun_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trmm_t *cntl)
 
FLA_Error FLA_Trmm_lut_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trmm_t *cntl)
 
FLA_Error FLA_Trmm_rlc_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trmm_t *cntl)
 
FLA_Error FLA_Trmm_rlh_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trmm_t *cntl)
 
FLA_Error FLA_Trmm_rln_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trmm_t *cntl)
 
FLA_Error FLA_Trmm_rlt_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trmm_t *cntl)
 
FLA_Error FLA_Trmm_ruc_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trmm_t *cntl)
 
FLA_Error FLA_Trmm_ruh_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trmm_t *cntl)
 
FLA_Error FLA_Trmm_run_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trmm_t *cntl)
 
FLA_Error FLA_Trmm_rut_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trmm_t *cntl)
 
FLA_Error FLA_Trsm_llc_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trsm_t *cntl)
 
FLA_Error FLA_Trsm_llh_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trsm_t *cntl)
 
FLA_Error FLA_Trsm_lln_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trsm_t *cntl)
 
FLA_Error FLA_Trsm_llt_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trsm_t *cntl)
 
FLA_Error FLA_Trsm_luc_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trsm_t *cntl)
 
FLA_Error FLA_Trsm_luh_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trsm_t *cntl)
 
FLA_Error FLA_Trsm_lun_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trsm_t *cntl)
 
FLA_Error FLA_Trsm_lut_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trsm_t *cntl)
 
FLA_Error FLA_Trsm_rlc_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trsm_t *cntl)
 
FLA_Error FLA_Trsm_rlh_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trsm_t *cntl)
 
FLA_Error FLA_Trsm_rln_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trsm_t *cntl)
 
FLA_Error FLA_Trsm_rlt_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trsm_t *cntl)
 
FLA_Error FLA_Trsm_ruc_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trsm_t *cntl)
 
FLA_Error FLA_Trsm_ruh_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trsm_t *cntl)
 
FLA_Error FLA_Trsm_run_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trsm_t *cntl)
 
FLA_Error FLA_Trsm_rut_task (FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trsm_t *cntl)
 
FLA_Error FLA_Gemm_external (FLA_Trans transa, FLA_Trans transb, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Hemm_external (FLA_Side side, FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Herk_external (FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Her2k_external (FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Symm_external (FLA_Side side, FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Syrk_external (FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Syr2k_external (FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Trmm_external (FLA_Side side, FLA_Uplo uplo, FLA_Trans trans, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B)
 
FLA_Error FLA_Trsm_external (FLA_Side side, FLA_Uplo uplo, FLA_Trans trans, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B)
 
FLA_Error FLA_Trmmsx_external (FLA_Side side, FLA_Uplo uplo, FLA_Trans transa, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Trsmsx_external (FLA_Side side, FLA_Uplo uplo, FLA_Trans transa, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Gemm_external_gpu (FLA_Trans transa, FLA_Trans transb, FLA_Obj alpha, FLA_Obj A, void *A_gpu, FLA_Obj B, void *B_gpu, FLA_Obj beta, FLA_Obj C, void *C_gpu)
 
FLA_Error FLA_Hemm_external_gpu (FLA_Side side, FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A, void *A_gpu, FLA_Obj B, void *B_gpu, FLA_Obj beta, FLA_Obj C, void *C_gpu)
 
FLA_Error FLA_Herk_external_gpu (FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, void *A_gpu, FLA_Obj beta, FLA_Obj C, void *C_gpu)
 
FLA_Error FLA_Her2k_external_gpu (FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, void *A_gpu, FLA_Obj B, void *B_gpu, FLA_Obj beta, FLA_Obj C, void *C_gpu)
 
FLA_Error FLA_Symm_external_gpu (FLA_Side side, FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A, void *A_gpu, FLA_Obj B, void *B_gpu, FLA_Obj beta, FLA_Obj C, void *C_gpu)
 
FLA_Error FLA_Syrk_external_gpu (FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, void *A_gpu, FLA_Obj beta, FLA_Obj C, void *C_gpu)
 
FLA_Error FLA_Syr2k_external_gpu (FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, void *A_gpu, FLA_Obj B, void *B_gpu, FLA_Obj beta, FLA_Obj C, void *C_gpu)
 
FLA_Error FLA_Trmm_external_gpu (FLA_Side side, FLA_Uplo uplo, FLA_Trans trans, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, void *A_gpu, FLA_Obj B, void *B_gpu)
 
FLA_Error FLA_Trsm_external_gpu (FLA_Side side, FLA_Uplo uplo, FLA_Trans trans, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, void *A_gpu, FLA_Obj B, void *B_gpu)
 
FLA_Error FLA_Gemm_check (FLA_Trans transa, FLA_Trans transb, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Hemm_check (FLA_Side side, FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Her2k_check (FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Herk_check (FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Symm_check (FLA_Side side, FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Syr2k_check (FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Syrk_check (FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Trmm_check (FLA_Side side, FLA_Uplo uplo, FLA_Trans transa, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B)
 
FLA_Error FLA_Trmmsx_check (FLA_Side side, FLA_Uplo uplo, FLA_Trans transa, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Trsm_check (FLA_Side side, FLA_Uplo uplo, FLA_Trans transa, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B)
 
FLA_Error FLA_Trsmsx_check (FLA_Side side, FLA_Uplo uplo, FLA_Trans transa, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
 
FLA_Error FLA_Gemm_internal_check (FLA_Trans transa, FLA_Trans transb, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_gemm_t *cntl)
 
FLA_Error FLA_Hemm_internal_check (FLA_Side side, FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_hemm_t *cntl)
 
FLA_Error FLA_Herk_internal_check (FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj beta, FLA_Obj C, fla_herk_t *cntl)
 
FLA_Error FLA_Her2k_internal_check (FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_her2k_t *cntl)
 
FLA_Error FLA_Symm_internal_check (FLA_Side side, FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_symm_t *cntl)
 
FLA_Error FLA_Syrk_internal_check (FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj beta, FLA_Obj C, fla_syrk_t *cntl)
 
FLA_Error FLA_Syr2k_internal_check (FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_syr2k_t *cntl)
 
FLA_Error FLA_Trmm_internal_check (FLA_Side side, FLA_Uplo uplo, FLA_Trans trans, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trmm_t *cntl)
 
FLA_Error FLA_Trsm_internal_check (FLA_Side side, FLA_Uplo uplo, FLA_Trans trans, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trsm_t *cntl)
 

Function Documentation

◆ FLA_Gemm()

FLA_Error FLA_Gemm ( FLA_Trans  transa,
FLA_Trans  transb,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C 
)
16{
18
19 // Check parameters.
22
23#ifdef FLA_ENABLE_BLAS3_FRONT_END_CNTL_TREES
25#else
27#endif
28
29 return r_val;
30}
fla_gemm_t * fla_gemm_cntl_mm_op
Definition FLA_Gemm_cntl_init.c:40
FLA_Error FLA_Gemm_internal(FLA_Trans transa, FLA_Trans transb, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_gemm_t *cntl)
Definition FLA_Gemm_internal.c:16
FLA_Error FLA_Gemm_check(FLA_Trans transa, FLA_Trans transb, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
Definition FLA_Gemm_check.c:13
FLA_Error FLA_Gemm_external(FLA_Trans transa, FLA_Trans transb, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
Definition FLA_Gemm_external.c:13
unsigned int FLA_Check_error_level(void)
Definition FLA_Check.c:18
int FLA_Error
Definition FLA_type_defs.h:47
int i
Definition bl1_axmyv2.c:145

References FLA_Check_error_level(), FLA_Gemm_check(), fla_gemm_cntl_mm_op, FLA_Gemm_external(), FLA_Gemm_internal(), and i.

Referenced by FLA_Svd_ext_u_unb_var1(), FLA_Svd_uv_unb_var1(), and FLA_Svd_uv_unb_var2().

◆ FLA_Gemm_cc_task()

FLA_Error FLA_Gemm_cc_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_gemm_t cntl 
)

References FLA_Gemm_external(), and i.

Referenced by FLA_Gemm_cc().

◆ FLA_Gemm_ch_task()

FLA_Error FLA_Gemm_ch_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_gemm_t cntl 
)

References FLA_Gemm_external(), and i.

Referenced by FLA_Gemm_ch().

◆ FLA_Gemm_check()

FLA_Error FLA_Gemm_check ( FLA_Trans  transa,
FLA_Trans  transb,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C 
)
14{
16
19
22
25
28
31
34
37
40
43
46
49
50 return FLA_SUCCESS;
51}
FLA_Error FLA_Check_if_scalar(FLA_Obj A)
Definition FLA_Check.c:373
FLA_Error FLA_Check_consistent_object_datatype(FLA_Obj A, FLA_Obj B)
Definition FLA_Check.c:339
FLA_Error FLA_Check_valid_trans(FLA_Trans trans)
Definition FLA_Check.c:87
FLA_Error FLA_Check_nonconstant_object(FLA_Obj A)
Definition FLA_Check.c:954
FLA_Error FLA_Check_identical_object_datatype(FLA_Obj A, FLA_Obj B)
Definition FLA_Check.c:967
FLA_Error FLA_Check_matrix_matrix_dims(FLA_Trans transa, FLA_Trans transb, FLA_Obj A, FLA_Obj B, FLA_Obj C)
Definition FLA_Check.c:417
FLA_Error FLA_Check_floating_object(FLA_Obj A)
Definition FLA_Check.c:232

References FLA_Check_consistent_object_datatype(), FLA_Check_floating_object(), FLA_Check_identical_object_datatype(), FLA_Check_if_scalar(), FLA_Check_matrix_matrix_dims(), FLA_Check_nonconstant_object(), and FLA_Check_valid_trans().

Referenced by FLA_Gemm(), FLA_Gemm_external(), FLA_Gemm_external_gpu(), and FLASH_Gemm().

◆ FLA_Gemm_cn_task()

FLA_Error FLA_Gemm_cn_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_gemm_t cntl 
)

References FLA_Gemm_external(), and i.

Referenced by FLA_Gemm_cn().

◆ FLA_Gemm_ct_task()

FLA_Error FLA_Gemm_ct_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_gemm_t cntl 
)

References FLA_Gemm_external(), and i.

Referenced by FLA_Gemm_ct().

◆ FLA_Gemm_external()

FLA_Error FLA_Gemm_external ( FLA_Trans  transa,
FLA_Trans  transb,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C 
)
14{
15 FLA_Datatype datatype;
16 int k_AB;
17 int m_A, n_A;
18 int m_C, n_C;
19 int rs_A, cs_A;
20 int rs_B, cs_B;
21 int rs_C, cs_C;
24
27
28 if ( FLA_Obj_has_zero_dim( C ) ) return FLA_SUCCESS;
29
31 {
33 return FLA_SUCCESS;
34 }
35
36 datatype = FLA_Obj_datatype( A );
37
38 m_A = FLA_Obj_length( A );
39 n_A = FLA_Obj_width( A );
42
45
46 m_C = FLA_Obj_length( C );
47 n_C = FLA_Obj_width( C );
50
52 k_AB = n_A;
53 else
54 k_AB = m_A;
55
58
59
60 switch( datatype ){
61
62 case FLA_FLOAT:
63 {
64 float *buff_A = ( float * ) FLA_FLOAT_PTR( A );
65 float *buff_B = ( float * ) FLA_FLOAT_PTR( B );
66 float *buff_C = ( float * ) FLA_FLOAT_PTR( C );
67 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
68 float *buff_beta = ( float * ) FLA_FLOAT_PTR( beta );
69
72 m_C,
73 k_AB,
74 n_C,
76 buff_A, rs_A, cs_A,
79 buff_C, rs_C, cs_C );
80
81 break;
82 }
83
84 case FLA_DOUBLE:
85 {
86 double *buff_A = ( double * ) FLA_DOUBLE_PTR( A );
87 double *buff_B = ( double * ) FLA_DOUBLE_PTR( B );
88 double *buff_C = ( double * ) FLA_DOUBLE_PTR( C );
89 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
90 double *buff_beta = ( double * ) FLA_DOUBLE_PTR( beta );
91
94 m_C,
95 k_AB,
96 n_C,
98 buff_A, rs_A, cs_A,
100 buff_beta,
101 buff_C, rs_C, cs_C );
102
103 break;
104 }
105
106 case FLA_COMPLEX:
107 {
113
116 m_C,
117 k_AB,
118 n_C,
120 buff_A, rs_A, cs_A,
121 buff_B, rs_B, cs_B,
122 buff_beta,
123 buff_C, rs_C, cs_C );
124
125 break;
126 }
127
129 {
135
138 m_C,
139 k_AB,
140 n_C,
142 buff_A, rs_A, cs_A,
143 buff_B, rs_B, cs_B,
144 buff_beta,
145 buff_C, rs_C, cs_C );
146
147 break;
148 }
149
150 }
151
152 return FLA_SUCCESS;
153}
FLA_Error FLA_Scal_external(FLA_Obj alpha, FLA_Obj A)
Definition FLA_Scal_external.c:13
dim_t FLA_Obj_width(FLA_Obj obj)
Definition FLA_Query.c:123
FLA_Bool FLA_Obj_has_zero_dim(FLA_Obj A)
Definition FLA_Query.c:400
dim_t FLA_Obj_row_stride(FLA_Obj obj)
Definition FLA_Query.c:167
dim_t FLA_Obj_length(FLA_Obj obj)
Definition FLA_Query.c:116
void FLA_Param_map_flame_to_blis_trans(FLA_Trans trans, trans1_t *blis_trans)
Definition FLA_Param.c:245
dim_t FLA_Obj_col_stride(FLA_Obj obj)
Definition FLA_Query.c:174
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition FLA_Query.c:13
int FLA_Datatype
Definition FLA_type_defs.h:49
void bl1_dgemm(trans1_t transa, trans1_t transb, int m, int k, int n, double *alpha, double *a, int a_rs, int a_cs, double *b, int b_rs, int b_cs, double *beta, double *c, int c_rs, int c_cs)
Definition bl1_gemm.c:274
void bl1_sgemm(trans1_t transa, trans1_t transb, int m, int k, int n, float *alpha, float *a, int a_rs, int a_cs, float *b, int b_rs, int b_cs, float *beta, float *c, int c_rs, int c_cs)
Definition bl1_gemm.c:13
void bl1_zgemm(trans1_t transa, trans1_t transb, int m, int k, int n, dcomplex *alpha, dcomplex *a, int a_rs, int a_cs, dcomplex *b, int b_rs, int b_cs, dcomplex *beta, dcomplex *c, int c_rs, int c_cs)
Definition bl1_gemm.c:873
void bl1_cgemm(trans1_t transa, trans1_t transb, int m, int k, int n, scomplex *alpha, scomplex *a, int a_rs, int a_cs, scomplex *b, int b_rs, int b_cs, scomplex *beta, scomplex *c, int c_rs, int c_cs)
Definition bl1_gemm.c:535
trans1_t
Definition blis_type_defs.h:53
Definition blis_type_defs.h:138
Definition blis_type_defs.h:133

References bl1_cgemm(), bl1_dgemm(), bl1_sgemm(), bl1_zgemm(), FLA_Check_error_level(), FLA_Gemm_check(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_length(), FLA_Obj_row_stride(), FLA_Obj_width(), FLA_Param_map_flame_to_blis_trans(), FLA_Scal_external(), and i.

Referenced by FLA_Bidiag_UT_u_blf_var4(), FLA_Bidiag_UT_u_blk_var4(), FLA_Bidiag_UT_u_blk_var5(), FLA_Gemm(), FLA_Gemm_cc_task(), FLA_Gemm_ch_task(), FLA_Gemm_cn_task(), FLA_Gemm_ct_task(), FLA_Gemm_hc_task(), FLA_Gemm_hh_task(), FLA_Gemm_hn_task(), FLA_Gemm_ht_task(), FLA_Gemm_nc_task(), FLA_Gemm_nh_task(), FLA_Gemm_nn_task(), FLA_Gemm_nt_task(), FLA_Gemm_task(), FLA_Gemm_tc_task(), FLA_Gemm_th_task(), FLA_Gemm_tn_task(), FLA_Gemm_tt_task(), FLA_Hess_UT_blf_var2(), FLA_Hess_UT_blf_var3(), FLA_Hess_UT_blf_var4(), FLA_Hess_UT_blk_var1(), FLA_Hess_UT_blk_var2(), FLA_Hess_UT_blk_var3(), FLA_Hess_UT_blk_var4(), FLA_Hess_UT_blk_var5(), FLA_LQ_UT_blk_var2(), FLA_QR_UT_blk_var2(), FLA_QR_UT_piv_blk_var2(), FLA_SA_FS_blk(), and FLA_SA_LU_blk().

◆ FLA_Gemm_external_gpu()

FLA_Error FLA_Gemm_external_gpu ( FLA_Trans  transa,
FLA_Trans  transb,
FLA_Obj  alpha,
FLA_Obj  A,
void A_gpu,
FLA_Obj  B,
void B_gpu,
FLA_Obj  beta,
FLA_Obj  C,
void C_gpu 
)
18{
19 FLA_Datatype datatype;
20 int k_AB;
21 int m_A, n_A;
22 int m_C, n_C;
23 int ldim_A;
24 int ldim_B;
25 int ldim_C;
26 char blas_transa;
27 char blas_transb;
28
31
32 if ( FLA_Obj_has_zero_dim( C ) ) return FLA_SUCCESS;
33
35 {
37 return FLA_SUCCESS;
38 }
39
40 datatype = FLA_Obj_datatype( A );
41
42 m_A = FLA_Obj_length( A );
43 n_A = FLA_Obj_width( A );
45
47
48 m_C = FLA_Obj_length( C );
49 n_C = FLA_Obj_width( C );
51
53 k_AB = n_A;
54 else
55 k_AB = m_A;
56
59
60
61 switch( datatype ){
62
63 case FLA_FLOAT:
64 {
65 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
66 float *buff_beta = ( float * ) FLA_FLOAT_PTR( beta );
67
70 m_C,
71 n_C,
72 k_AB,
74 ( float * ) A_gpu, ldim_A,
75 ( float * ) B_gpu, ldim_B,
76 *buff_beta,
77 ( float * ) C_gpu, ldim_C );
78
79 break;
80 }
81
82 case FLA_DOUBLE:
83 {
84 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
85 double *buff_beta = ( double * ) FLA_DOUBLE_PTR( beta );
86
89 m_C,
90 n_C,
91 k_AB,
93 ( double * ) A_gpu, ldim_A,
94 ( double * ) B_gpu, ldim_B,
95 *buff_beta,
96 ( double * ) C_gpu, ldim_C );
97
98 break;
99 }
100
101 case FLA_COMPLEX:
102 {
105
108 m_C,
109 n_C,
110 k_AB,
111 *buff_alpha,
112 ( cuComplex * ) A_gpu, ldim_A,
113 ( cuComplex * ) B_gpu, ldim_B,
114 *buff_beta,
115 ( cuComplex * ) C_gpu, ldim_C );
116
117 break;
118 }
119
121 {
124
127 m_C,
128 n_C,
129 k_AB,
130 *buff_alpha,
133 *buff_beta,
135
136 break;
137 }
138
139 }
140
141 return FLA_SUCCESS;
142}
FLA_Error FLA_Scal_external_gpu(FLA_Obj alpha, FLA_Obj A, void *A_gpu)
Definition FLA_Scal_external_gpu.c:17
void FLA_Param_map_flame_to_netlib_trans(FLA_Trans trans, void *blas_trans)
Definition FLA_Param.c:15

References FLA_Check_error_level(), FLA_Gemm_check(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_length(), FLA_Obj_width(), FLA_Param_map_flame_to_netlib_trans(), FLA_Scal_external_gpu(), and i.

Referenced by FLASH_Queue_exec_task_gpu().

◆ FLA_Gemm_hc_task()

FLA_Error FLA_Gemm_hc_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_gemm_t cntl 
)

References FLA_Gemm_external(), and i.

Referenced by FLA_Gemm_hc().

◆ FLA_Gemm_hh_task()

FLA_Error FLA_Gemm_hh_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_gemm_t cntl 
)

References FLA_Gemm_external(), and i.

Referenced by FLA_Gemm_hh().

◆ FLA_Gemm_hn_task()

FLA_Error FLA_Gemm_hn_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_gemm_t cntl 
)

References FLA_Gemm_external(), and i.

Referenced by FLA_Gemm_hn().

◆ FLA_Gemm_ht_task()

FLA_Error FLA_Gemm_ht_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_gemm_t cntl 
)

References FLA_Gemm_external(), and i.

Referenced by FLA_Gemm_ht().

◆ FLA_Gemm_internal_check()

FLA_Error FLA_Gemm_internal_check ( FLA_Trans  transa,
FLA_Trans  transb,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_gemm_t cntl 
)
14{
16
17 // Abort if the control structure is NULL.
18 e_val = FLA_Check_null_pointer( ( void* ) cntl );
20
21 // Verify that the object element types are identical.
24
27
28 // Verify conformality between all the objects. This check works regardless
29 // of whether the element type is FLA_MATRIX or FLA_SCALAR because the
30 // element length and width are used instead of scalar length and width.
33
34 return FLA_SUCCESS;
35}
FLA_Error FLA_Check_null_pointer(void *ptr)
Definition FLA_Check.c:518
FLA_Error FLA_Check_identical_object_elemtype(FLA_Obj A, FLA_Obj B)
Definition FLA_Check.c:987

References FLA_Check_identical_object_elemtype(), FLA_Check_matrix_matrix_dims(), and FLA_Check_null_pointer().

Referenced by FLA_Gemm_internal().

◆ FLA_Gemm_nc_task()

FLA_Error FLA_Gemm_nc_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_gemm_t cntl 
)

References FLA_Gemm_external(), and i.

Referenced by FLA_Gemm_nc().

◆ FLA_Gemm_nh_task()

FLA_Error FLA_Gemm_nh_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_gemm_t cntl 
)

References FLA_Gemm_external(), and i.

Referenced by FLA_Gemm_nh().

◆ FLA_Gemm_nn_task()

FLA_Error FLA_Gemm_nn_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_gemm_t cntl 
)

References FLA_Gemm_external(), and i.

Referenced by FLA_Gemm_nn().

◆ FLA_Gemm_nt_task()

FLA_Error FLA_Gemm_nt_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_gemm_t cntl 
)

References FLA_Gemm_external(), and i.

Referenced by FLA_Gemm_nt().

◆ FLA_Gemm_task()

FLA_Error FLA_Gemm_task ( FLA_Trans  transa,
FLA_Trans  transb,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_gemm_t cntl 
)
14{
15 return FLA_Gemm_external( transa, transb, alpha, A, B, beta, C );
16}

References FLA_Gemm_external(), and i.

Referenced by FLASH_Queue_exec_task(), and FLASH_Queue_exec_task_gpu().

◆ FLA_Gemm_tc_task()

FLA_Error FLA_Gemm_tc_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_gemm_t cntl 
)

References FLA_Gemm_external(), and i.

Referenced by FLA_Gemm_tc().

◆ FLA_Gemm_th_task()

FLA_Error FLA_Gemm_th_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_gemm_t cntl 
)

References FLA_Gemm_external(), and i.

Referenced by FLA_Gemm_th().

◆ FLA_Gemm_tn_task()

FLA_Error FLA_Gemm_tn_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_gemm_t cntl 
)

References FLA_Gemm_external(), and i.

Referenced by FLA_Gemm_tn().

◆ FLA_Gemm_tt_task()

FLA_Error FLA_Gemm_tt_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_gemm_t cntl 
)
94{
96}

References FLA_Gemm_external(), and i.

Referenced by FLA_Gemm_tt().

◆ FLA_Gemp()

FLA_Error FLA_Gemp ( FLA_Trans  transa,
FLA_Trans  transb,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C 
)

◆ FLA_Gepm()

FLA_Error FLA_Gepm ( FLA_Trans  transa,
FLA_Trans  transb,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C 
)

◆ FLA_Gepp()

FLA_Error FLA_Gepp ( FLA_Trans  transa,
FLA_Trans  transb,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C 
)

◆ FLA_Hemm()

FLA_Error FLA_Hemm ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C 
)
16{
18
19 // Check parameters.
21 FLA_Hemm_check( side, uplo, alpha, A, B, beta, C );
22
23#ifdef FLA_ENABLE_BLAS3_FRONT_END_CNTL_TREES
25#else
26 r_val = FLA_Hemm_external( side, uplo, alpha, A, B, beta, C );
27#endif
28
29 return r_val;
30}
fla_hemm_t * fla_hemm_cntl_mm
Definition FLA_Hemm_cntl_init.c:19
FLA_Error FLA_Hemm_internal(FLA_Side side, FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_hemm_t *cntl)
Definition FLA_Hemm_internal.c:16
FLA_Error FLA_Hemm_check(FLA_Side side, FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
Definition FLA_Hemm_check.c:13
FLA_Error FLA_Hemm_external(FLA_Side side, FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
Definition FLA_Hemm_external.c:13

References FLA_Check_error_level(), FLA_Hemm_check(), fla_hemm_cntl_mm, FLA_Hemm_external(), FLA_Hemm_internal(), and i.

◆ FLA_Hemm_check()

FLA_Error FLA_Hemm_check ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C 
)
14{
16
19
22
25
28
31
34
37
40
43
46
47 if ( side == FLA_LEFT )
48 {
51 }
52 else
53 {
56 }
57
58 return FLA_SUCCESS;
59}
FLA_Error FLA_Check_square(FLA_Obj A)
Definition FLA_Check.c:363
FLA_Error FLA_Check_valid_leftright_side(FLA_Side side)
Definition FLA_Check.c:1124
FLA_Error FLA_Check_valid_uplo(FLA_Uplo uplo)
Definition FLA_Check.c:76

References FLA_Check_consistent_object_datatype(), FLA_Check_identical_object_datatype(), FLA_Check_if_scalar(), FLA_Check_matrix_matrix_dims(), FLA_Check_nonconstant_object(), FLA_Check_square(), FLA_Check_valid_leftright_side(), and FLA_Check_valid_uplo().

Referenced by FLA_Hemm(), FLA_Hemm_external(), FLA_Hemm_external_gpu(), and FLASH_Hemm().

◆ FLA_Hemm_external()

FLA_Error FLA_Hemm_external ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C 
)
14{
15 FLA_Datatype datatype;
16 int m_C, n_C;
17 int rs_A, cs_A;
18 int rs_B, cs_B;
19 int rs_C, cs_C;
22
24 FLA_Hemm_check( side, uplo, alpha, A, B, beta, C );
25
26 if ( FLA_Obj_has_zero_dim( C ) ) return FLA_SUCCESS;
27
28 datatype = FLA_Obj_datatype( A );
29
32
35
36 m_C = FLA_Obj_length( C );
37 n_C = FLA_Obj_width( C );
40
43
44
45 switch( datatype ){
46
47 case FLA_FLOAT:
48 {
49 float *buff_A = ( float * ) FLA_FLOAT_PTR( A );
50 float *buff_B = ( float * ) FLA_FLOAT_PTR( B );
51 float *buff_C = ( float * ) FLA_FLOAT_PTR( C );
52 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
53 float *buff_beta = ( float * ) FLA_FLOAT_PTR( beta );
54
57 m_C,
58 n_C,
63 buff_C, rs_C, cs_C );
64
65 break;
66 }
67
68 case FLA_DOUBLE:
69 {
70 double *buff_A = ( double * ) FLA_DOUBLE_PTR( A );
71 double *buff_B = ( double * ) FLA_DOUBLE_PTR( B );
72 double *buff_C = ( double * ) FLA_DOUBLE_PTR( C );
73 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
74 double *buff_beta = ( double * ) FLA_DOUBLE_PTR( beta );
75
78 m_C,
79 n_C,
84 buff_C, rs_C, cs_C );
85
86 break;
87 }
88
89 case FLA_COMPLEX:
90 {
96
99 m_C,
100 n_C,
102 buff_A, rs_A, cs_A,
103 buff_B, rs_B, cs_B,
104 buff_beta,
105 buff_C, rs_C, cs_C );
106
107 break;
108 }
109
111 {
117
119 blis_uplo,
120 m_C,
121 n_C,
123 buff_A, rs_A, cs_A,
124 buff_B, rs_B, cs_B,
125 buff_beta,
126 buff_C, rs_C, cs_C );
127
128 break;
129 }
130
131 }
132
133 return FLA_SUCCESS;
134}
void FLA_Param_map_flame_to_blis_side(FLA_Uplo side, side1_t *blis_side)
Definition FLA_Param.c:301
void FLA_Param_map_flame_to_blis_uplo(FLA_Uplo uplo, uplo1_t *blis_uplo)
Definition FLA_Param.c:285
void bl1_chemm(side1_t side, uplo1_t uplo, int m, int n, scomplex *alpha, scomplex *a, int a_rs, int a_cs, scomplex *b, int b_rs, int b_cs, scomplex *beta, scomplex *c, int c_rs, int c_cs)
Definition bl1_hemm.c:38
void bl1_zhemm(side1_t side, uplo1_t uplo, int m, int n, dcomplex *alpha, dcomplex *a, int a_rs, int a_cs, dcomplex *b, int b_rs, int b_cs, dcomplex *beta, dcomplex *c, int c_rs, int c_cs)
Definition bl1_hemm.c:348
void bl1_ssymm(side1_t side, uplo1_t uplo, int m, int n, float *alpha, float *a, int a_rs, int a_cs, float *b, int b_rs, int b_cs, float *beta, float *c, int c_rs, int c_cs)
Definition bl1_symm.c:13
void bl1_dsymm(side1_t side, uplo1_t uplo, int m, int n, double *alpha, double *a, int a_rs, int a_cs, double *b, int b_rs, int b_cs, double *beta, double *c, int c_rs, int c_cs)
Definition bl1_symm.c:274
uplo1_t
Definition blis_type_defs.h:61
side1_t
Definition blis_type_defs.h:67

References bl1_chemm(), bl1_dsymm(), bl1_ssymm(), bl1_zhemm(), FLA_Check_error_level(), FLA_Hemm_check(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_length(), FLA_Obj_row_stride(), FLA_Obj_width(), FLA_Param_map_flame_to_blis_side(), FLA_Param_map_flame_to_blis_uplo(), and i.

Referenced by FLA_Hemm(), FLA_Hemm_ll_task(), FLA_Hemm_lu_task(), FLA_Hemm_rl_task(), FLA_Hemm_ru_task(), and FLA_Hemm_task().

◆ FLA_Hemm_external_gpu()

FLA_Error FLA_Hemm_external_gpu ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Obj  alpha,
FLA_Obj  A,
void A_gpu,
FLA_Obj  B,
void B_gpu,
FLA_Obj  beta,
FLA_Obj  C,
void C_gpu 
)
18{
19 FLA_Datatype datatype;
20 int m_C, n_C;
21 int ldim_A;
22 int ldim_B;
23 int ldim_C;
24 char blas_side;
25 char blas_uplo;
26
28 FLA_Hemm_check( side, uplo, alpha, A, B, beta, C );
29
30 if ( FLA_Obj_has_zero_dim( C ) ) return FLA_SUCCESS;
31
32 datatype = FLA_Obj_datatype( A );
33
35
37
38 m_C = FLA_Obj_length( C );
39 n_C = FLA_Obj_width( C );
41
44
45
46 switch( datatype ){
47
48 case FLA_FLOAT:
49 {
50 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
51 float *buff_beta = ( float * ) FLA_FLOAT_PTR( beta );
52
55 m_C,
56 n_C,
58 ( float * ) A_gpu, ldim_A,
59 ( float * ) B_gpu, ldim_B,
60 *buff_beta,
61 ( float * ) C_gpu, ldim_C );
62
63 break;
64 }
65
66 case FLA_DOUBLE:
67 {
68 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
69 double *buff_beta = ( double * ) FLA_DOUBLE_PTR( beta );
70
73 m_C,
74 n_C,
76 ( double * ) A_gpu, ldim_A,
77 ( double * ) B_gpu, ldim_B,
78 *buff_beta,
79 ( double * ) C_gpu, ldim_C );
80
81 break;
82 }
83
84 case FLA_COMPLEX:
85 {
88
91 m_C,
92 n_C,
94 ( cuComplex * ) A_gpu, ldim_A,
95 ( cuComplex * ) B_gpu, ldim_B,
96 *buff_beta,
97 ( cuComplex * ) C_gpu, ldim_C );
98
99 break;
100 }
101
103 {
106
108 blas_uplo,
109 m_C,
110 n_C,
111 *buff_alpha,
114 *buff_beta,
116
117 break;
118 }
119
120 }
121
122 return FLA_SUCCESS;
123}
void FLA_Param_map_flame_to_netlib_side(FLA_Uplo side, void *blas_side)
Definition FLA_Param.c:71
void FLA_Param_map_flame_to_netlib_uplo(FLA_Uplo uplo, void *blas_uplo)
Definition FLA_Param.c:47

References FLA_Check_error_level(), FLA_Hemm_check(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_length(), FLA_Obj_width(), FLA_Param_map_flame_to_netlib_side(), FLA_Param_map_flame_to_netlib_uplo(), and i.

Referenced by FLASH_Queue_exec_task_gpu().

◆ FLA_Hemm_internal_check()

FLA_Error FLA_Hemm_internal_check ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_hemm_t cntl 
)
14{
16
17 // Abort if the control structure is NULL.
18 e_val = FLA_Check_null_pointer( ( void* ) cntl );
20
21 // Verify that the object element types are identical.
24
27
28 // Verify conformality between all the objects. This check works regardless
29 // of whether the element type is FLA_MATRIX or FLA_SCALAR because the
30 // element length and width are used instead of scalar length and width.
31 if ( side == FLA_LEFT )
32 {
35 }
36 else
37 {
40 }
41
42 return FLA_SUCCESS;
43}

References FLA_Check_identical_object_elemtype(), FLA_Check_matrix_matrix_dims(), and FLA_Check_null_pointer().

Referenced by FLA_Hemm_internal().

◆ FLA_Hemm_ll_task()

FLA_Error FLA_Hemm_ll_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_hemm_t cntl 
)

References FLA_Hemm_external(), and i.

Referenced by FLA_Hemm_ll().

◆ FLA_Hemm_lu_task()

FLA_Error FLA_Hemm_lu_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_hemm_t cntl 
)

References FLA_Hemm_external(), and i.

Referenced by FLA_Hemm_lu().

◆ FLA_Hemm_rl_task()

FLA_Error FLA_Hemm_rl_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_hemm_t cntl 
)

References FLA_Hemm_external(), and i.

Referenced by FLA_Hemm_rl().

◆ FLA_Hemm_ru_task()

FLA_Error FLA_Hemm_ru_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_hemm_t cntl 
)

References FLA_Hemm_external(), and i.

Referenced by FLA_Hemm_ru().

◆ FLA_Hemm_task()

FLA_Error FLA_Hemm_task ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_hemm_t cntl 
)
14{
15 return FLA_Hemm_external( side, uplo, alpha, A, B, beta, C );
16}

References FLA_Hemm_external(), and i.

Referenced by FLASH_Queue_exec_task(), and FLASH_Queue_exec_task_gpu().

◆ FLA_Her2k()

FLA_Error FLA_Her2k ( FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C 
)
16{
18
19 // Check parameters.
21 FLA_Her2k_check( uplo, trans, alpha, A, B, beta, C );
22
23#ifdef FLA_ENABLE_BLAS3_FRONT_END_CNTL_TREES
25#else
26 r_val = FLA_Her2k_external( uplo, trans, alpha, A, B, beta, C );
27#endif
28
29 return r_val;
30}
fla_her2k_t * fla_her2k_cntl_mm
Definition FLA_Her2k_cntl_init.c:19
FLA_Error FLA_Her2k_internal(FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_her2k_t *cntl)
Definition FLA_Her2k_internal.c:16
FLA_Error FLA_Her2k_check(FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
Definition FLA_Her2k_check.c:13
FLA_Error FLA_Her2k_external(FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
Definition FLA_Her2k_external.c:13

References FLA_Check_error_level(), FLA_Her2k_check(), fla_her2k_cntl_mm, FLA_Her2k_external(), FLA_Her2k_internal(), and i.

◆ FLA_Her2k_check()

FLA_Error FLA_Her2k_check ( FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C 
)
14{
16
19
22
25
28
31
34
37
40
43
46
49
50 if ( trans == FLA_NO_TRANSPOSE )
51 {
54 }
55 else
56 {
59 }
60
61 return FLA_SUCCESS;
62}
FLA_Error FLA_Check_real_object(FLA_Obj A)
Definition FLA_Check.c:258
FLA_Error FLA_Check_identical_object_precision(FLA_Obj A, FLA_Obj B)
Definition FLA_Check.c:298
FLA_Error FLA_Check_valid_complex_trans(FLA_Trans trans)
Definition FLA_Check.c:906

References FLA_Check_consistent_object_datatype(), FLA_Check_identical_object_datatype(), FLA_Check_identical_object_precision(), FLA_Check_if_scalar(), FLA_Check_matrix_matrix_dims(), FLA_Check_nonconstant_object(), FLA_Check_real_object(), FLA_Check_square(), FLA_Check_valid_complex_trans(), and FLA_Check_valid_uplo().

Referenced by FLA_Her2k(), FLA_Her2k_external(), FLA_Her2k_external_gpu(), and FLASH_Her2k().

◆ FLA_Her2k_external()

FLA_Error FLA_Her2k_external ( FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C 
)
14{
15 FLA_Datatype datatype;
16 int k_AB;
17 int m_A, n_A;
18 int m_C;
19 int rs_A, cs_A;
20 int rs_B, cs_B;
21 int rs_C, cs_C;
24
26 FLA_Her2k_check( uplo, trans, alpha, A, B, beta, C );
27
28 if ( FLA_Obj_has_zero_dim( C ) ) return FLA_SUCCESS;
29
31 {
33 return FLA_SUCCESS;
34 }
35
36 datatype = FLA_Obj_datatype( A );
37
38 m_A = FLA_Obj_length( A );
39 n_A = FLA_Obj_width( A );
42
45
46 m_C = FLA_Obj_length( C );
49
50 if ( trans == FLA_NO_TRANSPOSE )
51 k_AB = n_A;
52 else
53 k_AB = m_A;
54
57
58
59 switch( datatype ){
60
61 case FLA_FLOAT:
62 {
63 float *buff_A = ( float * ) FLA_FLOAT_PTR( A );
64 float *buff_B = ( float * ) FLA_FLOAT_PTR( B );
65 float *buff_C = ( float * ) FLA_FLOAT_PTR( C );
66 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
67 float *buff_beta = ( float * ) FLA_FLOAT_PTR( beta );
68
71 m_C,
72 k_AB,
77 buff_C, rs_C, cs_C );
78
79 break;
80 }
81
82 case FLA_DOUBLE:
83 {
84 double *buff_A = ( double * ) FLA_DOUBLE_PTR( A );
85 double *buff_B = ( double * ) FLA_DOUBLE_PTR( B );
86 double *buff_C = ( double * ) FLA_DOUBLE_PTR( C );
87 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
88 double *buff_beta = ( double * ) FLA_DOUBLE_PTR( beta );
89
92 m_C,
93 k_AB,
98 buff_C, rs_C, cs_C );
99
100 break;
101 }
102
103 case FLA_COMPLEX:
104 {
109 float *buff_beta = ( float * ) FLA_FLOAT_PTR( beta );
110
113 m_C,
114 k_AB,
116 buff_A, rs_A, cs_A,
117 buff_B, rs_B, cs_B,
118 buff_beta,
119 buff_C, rs_C, cs_C );
120
121 break;
122 }
123
125 {
130 double *buff_beta = ( double * ) FLA_DOUBLE_PTR( beta );
131
134 m_C,
135 k_AB,
137 buff_A, rs_A, cs_A,
138 buff_B, rs_B, cs_B,
139 buff_beta,
140 buff_C, rs_C, cs_C );
141
142 break;
143 }
144
145 }
146
147 return FLA_SUCCESS;
148}
void bl1_zher2k(uplo1_t uplo, trans1_t trans, int m, int k, dcomplex *alpha, dcomplex *a, int a_rs, int a_cs, dcomplex *b, int b_rs, int b_cs, double *beta, dcomplex *c, int c_rs, int c_cs)
Definition bl1_her2k.c:334
void bl1_cher2k(uplo1_t uplo, trans1_t trans, int m, int k, scomplex *alpha, scomplex *a, int a_rs, int a_cs, scomplex *b, int b_rs, int b_cs, float *beta, scomplex *c, int c_rs, int c_cs)
Definition bl1_her2k.c:39
void bl1_ssyr2k(uplo1_t uplo, trans1_t trans, int m, int k, float *alpha, float *a, int a_rs, int a_cs, float *b, int b_rs, int b_cs, float *beta, float *c, int c_rs, int c_cs)
Definition bl1_syr2k.c:13
void bl1_dsyr2k(uplo1_t uplo, trans1_t trans, int m, int k, double *alpha, double *a, int a_rs, int a_cs, double *b, int b_rs, int b_cs, double *beta, double *c, int c_rs, int c_cs)
Definition bl1_syr2k.c:239

References bl1_cher2k(), bl1_dsyr2k(), bl1_ssyr2k(), bl1_zher2k(), FLA_Check_error_level(), FLA_Her2k_check(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_length(), FLA_Obj_row_stride(), FLA_Obj_width(), FLA_Param_map_flame_to_blis_trans(), FLA_Param_map_flame_to_blis_uplo(), FLA_Scal_external(), and i.

Referenced by FLA_Her2k(), FLA_Her2k_lh_task(), FLA_Her2k_ln_task(), FLA_Her2k_task(), FLA_Her2k_uh_task(), FLA_Her2k_un_task(), FLA_Tridiag_UT_l_blf_var3(), and FLA_Tridiag_UT_l_blk_var3().

◆ FLA_Her2k_external_gpu()

FLA_Error FLA_Her2k_external_gpu ( FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Obj  alpha,
FLA_Obj  A,
void A_gpu,
FLA_Obj  B,
void B_gpu,
FLA_Obj  beta,
FLA_Obj  C,
void C_gpu 
)
18{
19 FLA_Datatype datatype;
20 int k_AB;
21 int m_A, n_A;
22 int m_C;
23 int ldim_A;
24 int ldim_B;
25 int ldim_C;
26 char blas_uplo;
27 char blas_trans;
28
30 FLA_Her2k_check( uplo, trans, alpha, A, B, beta, C );
31
32 if ( FLA_Obj_has_zero_dim( C ) ) return FLA_SUCCESS;
33
34 datatype = FLA_Obj_datatype( A );
35
36 m_A = FLA_Obj_length( A );
37 n_A = FLA_Obj_width( A );
39
41
42 m_C = FLA_Obj_length( C );
44
45 if ( trans == FLA_NO_TRANSPOSE )
46 k_AB = n_A;
47 else
48 k_AB = m_A;
49
52
53
54 switch( datatype ){
55
56 case FLA_FLOAT:
57 {
58 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
59 float *buff_beta = ( float * ) FLA_FLOAT_PTR( beta );
60
63 m_C,
64 k_AB,
66 ( float * ) A_gpu, ldim_A,
67 ( float * ) B_gpu, ldim_B,
68 *buff_beta,
69 ( float * ) C_gpu, ldim_C );
70
71 break;
72 }
73
74 case FLA_DOUBLE:
75 {
76 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
77 double *buff_beta = ( double * ) FLA_DOUBLE_PTR( beta );
78
81 m_C,
82 k_AB,
84 ( double * ) A_gpu, ldim_A,
85 ( double * ) B_gpu, ldim_B,
86 *buff_beta,
87 ( double * ) C_gpu, ldim_C );
88
89 break;
90 }
91
92 case FLA_COMPLEX:
93 {
95 float *buff_beta = ( float * ) FLA_FLOAT_PTR( beta );
96
99 m_C,
100 k_AB,
101 *buff_alpha,
102 ( cuComplex * ) A_gpu, ldim_A,
103 ( cuComplex * ) B_gpu, ldim_B,
104 *buff_beta,
105 ( cuComplex * ) C_gpu, ldim_C );
106
107 break;
108 }
109
111 {
113 double *buff_beta = ( double * ) FLA_DOUBLE_PTR( beta );
114
117 m_C,
118 k_AB,
119 *buff_alpha,
122 *buff_beta,
124
125 break;
126 }
127
128 }
129
130 return FLA_SUCCESS;
131}

References FLA_Check_error_level(), FLA_Her2k_check(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_length(), FLA_Obj_width(), FLA_Param_map_flame_to_netlib_trans(), FLA_Param_map_flame_to_netlib_uplo(), and i.

Referenced by FLASH_Queue_exec_task_gpu().

◆ FLA_Her2k_internal_check()

FLA_Error FLA_Her2k_internal_check ( FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_her2k_t cntl 
)
14{
16
17 // Abort if the control structure is NULL.
18 e_val = FLA_Check_null_pointer( ( void* ) cntl );
20
21 // Verify that the object element types are identical.
24
27
28 // Verify conformality between all the objects. This check works regardless
29 // of whether the element type is FLA_MATRIX or FLA_SCALAR because the
30 // element length and width are used instead of scalar length and width.
31 if ( trans == FLA_NO_TRANSPOSE )
32 {
35 }
36 else
37 {
40 }
41
42 return FLA_SUCCESS;
43}

References FLA_Check_identical_object_elemtype(), FLA_Check_matrix_matrix_dims(), and FLA_Check_null_pointer().

Referenced by FLA_Her2k_internal().

◆ FLA_Her2k_lh_task()

FLA_Error FLA_Her2k_lh_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_her2k_t cntl 
)

References FLA_Her2k_external(), and i.

Referenced by FLA_Her2k_lh().

◆ FLA_Her2k_ln_task()

FLA_Error FLA_Her2k_ln_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_her2k_t cntl 
)

References FLA_Her2k_external(), and i.

Referenced by FLA_Her2k_ln().

◆ FLA_Her2k_task()

FLA_Error FLA_Her2k_task ( FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_her2k_t cntl 
)
14{
15 return FLA_Her2k_external( uplo, trans, alpha, A, B, beta, C );
16}

References FLA_Her2k_external(), and i.

Referenced by FLASH_Queue_exec_task(), and FLASH_Queue_exec_task_gpu().

◆ FLA_Her2k_uh_task()

FLA_Error FLA_Her2k_uh_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_her2k_t cntl 
)

References FLA_Her2k_external(), and i.

Referenced by FLA_Her2k_uh().

◆ FLA_Her2k_un_task()

FLA_Error FLA_Her2k_un_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_her2k_t cntl 
)

References FLA_Her2k_external(), and i.

Referenced by FLA_Her2k_un().

◆ FLA_Herk()

FLA_Error FLA_Herk ( FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  beta,
FLA_Obj  C 
)
16{
18
19 // Check parameters.
21 FLA_Herk_check( uplo, trans, alpha, A, beta, C );
22
23#ifdef FLA_ENABLE_BLAS3_FRONT_END_CNTL_TREES
25#else
26 r_val = FLA_Herk_external( uplo, trans, alpha, A, beta, C );
27#endif
28
29 return r_val;
30}
fla_herk_t * fla_herk_cntl_mm
Definition FLA_Herk_cntl_init.c:19
FLA_Error FLA_Herk_internal(FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj beta, FLA_Obj C, fla_herk_t *cntl)
Definition FLA_Herk_internal.c:16
FLA_Error FLA_Herk_check(FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj beta, FLA_Obj C)
Definition FLA_Herk_check.c:13
FLA_Error FLA_Herk_external(FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj beta, FLA_Obj C)
Definition FLA_Herk_external.c:13

References FLA_Check_error_level(), FLA_Herk_check(), fla_herk_cntl_mm, FLA_Herk_external(), FLA_Herk_internal(), and i.

◆ FLA_Herk_check()

FLA_Error FLA_Herk_check ( FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  beta,
FLA_Obj  C 
)

References FLA_Check_identical_object_datatype(), FLA_Check_identical_object_precision(), FLA_Check_if_scalar(), FLA_Check_matrix_matrix_dims(), FLA_Check_nonconstant_object(), FLA_Check_real_object(), FLA_Check_square(), FLA_Check_valid_complex_trans(), and FLA_Check_valid_uplo().

Referenced by FLA_Herk(), FLA_Herk_external(), FLA_Herk_external_gpu(), and FLASH_Herk().

◆ FLA_Herk_external()

FLA_Error FLA_Herk_external ( FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  beta,
FLA_Obj  C 
)
14{
15 FLA_Datatype datatype;
16 int k_A;
17 int m_A, n_A;
18 int m_C;
19 int rs_A, cs_A;
20 int rs_C, cs_C;
23
25 FLA_Herk_check( uplo, trans, alpha, A, beta, C );
26
27 if ( FLA_Obj_has_zero_dim( C ) ) return FLA_SUCCESS;
28
29 if ( FLA_Obj_has_zero_dim( A ) )
30 {
32 return FLA_SUCCESS;
33 }
34
35 datatype = FLA_Obj_datatype( A );
36
37 m_A = FLA_Obj_length( A );
38 n_A = FLA_Obj_width( A );
41
42 m_C = FLA_Obj_length( C );
45
46 if ( trans == FLA_NO_TRANSPOSE )
47 k_A = n_A;
48 else
49 k_A = m_A;
50
53
54
55 switch( datatype ){
56
57 case FLA_FLOAT:
58 {
59 float *buff_A = ( float * ) FLA_FLOAT_PTR( A );
60 float *buff_C = ( float * ) FLA_FLOAT_PTR( C );
61 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
62 float *buff_beta = ( float * ) FLA_FLOAT_PTR( beta );
63
66 m_C,
67 k_A,
71 buff_C, rs_C, cs_C );
72
73 break;
74 }
75
76 case FLA_DOUBLE:
77 {
78 double *buff_A = ( double * ) FLA_DOUBLE_PTR( A );
79 double *buff_C = ( double * ) FLA_DOUBLE_PTR( C );
80 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
81 double *buff_beta = ( double * ) FLA_DOUBLE_PTR( beta );
82
85 m_C,
86 k_A,
90 buff_C, rs_C, cs_C );
91
92 break;
93 }
94
95 case FLA_COMPLEX:
96 {
99 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
100 float *buff_beta = ( float * ) FLA_FLOAT_PTR( beta );
101
104 m_C,
105 k_A,
107 buff_A, rs_A, cs_A,
108 buff_beta,
109 buff_C, rs_C, cs_C );
110
111 break;
112 }
113
115 {
118 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
119 double *buff_beta = ( double * ) FLA_DOUBLE_PTR( beta );
120
123 m_C,
124 k_A,
126 buff_A, rs_A, cs_A,
127 buff_beta,
128 buff_C, rs_C, cs_C );
129
130 break;
131 }
132
133 }
134
135 return FLA_SUCCESS;
136}
void bl1_cherk(uplo1_t uplo, trans1_t trans, int m, int k, float *alpha, scomplex *a, int a_rs, int a_cs, float *beta, scomplex *c, int c_rs, int c_cs)
Definition bl1_herk.c:36
void bl1_zherk(uplo1_t uplo, trans1_t trans, int m, int k, double *alpha, dcomplex *a, int a_rs, int a_cs, double *beta, dcomplex *c, int c_rs, int c_cs)
Definition bl1_herk.c:184
void bl1_dsyrk(uplo1_t uplo, trans1_t trans, int m, int k, double *alpha, double *a, int a_rs, int a_cs, double *beta, double *c, int c_rs, int c_cs)
Definition bl1_syrk.c:109
void bl1_ssyrk(uplo1_t uplo, trans1_t trans, int m, int k, float *alpha, float *a, int a_rs, int a_cs, float *beta, float *c, int c_rs, int c_cs)
Definition bl1_syrk.c:13

References bl1_cherk(), bl1_dsyrk(), bl1_ssyrk(), bl1_zherk(), FLA_Check_error_level(), FLA_Herk_check(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_length(), FLA_Obj_row_stride(), FLA_Obj_width(), FLA_Param_map_flame_to_blis_trans(), FLA_Param_map_flame_to_blis_uplo(), FLA_Scal_external(), and i.

Referenced by FLA_Herk(), FLA_Herk_lh_task(), FLA_Herk_ln_task(), FLA_Herk_task(), FLA_Herk_uh_task(), FLA_Herk_un_task(), FLA_Random_spd_matrix(), and FLA_UDdate_UT_unb_var1().

◆ FLA_Herk_external_gpu()

FLA_Error FLA_Herk_external_gpu ( FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Obj  alpha,
FLA_Obj  A,
void A_gpu,
FLA_Obj  beta,
FLA_Obj  C,
void C_gpu 
)
18{
19 FLA_Datatype datatype;
20 int k_A;
21 int m_A, n_A;
22 int m_C;
23 int ldim_A;
24 int ldim_C;
25 char blas_uplo;
26 char blas_trans;
27
29 FLA_Herk_check( uplo, trans, alpha, A, beta, C );
30
31 if ( FLA_Obj_has_zero_dim( C ) ) return FLA_SUCCESS;
32
33 datatype = FLA_Obj_datatype( A );
34
35 m_A = FLA_Obj_length( A );
36 n_A = FLA_Obj_width( A );
38
39 m_C = FLA_Obj_length( C );
41
42 if ( trans == FLA_NO_TRANSPOSE )
43 k_A = n_A;
44 else
45 k_A = m_A;
46
49
50
51 switch( datatype ){
52
53 case FLA_FLOAT:
54 {
55 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
56 float *buff_beta = ( float * ) FLA_FLOAT_PTR( beta );
57
60 m_C,
61 k_A,
63 ( float * ) A_gpu, ldim_A,
64 *buff_beta,
65 ( float * ) C_gpu, ldim_C );
66
67 break;
68 }
69
70 case FLA_DOUBLE:
71 {
72 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
73 double *buff_beta = ( double * ) FLA_DOUBLE_PTR( beta );
74
77 m_C,
78 k_A,
80 ( double * ) A_gpu, ldim_A,
81 *buff_beta,
82 ( double * ) C_gpu, ldim_C );
83
84 break;
85 }
86
87 case FLA_COMPLEX:
88 {
89 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
90 float *buff_beta = ( float * ) FLA_FLOAT_PTR( beta );
91
94 m_C,
95 k_A,
97 ( cuComplex * ) A_gpu, ldim_A,
98 *buff_beta,
99 ( cuComplex * ) C_gpu, ldim_C );
100
101 break;
102 }
103
105 {
106 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
107 double *buff_beta = ( double * ) FLA_DOUBLE_PTR( beta );
108
111 m_C,
112 k_A,
113 *buff_alpha,
115 *buff_beta,
117
118 break;
119 }
120
121 }
122
123 return FLA_SUCCESS;
124}

References FLA_Check_error_level(), FLA_Herk_check(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_length(), FLA_Obj_width(), FLA_Param_map_flame_to_netlib_trans(), FLA_Param_map_flame_to_netlib_uplo(), and i.

Referenced by FLASH_Queue_exec_task_gpu().

◆ FLA_Herk_internal_check()

FLA_Error FLA_Herk_internal_check ( FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  beta,
FLA_Obj  C,
fla_herk_t cntl 
)
14{
16
17 // Abort if the control structure is NULL.
18 e_val = FLA_Check_null_pointer( ( void* ) cntl );
20
21 // Verify that the object element types are identical.
24
25 // Verify conformality between all the objects. This check works regardless
26 // of whether the element type is FLA_MATRIX or FLA_SCALAR because the
27 // element length and width are used instead of scalar length and width.
28 if ( trans == FLA_NO_TRANSPOSE )
29 {
32 }
33 else
34 {
37 }
38
39 return FLA_SUCCESS;
40}

References FLA_Check_identical_object_elemtype(), FLA_Check_matrix_matrix_dims(), and FLA_Check_null_pointer().

Referenced by FLA_Herk_internal().

◆ FLA_Herk_lh_task()

FLA_Error FLA_Herk_lh_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  beta,
FLA_Obj  C,
fla_herk_t cntl 
)

References FLA_Herk_external(), and i.

Referenced by FLA_Herk_lh().

◆ FLA_Herk_ln_task()

FLA_Error FLA_Herk_ln_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  beta,
FLA_Obj  C,
fla_herk_t cntl 
)

References FLA_Herk_external(), and i.

Referenced by FLA_Herk_ln().

◆ FLA_Herk_task()

FLA_Error FLA_Herk_task ( FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  beta,
FLA_Obj  C,
fla_herk_t cntl 
)
14{
15 return FLA_Herk_external( uplo, trans, alpha, A, beta, C );
16}

References FLA_Herk_external(), and i.

Referenced by FLASH_Queue_exec_task(), and FLASH_Queue_exec_task_gpu().

◆ FLA_Herk_uh_task()

FLA_Error FLA_Herk_uh_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  beta,
FLA_Obj  C,
fla_herk_t cntl 
)

References FLA_Herk_external(), and i.

Referenced by FLA_Herk_uh().

◆ FLA_Herk_un_task()

FLA_Error FLA_Herk_un_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  beta,
FLA_Obj  C,
fla_herk_t cntl 
)

References FLA_Herk_external(), and i.

Referenced by FLA_Herk_un().

◆ FLA_Symm()

FLA_Error FLA_Symm ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C 
)
16{
18
19 // Check parameters.
21 FLA_Symm_check( side, uplo, alpha, A, B, beta, C );
22
23#ifdef FLA_ENABLE_BLAS3_FRONT_END_CNTL_TREES
25#else
26 r_val = FLA_Symm_external( side, uplo, alpha, A, B, beta, C );
27#endif
28
29 return r_val;
30}
fla_symm_t * fla_symm_cntl_mm
Definition FLA_Symm_cntl_init.c:19
FLA_Error FLA_Symm_internal(FLA_Side side, FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_symm_t *cntl)
Definition FLA_Symm_internal.c:16
FLA_Error FLA_Symm_check(FLA_Side side, FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
Definition FLA_Symm_check.c:13
FLA_Error FLA_Symm_external(FLA_Side side, FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
Definition FLA_Symm_external.c:13

References FLA_Check_error_level(), FLA_Symm_check(), fla_symm_cntl_mm, FLA_Symm_external(), FLA_Symm_internal(), and i.

◆ FLA_Symm_check()

FLA_Error FLA_Symm_check ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C 
)

References FLA_Check_consistent_object_datatype(), FLA_Check_floating_object(), FLA_Check_identical_object_datatype(), FLA_Check_if_scalar(), FLA_Check_matrix_matrix_dims(), FLA_Check_nonconstant_object(), FLA_Check_square(), FLA_Check_valid_leftright_side(), and FLA_Check_valid_uplo().

Referenced by FLA_Symm(), FLA_Symm_external(), FLA_Symm_external_gpu(), and FLASH_Symm().

◆ FLA_Symm_external()

FLA_Error FLA_Symm_external ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C 
)
14{
15 FLA_Datatype datatype;
16 int m_C, n_C;
17 int rs_A, cs_A;
18 int rs_B, cs_B;
19 int rs_C, cs_C;
22
24 FLA_Symm_check( side, uplo, alpha, A, B, beta, C );
25
26 if ( FLA_Obj_has_zero_dim( C ) ) return FLA_SUCCESS;
27
28 datatype = FLA_Obj_datatype( A );
29
32
35
36 m_C = FLA_Obj_length( C );
37 n_C = FLA_Obj_width( C );
40
43
44
45 switch( datatype ){
46
47 case FLA_FLOAT:
48 {
49 float *buff_A = ( float * ) FLA_FLOAT_PTR( A );
50 float *buff_B = ( float * ) FLA_FLOAT_PTR( B );
51 float *buff_C = ( float * ) FLA_FLOAT_PTR( C );
52 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
53 float *buff_beta = ( float * ) FLA_FLOAT_PTR( beta );
54
56 blis_uplo,
57 m_C,
58 n_C,
60 buff_A, rs_A, cs_A,
62 buff_beta,
63 buff_C, rs_C, cs_C );
64
65 break;
66 }
67
68 case FLA_DOUBLE:
69 {
70 double *buff_A = ( double * ) FLA_DOUBLE_PTR( A );
71 double *buff_B = ( double * ) FLA_DOUBLE_PTR( B );
72 double *buff_C = ( double * ) FLA_DOUBLE_PTR( C );
73 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
74 double *buff_beta = ( double * ) FLA_DOUBLE_PTR( beta );
75
77 blis_uplo,
78 m_C,
79 n_C,
81 buff_A, rs_A, cs_A,
83 buff_beta,
84 buff_C, rs_C, cs_C );
85
86 break;
87 }
88
89 case FLA_COMPLEX:
90 {
96
98 blis_uplo,
99 m_C,
100 n_C,
102 buff_A, rs_A, cs_A,
103 buff_B, rs_B, cs_B,
104 buff_beta,
105 buff_C, rs_C, cs_C );
106
107 break;
108 }
109
111 {
117
119 blis_uplo,
120 m_C,
121 n_C,
123 buff_A, rs_A, cs_A,
124 buff_B, rs_B, cs_B,
125 buff_beta,
126 buff_C, rs_C, cs_C );
127
128 break;
129 }
130
131 }
132
133 return FLA_SUCCESS;
134}
void bl1_zsymm(side1_t side, uplo1_t uplo, int m, int n, dcomplex *alpha, dcomplex *a, int a_rs, int a_cs, dcomplex *b, int b_rs, int b_cs, dcomplex *beta, dcomplex *c, int c_rs, int c_cs)
Definition bl1_symm.c:796
void bl1_csymm(side1_t side, uplo1_t uplo, int m, int n, scomplex *alpha, scomplex *a, int a_rs, int a_cs, scomplex *b, int b_rs, int b_cs, scomplex *beta, scomplex *c, int c_rs, int c_cs)
Definition bl1_symm.c:535

References bl1_csymm(), bl1_dsymm(), bl1_ssymm(), bl1_zsymm(), FLA_Check_error_level(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_length(), FLA_Obj_row_stride(), FLA_Obj_width(), FLA_Param_map_flame_to_blis_side(), FLA_Param_map_flame_to_blis_uplo(), FLA_Symm_check(), and i.

Referenced by FLA_Symm(), FLA_Symm_ll_task(), FLA_Symm_lu_task(), FLA_Symm_rl_task(), FLA_Symm_ru_task(), and FLA_Symm_task().

◆ FLA_Symm_external_gpu()

FLA_Error FLA_Symm_external_gpu ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Obj  alpha,
FLA_Obj  A,
void A_gpu,
FLA_Obj  B,
void B_gpu,
FLA_Obj  beta,
FLA_Obj  C,
void C_gpu 
)
18{
19 FLA_Datatype datatype;
20 int m_C, n_C;
21 int ldim_A;
22 int ldim_B;
23 int ldim_C;
24 char blas_side;
25 char blas_uplo;
26
28 FLA_Symm_check( side, uplo, alpha, A, B, beta, C );
29
30 if ( FLA_Obj_has_zero_dim( C ) ) return FLA_SUCCESS;
31
32 datatype = FLA_Obj_datatype( A );
33
35
37
38 m_C = FLA_Obj_length( C );
39 n_C = FLA_Obj_width( C );
41
44
45
46 switch( datatype ){
47
48 case FLA_FLOAT:
49 {
50 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
51 float *buff_beta = ( float * ) FLA_FLOAT_PTR( beta );
52
55 m_C,
56 n_C,
58 ( float * ) A_gpu, ldim_A,
59 ( float * ) B_gpu, ldim_B,
60 *buff_beta,
61 ( float * ) C_gpu, ldim_C );
62
63 break;
64 }
65
66 case FLA_DOUBLE:
67 {
68 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
69 double *buff_beta = ( double * ) FLA_DOUBLE_PTR( beta );
70
73 m_C,
74 n_C,
76 ( double * ) A_gpu, ldim_A,
77 ( double * ) B_gpu, ldim_B,
78 *buff_beta,
79 ( double * ) C_gpu, ldim_C );
80
81 break;
82 }
83
84 case FLA_COMPLEX:
85 {
88
91 m_C,
92 n_C,
94 ( cuComplex * ) A_gpu, ldim_A,
95 ( cuComplex * ) B_gpu, ldim_B,
96 *buff_beta,
97 ( cuComplex * ) C_gpu, ldim_C );
98
99 break;
100 }
101
103 {
106
108 blas_uplo,
109 m_C,
110 n_C,
111 *buff_alpha,
114 *buff_beta,
116
117 break;
118 }
119
120 }
121
122 return FLA_SUCCESS;
123}

References FLA_Check_error_level(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_length(), FLA_Obj_width(), FLA_Param_map_flame_to_netlib_side(), FLA_Param_map_flame_to_netlib_uplo(), FLA_Symm_check(), and i.

Referenced by FLASH_Queue_exec_task_gpu().

◆ FLA_Symm_internal_check()

FLA_Error FLA_Symm_internal_check ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_symm_t cntl 
)
14{
16
17 // Abort if the control structure is NULL.
18 e_val = FLA_Check_null_pointer( ( void* ) cntl );
20
21 // Verify that the object element types are identical.
24
27
28 // Verify conformality between all the objects. This check works regardless
29 // of whether the element type is FLA_MATRIX or FLA_SCALAR because the
30 // element length and width are used instead of scalar length and width.
31 if ( side == FLA_LEFT )
32 {
35 }
36 else
37 {
40 }
41
42 return FLA_SUCCESS;
43}

References FLA_Check_identical_object_elemtype(), FLA_Check_matrix_matrix_dims(), and FLA_Check_null_pointer().

Referenced by FLA_Symm_internal().

◆ FLA_Symm_ll_task()

FLA_Error FLA_Symm_ll_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_symm_t cntl 
)

References FLA_Symm_external(), and i.

Referenced by FLA_Symm_ll().

◆ FLA_Symm_lu_task()

FLA_Error FLA_Symm_lu_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_symm_t cntl 
)

References FLA_Symm_external(), and i.

Referenced by FLA_Symm_lu().

◆ FLA_Symm_rl_task()

FLA_Error FLA_Symm_rl_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_symm_t cntl 
)

References FLA_Symm_external(), and i.

Referenced by FLA_Symm_rl().

◆ FLA_Symm_ru_task()

FLA_Error FLA_Symm_ru_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_symm_t cntl 
)

References FLA_Symm_external(), and i.

Referenced by FLA_Symm_ru().

◆ FLA_Symm_task()

FLA_Error FLA_Symm_task ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_symm_t cntl 
)
14{
15 return FLA_Symm_external( side, uplo, alpha, A, B, beta, C );
16}

References FLA_Symm_external(), and i.

Referenced by FLASH_Queue_exec_task(), and FLASH_Queue_exec_task_gpu().

◆ FLA_Syr2k()

FLA_Error FLA_Syr2k ( FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C 
)
16{
18
19 // Check parameters.
21 FLA_Syr2k_check( uplo, trans, alpha, A, B, beta, C );
22
23#ifdef FLA_ENABLE_BLAS3_FRONT_END_CNTL_TREES
25#else
26 r_val = FLA_Syr2k_external( uplo, trans, alpha, A, B, beta, C );
27#endif
28
29 return r_val;
30}
fla_syr2k_t * fla_syr2k_cntl_mm
Definition FLA_Syr2k_cntl_init.c:19
FLA_Error FLA_Syr2k_internal(FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C, fla_syr2k_t *cntl)
Definition FLA_Syr2k_internal.c:16
FLA_Error FLA_Syr2k_check(FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
Definition FLA_Syr2k_check.c:13
FLA_Error FLA_Syr2k_external(FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
Definition FLA_Syr2k_external.c:13

References FLA_Check_error_level(), FLA_Syr2k_check(), fla_syr2k_cntl_mm, FLA_Syr2k_external(), FLA_Syr2k_internal(), and i.

◆ FLA_Syr2k_check()

FLA_Error FLA_Syr2k_check ( FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C 
)

References FLA_Check_consistent_object_datatype(), FLA_Check_floating_object(), FLA_Check_identical_object_datatype(), FLA_Check_if_scalar(), FLA_Check_matrix_matrix_dims(), FLA_Check_nonconstant_object(), FLA_Check_square(), FLA_Check_valid_real_trans(), and FLA_Check_valid_uplo().

Referenced by FLA_Syr2k(), FLA_Syr2k_external(), FLA_Syr2k_external_gpu(), and FLASH_Syr2k().

◆ FLA_Syr2k_external()

FLA_Error FLA_Syr2k_external ( FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C 
)
14{
15 FLA_Datatype datatype;
16 int k_AB;
17 int m_A, n_A;
18 int m_C;
19 int rs_A, cs_A;
20 int rs_B, cs_B;
21 int rs_C, cs_C;
24
26 FLA_Syr2k_check( uplo, trans, alpha, A, B, beta, C );
27
28 if ( FLA_Obj_has_zero_dim( C ) ) return FLA_SUCCESS;
29
31 {
33 return FLA_SUCCESS;
34 }
35
36 datatype = FLA_Obj_datatype( A );
37
38 m_A = FLA_Obj_length( A );
39 n_A = FLA_Obj_width( A );
42
45
46 m_C = FLA_Obj_length( C );
49
50 if ( trans == FLA_NO_TRANSPOSE )
51 k_AB = n_A;
52 else
53 k_AB = m_A;
54
57
58
59 switch( datatype ){
60
61 case FLA_FLOAT:
62 {
63 float *buff_A = ( float * ) FLA_FLOAT_PTR( A );
64 float *buff_B = ( float * ) FLA_FLOAT_PTR( B );
65 float *buff_C = ( float * ) FLA_FLOAT_PTR( C );
66 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
67 float *buff_beta = ( float * ) FLA_FLOAT_PTR( beta );
68
71 m_C,
72 k_AB,
74 buff_A, rs_A, cs_A,
75 buff_B, rs_B, cs_B,
76 buff_beta,
77 buff_C, rs_C, cs_C );
78
79 break;
80 }
81
82 case FLA_DOUBLE:
83 {
84 double *buff_A = ( double * ) FLA_DOUBLE_PTR( A );
85 double *buff_B = ( double * ) FLA_DOUBLE_PTR( B );
86 double *buff_C = ( double * ) FLA_DOUBLE_PTR( C );
87 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
88 double *buff_beta = ( double * ) FLA_DOUBLE_PTR( beta );
89
92 m_C,
93 k_AB,
95 buff_A, rs_A, cs_A,
96 buff_B, rs_B, cs_B,
97 buff_beta,
98 buff_C, rs_C, cs_C );
99
100 break;
101 }
102
103 case FLA_COMPLEX:
104 {
110
113 m_C,
114 k_AB,
116 buff_A, rs_A, cs_A,
117 buff_B, rs_B, cs_B,
118 buff_beta,
119 buff_C, rs_C, cs_C );
120
121 break;
122 }
124 {
130
133 m_C,
134 k_AB,
136 buff_A, rs_A, cs_A,
137 buff_B, rs_B, cs_B,
138 buff_beta,
139 buff_C, rs_C, cs_C );
140
141 break;
142 }
143
144 }
145
146 return FLA_SUCCESS;
147}
void bl1_csyr2k(uplo1_t uplo, trans1_t trans, int m, int k, scomplex *alpha, scomplex *a, int a_rs, int a_cs, scomplex *b, int b_rs, int b_cs, scomplex *beta, scomplex *c, int c_rs, int c_cs)
Definition bl1_syr2k.c:465
void bl1_zsyr2k(uplo1_t uplo, trans1_t trans, int m, int k, dcomplex *alpha, dcomplex *a, int a_rs, int a_cs, dcomplex *b, int b_rs, int b_cs, dcomplex *beta, dcomplex *c, int c_rs, int c_cs)
Definition bl1_syr2k.c:691

References bl1_csyr2k(), bl1_dsyr2k(), bl1_ssyr2k(), bl1_zsyr2k(), FLA_Check_error_level(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_length(), FLA_Obj_row_stride(), FLA_Obj_width(), FLA_Param_map_flame_to_blis_trans(), FLA_Param_map_flame_to_blis_uplo(), FLA_Scal_external(), FLA_Syr2k_check(), and i.

Referenced by FLA_Syr2k(), FLA_Syr2k_ln_task(), FLA_Syr2k_lt_task(), FLA_Syr2k_task(), FLA_Syr2k_un_task(), and FLA_Syr2k_ut_task().

◆ FLA_Syr2k_external_gpu()

FLA_Error FLA_Syr2k_external_gpu ( FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Obj  alpha,
FLA_Obj  A,
void A_gpu,
FLA_Obj  B,
void B_gpu,
FLA_Obj  beta,
FLA_Obj  C,
void C_gpu 
)
18{
19 FLA_Datatype datatype;
20 int k_AB;
21 int m_A, n_A;
22 int m_C;
23 int ldim_A;
24 int ldim_B;
25 int ldim_C;
26 char blas_uplo;
27 char blas_trans;
28
30 FLA_Syr2k_check( uplo, trans, alpha, A, B, beta, C );
31
32 if ( FLA_Obj_has_zero_dim( C ) ) return FLA_SUCCESS;
33
34 datatype = FLA_Obj_datatype( A );
35
36 m_A = FLA_Obj_length( A );
37 n_A = FLA_Obj_width( A );
39
41
42 m_C = FLA_Obj_length( C );
44
45 if ( trans == FLA_NO_TRANSPOSE )
46 k_AB = n_A;
47 else
48 k_AB = m_A;
49
52
53
54 switch( datatype ){
55
56 case FLA_FLOAT:
57 {
58 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
59 float *buff_beta = ( float * ) FLA_FLOAT_PTR( beta );
60
63 m_C,
64 k_AB,
66 ( float * ) A_gpu, ldim_A,
67 ( float * ) B_gpu, ldim_B,
68 *buff_beta,
69 ( float * ) C_gpu, ldim_C );
70
71 break;
72 }
73
74 case FLA_DOUBLE:
75 {
76 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
77 double *buff_beta = ( double * ) FLA_DOUBLE_PTR( beta );
78
81 m_C,
82 k_AB,
84 ( double * ) A_gpu, ldim_A,
85 ( double * ) B_gpu, ldim_B,
86 *buff_beta,
87 ( double * ) C_gpu, ldim_C );
88
89 break;
90 }
91
92 case FLA_COMPLEX:
93 {
96
99 m_C,
100 k_AB,
101 *buff_alpha,
102 ( cuComplex * ) A_gpu, ldim_A,
103 ( cuComplex * ) B_gpu, ldim_B,
104 *buff_beta,
105 ( cuComplex * ) C_gpu, ldim_C );
106
107 break;
108 }
109
111 {
114
117 m_C,
118 k_AB,
119 *buff_alpha,
122 *buff_beta,
124
125 break;
126 }
127
128 }
129
130 return FLA_SUCCESS;
131}

References FLA_Check_error_level(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_length(), FLA_Obj_width(), FLA_Param_map_flame_to_netlib_trans(), FLA_Param_map_flame_to_netlib_uplo(), FLA_Syr2k_check(), and i.

Referenced by FLASH_Queue_exec_task_gpu().

◆ FLA_Syr2k_internal_check()

FLA_Error FLA_Syr2k_internal_check ( FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_syr2k_t cntl 
)
14{
16
17 // Abort if the control structure is NULL.
18 e_val = FLA_Check_null_pointer( ( void* ) cntl );
20
21 // Verify that the object element types are identical.
24
27
28 // Verify conformality between all the objects. This check works regardless
29 // of whether the element type is FLA_MATRIX or FLA_SCALAR because the
30 // element length and width are used instead of scalar length and width.
31 if ( trans == FLA_NO_TRANSPOSE )
32 {
35 }
36 else
37 {
40 }
41
42 return FLA_SUCCESS;
43}

References FLA_Check_identical_object_elemtype(), FLA_Check_matrix_matrix_dims(), and FLA_Check_null_pointer().

Referenced by FLA_Syr2k_internal().

◆ FLA_Syr2k_ln_task()

FLA_Error FLA_Syr2k_ln_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_syr2k_t cntl 
)

References FLA_Syr2k_external(), and i.

Referenced by FLA_Syr2k_ln().

◆ FLA_Syr2k_lt_task()

FLA_Error FLA_Syr2k_lt_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_syr2k_t cntl 
)

References FLA_Syr2k_external(), and i.

Referenced by FLA_Syr2k_lt().

◆ FLA_Syr2k_task()

FLA_Error FLA_Syr2k_task ( FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_syr2k_t cntl 
)
14{
15 return FLA_Syr2k_external( uplo, trans, alpha, A, B, beta, C );
16}

References FLA_Syr2k_external(), and i.

Referenced by FLASH_Queue_exec_task(), and FLASH_Queue_exec_task_gpu().

◆ FLA_Syr2k_un_task()

FLA_Error FLA_Syr2k_un_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_syr2k_t cntl 
)

References FLA_Syr2k_external(), and i.

Referenced by FLA_Syr2k_un().

◆ FLA_Syr2k_ut_task()

FLA_Error FLA_Syr2k_ut_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C,
fla_syr2k_t cntl 
)

References FLA_Syr2k_external(), and i.

Referenced by FLA_Syr2k_ut().

◆ FLA_Syrk()

FLA_Error FLA_Syrk ( FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  beta,
FLA_Obj  C 
)
16{
18
19 // Check parameters.
21 FLA_Syrk_check( uplo, trans, alpha, A, beta, C );
22
23#ifdef FLA_ENABLE_BLAS3_FRONT_END_CNTL_TREES
25#else
26 r_val = FLA_Syrk_external( uplo, trans, alpha, A, beta, C );
27#endif
28
29 return r_val;
30}
fla_syrk_t * fla_syrk_cntl_mm
Definition FLA_Syrk_cntl_init.c:19
FLA_Error FLA_Syrk_internal(FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj beta, FLA_Obj C, fla_syrk_t *cntl)
Definition FLA_Syrk_internal.c:16
FLA_Error FLA_Syrk_check(FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj beta, FLA_Obj C)
Definition FLA_Syrk_check.c:13
FLA_Error FLA_Syrk_external(FLA_Uplo uplo, FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj beta, FLA_Obj C)
Definition FLA_Syrk_external.c:13

References FLA_Check_error_level(), FLA_Syrk_check(), fla_syrk_cntl_mm, FLA_Syrk_external(), FLA_Syrk_internal(), and i.

◆ FLA_Syrk_check()

FLA_Error FLA_Syrk_check ( FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  beta,
FLA_Obj  C 
)

References FLA_Check_consistent_object_datatype(), FLA_Check_floating_object(), FLA_Check_identical_object_datatype(), FLA_Check_if_scalar(), FLA_Check_matrix_matrix_dims(), FLA_Check_nonconstant_object(), FLA_Check_square(), FLA_Check_valid_real_trans(), and FLA_Check_valid_uplo().

Referenced by FLA_Syrk(), FLA_Syrk_external(), FLA_Syrk_external_gpu(), and FLASH_Syrk().

◆ FLA_Syrk_external()

FLA_Error FLA_Syrk_external ( FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  beta,
FLA_Obj  C 
)
14{
15 FLA_Datatype datatype;
16 int k_A;
17 int m_A, n_A;
18 int m_C;
19 int rs_A, cs_A;
20 int rs_C, cs_C;
23
25 FLA_Syrk_check( uplo, trans, alpha, A, beta, C );
26
27 if ( FLA_Obj_has_zero_dim( C ) ) return FLA_SUCCESS;
28
29 if ( FLA_Obj_has_zero_dim( A ) )
30 {
32 return FLA_SUCCESS;
33 }
34
35 datatype = FLA_Obj_datatype( A );
36
37 m_A = FLA_Obj_length( A );
38 n_A = FLA_Obj_width( A );
41
42 m_C = FLA_Obj_length( C );
45
46 if ( trans == FLA_NO_TRANSPOSE )
47 k_A = n_A;
48 else
49 k_A = m_A;
50
53
54
55 switch( datatype ){
56
57 case FLA_FLOAT:
58 {
59 float *buff_A = ( float * ) FLA_FLOAT_PTR( A );
60 float *buff_C = ( float * ) FLA_FLOAT_PTR( C );
61 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
62 float *buff_beta = ( float * ) FLA_FLOAT_PTR( beta );
63
66 m_C,
67 k_A,
69 buff_A, rs_A, cs_A,
70 buff_beta,
71 buff_C, rs_C, cs_C );
72
73 break;
74 }
75
76 case FLA_DOUBLE:
77 {
78 double *buff_A = ( double * ) FLA_DOUBLE_PTR( A );
79 double *buff_C = ( double * ) FLA_DOUBLE_PTR( C );
80 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
81 double *buff_beta = ( double * ) FLA_DOUBLE_PTR( beta );
82
85 m_C,
86 k_A,
88 buff_A, rs_A, cs_A,
89 buff_beta,
90 buff_C, rs_C, cs_C );
91
92 break;
93 }
94
95 case FLA_COMPLEX:
96 {
101
104 m_C,
105 k_A,
107 buff_A, rs_A, cs_A,
108 buff_beta,
109 buff_C, rs_C, cs_C );
110
111 break;
112 }
113
115 {
120
123 m_C,
124 k_A,
126 buff_A, rs_A, cs_A,
127 buff_beta,
128 buff_C, rs_C, cs_C );
129
130 break;
131 }
132
133 }
134
135 return FLA_SUCCESS;
136}
void bl1_csyrk(uplo1_t uplo, trans1_t trans, int m, int k, scomplex *alpha, scomplex *a, int a_rs, int a_cs, scomplex *beta, scomplex *c, int c_rs, int c_cs)
Definition bl1_syrk.c:205
void bl1_zsyrk(uplo1_t uplo, trans1_t trans, int m, int k, dcomplex *alpha, dcomplex *a, int a_rs, int a_cs, dcomplex *beta, dcomplex *c, int c_rs, int c_cs)
Definition bl1_syrk.c:301

References bl1_csyrk(), bl1_dsyrk(), bl1_ssyrk(), bl1_zsyrk(), FLA_Check_error_level(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_length(), FLA_Obj_row_stride(), FLA_Obj_width(), FLA_Param_map_flame_to_blis_trans(), FLA_Param_map_flame_to_blis_uplo(), FLA_Scal_external(), FLA_Syrk_check(), and i.

Referenced by FLA_Syrk(), FLA_Syrk_ln_task(), FLA_Syrk_lt_task(), FLA_Syrk_task(), FLA_Syrk_un_task(), and FLA_Syrk_ut_task().

◆ FLA_Syrk_external_gpu()

FLA_Error FLA_Syrk_external_gpu ( FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Obj  alpha,
FLA_Obj  A,
void A_gpu,
FLA_Obj  beta,
FLA_Obj  C,
void C_gpu 
)
18{
19 FLA_Datatype datatype;
20 int k_A;
21 int m_A, n_A;
22 int m_C;
23 int ldim_A;
24 int ldim_C;
25 char blas_uplo;
26 char blas_trans;
27
29 FLA_Syrk_check( uplo, trans, alpha, A, beta, C );
30
31 if ( FLA_Obj_has_zero_dim( C ) ) return FLA_SUCCESS;
32
33 datatype = FLA_Obj_datatype( A );
34
35 m_A = FLA_Obj_length( A );
36 n_A = FLA_Obj_width( A );
38
39 m_C = FLA_Obj_length( C );
41
42 if ( trans == FLA_NO_TRANSPOSE )
43 k_A = n_A;
44 else
45 k_A = m_A;
46
49
50
51 switch( datatype ){
52
53 case FLA_FLOAT:
54 {
55 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
56 float *buff_beta = ( float * ) FLA_FLOAT_PTR( beta );
57
60 m_C,
61 k_A,
63 ( float * ) A_gpu, ldim_A,
64 *buff_beta,
65 ( float * ) C_gpu, ldim_C );
66
67 break;
68 }
69
70 case FLA_DOUBLE:
71 {
72 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
73 double *buff_beta = ( double * ) FLA_DOUBLE_PTR( beta );
74
77 m_C,
78 k_A,
80 ( double * ) A_gpu, ldim_A,
81 *buff_beta,
82 ( double * ) C_gpu, ldim_C );
83
84 break;
85 }
86
87 case FLA_COMPLEX:
88 {
91
94 m_C,
95 k_A,
97 ( cuComplex * ) A_gpu, ldim_A,
98 *buff_beta,
99 ( cuComplex * ) C_gpu, ldim_C );
100
101 break;
102 }
103
105 {
108
111 m_C,
112 k_A,
113 *buff_alpha,
115 *buff_beta,
117
118 break;
119 }
120
121 }
122
123 return FLA_SUCCESS;
124}

References FLA_Check_error_level(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_length(), FLA_Obj_width(), FLA_Param_map_flame_to_netlib_trans(), FLA_Param_map_flame_to_netlib_uplo(), FLA_Syrk_check(), and i.

Referenced by FLASH_Queue_exec_task_gpu().

◆ FLA_Syrk_internal_check()

FLA_Error FLA_Syrk_internal_check ( FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  beta,
FLA_Obj  C,
fla_syrk_t cntl 
)
14{
16
17 // Abort if the control structure is NULL.
18 e_val = FLA_Check_null_pointer( ( void* ) cntl );
20
21 // Verify that the object element types are identical.
24
25 // Verify conformality between all the objects. This check works regardless
26 // of whether the element type is FLA_MATRIX or FLA_SCALAR because the
27 // element length and width are used instead of scalar length and width.
28 if ( trans == FLA_NO_TRANSPOSE )
29 {
32 }
33 else
34 {
37 }
38
39 return FLA_SUCCESS;
40}

References FLA_Check_identical_object_elemtype(), FLA_Check_matrix_matrix_dims(), and FLA_Check_null_pointer().

Referenced by FLA_Syrk_internal().

◆ FLA_Syrk_ln_task()

FLA_Error FLA_Syrk_ln_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  beta,
FLA_Obj  C,
fla_syrk_t cntl 
)

References FLA_Syrk_external(), and i.

Referenced by FLA_Syrk_ln().

◆ FLA_Syrk_lt_task()

FLA_Error FLA_Syrk_lt_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  beta,
FLA_Obj  C,
fla_syrk_t cntl 
)

References FLA_Syrk_external(), and i.

Referenced by FLA_Syrk_lt().

◆ FLA_Syrk_task()

FLA_Error FLA_Syrk_task ( FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  beta,
FLA_Obj  C,
fla_syrk_t cntl 
)
14{
15 return FLA_Syrk_external( uplo, trans, alpha, A, beta, C );
16}

References FLA_Syrk_external(), and i.

Referenced by FLASH_Queue_exec_task(), and FLASH_Queue_exec_task_gpu().

◆ FLA_Syrk_un_task()

FLA_Error FLA_Syrk_un_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  beta,
FLA_Obj  C,
fla_syrk_t cntl 
)

References FLA_Syrk_external(), and i.

Referenced by FLA_Syrk_un().

◆ FLA_Syrk_ut_task()

FLA_Error FLA_Syrk_ut_task ( FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  beta,
FLA_Obj  C,
fla_syrk_t cntl 
)

References FLA_Syrk_external(), and i.

Referenced by FLA_Syrk_ut().

◆ FLA_Trmm()

FLA_Error FLA_Trmm ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B 
)
16{
18
19 // Check parameters.
21 FLA_Trmm_check( side, uplo, trans, diag, alpha, A, B );
22
23#ifdef FLA_ENABLE_BLAS3_FRONT_END_CNTL_TREES
25#else
26 r_val = FLA_Trmm_external( side, uplo, trans, diag, alpha, A, B );
27#endif
28
29 return r_val;
30}
fla_trmm_t * fla_trmm_cntl_mm
Definition FLA_Trmm_cntl_init.c:19
FLA_Error FLA_Trmm_internal(FLA_Side side, FLA_Uplo uplo, FLA_Trans transa, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trmm_t *cntl)
Definition FLA_Trmm_internal.c:16
FLA_Error FLA_Trmm_check(FLA_Side side, FLA_Uplo uplo, FLA_Trans trans, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B)
Definition FLA_Trmm_check.c:13
FLA_Error FLA_Trmm_external(FLA_Side side, FLA_Uplo uplo, FLA_Trans trans, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B)
Definition FLA_Trmm_external.c:13

References FLA_Check_error_level(), FLA_Trmm_check(), fla_trmm_cntl_mm, FLA_Trmm_external(), FLA_Trmm_internal(), and i.

◆ FLA_Trmm_check()

FLA_Error FLA_Trmm_check ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Trans  transa,
FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B 
)

References FLA_Check_consistent_object_datatype(), FLA_Check_floating_object(), FLA_Check_identical_object_datatype(), FLA_Check_if_scalar(), FLA_Check_matrix_matrix_dims(), FLA_Check_nonconstant_object(), FLA_Check_square(), FLA_Check_valid_diag(), FLA_Check_valid_leftright_side(), FLA_Check_valid_trans(), and FLA_Check_valid_uplo().

Referenced by FLA_Trmm(), FLA_Trmm_external(), FLA_Trmm_external_gpu(), and FLASH_Trmm().

◆ FLA_Trmm_external()

FLA_Error FLA_Trmm_external ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B 
)
14{
15 FLA_Datatype datatype;
16 int m_B, n_B;
17 int rs_A, cs_A;
18 int rs_B, cs_B;
23
25 FLA_Trmm_check( side, uplo, trans, diag, alpha, A, B );
26
27 if ( FLA_Obj_has_zero_dim( B ) ) return FLA_SUCCESS;
28
29 datatype = FLA_Obj_datatype( A );
30
33
34 m_B = FLA_Obj_length( B );
35 n_B = FLA_Obj_width( B );
38
43
44
45 switch( datatype ){
46
47 case FLA_FLOAT:
48 {
49 float *buff_A = ( float * ) FLA_FLOAT_PTR( A );
50 float *buff_B = ( float * ) FLA_FLOAT_PTR( B );
51 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
52
54 blis_uplo,
57 m_B,
58 n_B,
60 buff_A, rs_A, cs_A,
61 buff_B, rs_B, cs_B );
62
63 break;
64 }
65
66 case FLA_DOUBLE:
67 {
68 double *buff_A = ( double * ) FLA_DOUBLE_PTR( A );
69 double *buff_B = ( double * ) FLA_DOUBLE_PTR( B );
70 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
71
73 blis_uplo,
76 m_B,
77 n_B,
79 buff_A, rs_A, cs_A,
80 buff_B, rs_B, cs_B );
81
82 break;
83 }
84
85 case FLA_COMPLEX:
86 {
90
92 blis_uplo,
95 m_B,
96 n_B,
98 buff_A, rs_A, cs_A,
99 buff_B, rs_B, cs_B );
100
101 break;
102 }
103
104
106 {
110
112 blis_uplo,
114 blis_diag,
115 m_B,
116 n_B,
118 buff_A, rs_A, cs_A,
119 buff_B, rs_B, cs_B );
120
121 break;
122 }
123
124 }
125
126 return FLA_SUCCESS;
127}
void FLA_Param_map_flame_to_blis_diag(FLA_Diag diag, diag1_t *blis_diag)
Definition FLA_Param.c:317
void bl1_strmm(side1_t side, uplo1_t uplo, trans1_t trans, diag1_t diag, int m, int n, float *alpha, float *a, int a_rs, int a_cs, float *b, int b_rs, int b_cs)
Definition bl1_trmm.c:13
void bl1_ctrmm(side1_t side, uplo1_t uplo, trans1_t trans, diag1_t diag, int m, int n, scomplex *alpha, scomplex *a, int a_rs, int a_cs, scomplex *b, int b_rs, int b_cs)
Definition bl1_trmm.c:219
void bl1_ztrmm(side1_t side, uplo1_t uplo, trans1_t trans, diag1_t diag, int m, int n, dcomplex *alpha, dcomplex *a, int a_rs, int a_cs, dcomplex *b, int b_rs, int b_cs)
Definition bl1_trmm.c:369
void bl1_dtrmm(side1_t side, uplo1_t uplo, trans1_t trans, diag1_t diag, int m, int n, double *alpha, double *a, int a_rs, int a_cs, double *b, int b_rs, int b_cs)
Definition bl1_trmm.c:116
diag1_t
Definition blis_type_defs.h:73

References bl1_ctrmm(), bl1_dtrmm(), bl1_strmm(), bl1_ztrmm(), FLA_Check_error_level(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_length(), FLA_Obj_row_stride(), FLA_Obj_width(), FLA_Param_map_flame_to_blis_diag(), FLA_Param_map_flame_to_blis_side(), FLA_Param_map_flame_to_blis_trans(), FLA_Param_map_flame_to_blis_uplo(), FLA_Trmm_check(), and i.

Referenced by FLA_LQ_UT_blk_var2(), FLA_QR_UT_blk_var2(), FLA_Trmm(), FLA_Trmm_llc_task(), FLA_Trmm_llh_task(), FLA_Trmm_lln_task(), FLA_Trmm_llt_task(), FLA_Trmm_luc_task(), FLA_Trmm_luh_task(), FLA_Trmm_lun_task(), FLA_Trmm_lut_task(), FLA_Trmm_rlc_task(), FLA_Trmm_rlh_task(), FLA_Trmm_rln_task(), FLA_Trmm_rlt_task(), FLA_Trmm_ruc_task(), FLA_Trmm_ruh_task(), FLA_Trmm_run_task(), FLA_Trmm_rut_task(), and FLA_Trmm_task().

◆ FLA_Trmm_external_gpu()

FLA_Error FLA_Trmm_external_gpu ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
void A_gpu,
FLA_Obj  B,
void B_gpu 
)
18{
19 FLA_Datatype datatype;
20 int m_B, n_B;
21 int ldim_A;
22 int ldim_B;
23 char blas_side;
24 char blas_uplo;
25 char blas_trans;
26 char blas_diag;
27
29 FLA_Trmm_check( side, uplo, trans, diag, alpha, A, B );
30
31 if ( FLA_Obj_has_zero_dim( B ) ) return FLA_SUCCESS;
32
33 datatype = FLA_Obj_datatype( A );
34
36
37 m_B = FLA_Obj_length( B );
38 n_B = FLA_Obj_width( B );
40
45
46
47 switch( datatype ){
48
49 case FLA_FLOAT:
50 {
51 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
52
54 blas_uplo,
57 m_B,
58 n_B,
60 ( float * ) A_gpu, ldim_A,
61 ( float * ) B_gpu, ldim_B );
62
63 break;
64 }
65
66 case FLA_DOUBLE:
67 {
68 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
69
71 blas_uplo,
74 m_B,
75 n_B,
77 ( double * ) A_gpu, ldim_A,
78 ( double * ) B_gpu, ldim_B );
79
80 break;
81 }
82
83 case FLA_COMPLEX:
84 {
86
88 blas_uplo,
91 m_B,
92 n_B,
94 ( cuComplex * ) A_gpu, ldim_A,
95 ( cuComplex * ) B_gpu, ldim_B );
96
97 break;
98 }
99
101 {
103
105 blas_uplo,
107 blas_diag,
108 m_B,
109 n_B,
110 *buff_alpha,
113
114 break;
115 }
116
117 }
118
119 return FLA_SUCCESS;
120}
void FLA_Param_map_flame_to_netlib_diag(FLA_Diag diag, void *blas_diag)
Definition FLA_Param.c:95

References FLA_Check_error_level(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_length(), FLA_Obj_width(), FLA_Param_map_flame_to_netlib_diag(), FLA_Param_map_flame_to_netlib_side(), FLA_Param_map_flame_to_netlib_trans(), FLA_Param_map_flame_to_netlib_uplo(), FLA_Trmm_check(), and i.

Referenced by FLASH_Queue_exec_task_gpu().

◆ FLA_Trmm_internal_check()

FLA_Error FLA_Trmm_internal_check ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trmm_t cntl 
)
14{
16
17 // Abort if the control structure is NULL.
18 e_val = FLA_Check_null_pointer( ( void* ) cntl );
20
21 // Verify that the object element types are identical.
24
25 // Verify conformality between all the objects. This check works regardless
26 // of whether the element type is FLA_MATRIX or FLA_SCALAR because the
27 // element length and width are used instead of scalar length and width.
28 if ( side == FLA_LEFT )
29 {
32 }
33 else
34 {
37 }
38
39 return FLA_SUCCESS;
40}

References FLA_Check_identical_object_elemtype(), FLA_Check_matrix_matrix_dims(), and FLA_Check_null_pointer().

Referenced by FLA_Trmm_internal().

◆ FLA_Trmm_llc_task()

FLA_Error FLA_Trmm_llc_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trmm_t cntl 
)

◆ FLA_Trmm_llh_task()

FLA_Error FLA_Trmm_llh_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trmm_t cntl 
)

References FLA_Trmm_external(), and i.

Referenced by FLA_Trmm_llh().

◆ FLA_Trmm_lln_task()

FLA_Error FLA_Trmm_lln_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trmm_t cntl 
)

References FLA_Trmm_external(), and i.

Referenced by FLA_Trmm_lln().

◆ FLA_Trmm_llt_task()

FLA_Error FLA_Trmm_llt_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trmm_t cntl 
)

References FLA_Trmm_external(), and i.

Referenced by FLA_Trmm_llt().

◆ FLA_Trmm_luc_task()

FLA_Error FLA_Trmm_luc_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trmm_t cntl 
)

◆ FLA_Trmm_luh_task()

FLA_Error FLA_Trmm_luh_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trmm_t cntl 
)

References FLA_Trmm_external(), and i.

Referenced by FLA_Trmm_luh().

◆ FLA_Trmm_lun_task()

FLA_Error FLA_Trmm_lun_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trmm_t cntl 
)

References FLA_Trmm_external(), and i.

Referenced by FLA_Trmm_lun().

◆ FLA_Trmm_lut_task()

FLA_Error FLA_Trmm_lut_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trmm_t cntl 
)

References FLA_Trmm_external(), and i.

Referenced by FLA_Trmm_lut().

◆ FLA_Trmm_rlc_task()

FLA_Error FLA_Trmm_rlc_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trmm_t cntl 
)

◆ FLA_Trmm_rlh_task()

FLA_Error FLA_Trmm_rlh_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trmm_t cntl 
)

◆ FLA_Trmm_rln_task()

FLA_Error FLA_Trmm_rln_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trmm_t cntl 
)

References FLA_Trmm_external(), and i.

Referenced by FLA_Trmm_rln().

◆ FLA_Trmm_rlt_task()

FLA_Error FLA_Trmm_rlt_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trmm_t cntl 
)

References FLA_Trmm_external(), and i.

Referenced by FLA_Trmm_rlt().

◆ FLA_Trmm_ruc_task()

FLA_Error FLA_Trmm_ruc_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trmm_t cntl 
)

◆ FLA_Trmm_ruh_task()

FLA_Error FLA_Trmm_ruh_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trmm_t cntl 
)

◆ FLA_Trmm_run_task()

FLA_Error FLA_Trmm_run_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trmm_t cntl 
)

References FLA_Trmm_external(), and i.

Referenced by FLA_Trmm_run().

◆ FLA_Trmm_rut_task()

FLA_Error FLA_Trmm_rut_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trmm_t cntl 
)

References FLA_Trmm_external(), and i.

Referenced by FLA_Trmm_rut().

◆ FLA_Trmm_task()

FLA_Error FLA_Trmm_task ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trmm_t cntl 
)
14{
15 return FLA_Trmm_external( side, uplo, trans, diag, alpha, A, B );
16}

References FLA_Trmm_external(), and i.

Referenced by FLASH_Queue_exec_task(), and FLASH_Queue_exec_task_gpu().

◆ FLA_Trmmsx()

FLA_Error FLA_Trmmsx ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Trans  transa,
FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C 
)
14{
15 return FLA_Trmmsx_external( side, uplo, trans, diag, alpha, A, B, beta, C );
16}
FLA_Error FLA_Trmmsx_external(FLA_Side side, FLA_Uplo uplo, FLA_Trans transa, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
Definition FLA_Trmmsx_external.c:13

References FLA_Trmmsx_external(), and i.

◆ FLA_Trmmsx_check()

FLA_Error FLA_Trmmsx_check ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Trans  transa,
FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C 
)

References FLA_Check_consistent_object_datatype(), FLA_Check_floating_object(), FLA_Check_identical_object_datatype(), FLA_Check_if_scalar(), FLA_Check_matrix_matrix_dims(), FLA_Check_nonconstant_object(), FLA_Check_square(), FLA_Check_valid_diag(), FLA_Check_valid_leftright_side(), FLA_Check_valid_trans(), and FLA_Check_valid_uplo().

Referenced by FLA_Trmmsx_external().

◆ FLA_Trmmsx_external()

FLA_Error FLA_Trmmsx_external ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Trans  transa,
FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C 
)
14{
15 FLA_Datatype datatype;
16 int m_B, n_B;
17 int rs_A, cs_A;
18 int rs_B, cs_B;
19 int rs_C, cs_C;
24
26 FLA_Trmmsx_check( side, uplo, trans, diag, alpha, A, B, beta, C );
27
28 if ( FLA_Obj_has_zero_dim( B ) ) return FLA_SUCCESS;
29
30 datatype = FLA_Obj_datatype( A );
31
34
35 m_B = FLA_Obj_length( B );
36 n_B = FLA_Obj_width( B );
39
42
47
48
49 switch( datatype ){
50
51 case FLA_FLOAT:
52 {
53 float *buff_A = ( float * ) FLA_FLOAT_PTR( A );
54 float *buff_B = ( float * ) FLA_FLOAT_PTR( B );
55 float *buff_C = ( float * ) FLA_FLOAT_PTR( C );
56 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
57 float *buff_beta = ( float * ) FLA_FLOAT_PTR( beta );
58
60 blis_uplo,
63 m_B,
64 n_B,
66 buff_A, rs_A, cs_A,
67 buff_B, rs_B, cs_B,
69 buff_C, rs_C, cs_C );
70
71 break;
72 }
73
74 case FLA_DOUBLE:
75 {
76 double *buff_A = ( double * ) FLA_DOUBLE_PTR( A );
77 double *buff_B = ( double * ) FLA_DOUBLE_PTR( B );
78 double *buff_C = ( double * ) FLA_DOUBLE_PTR( C );
79 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
80 double *buff_beta = ( double * ) FLA_DOUBLE_PTR( beta );
81
83 blis_uplo,
86 m_B,
87 n_B,
89 buff_A, rs_A, cs_A,
90 buff_B, rs_B, cs_B,
92 buff_C, rs_C, cs_C );
93
94 break;
95 }
96
97 case FLA_COMPLEX:
98 {
104
106 blis_uplo,
108 blis_diag,
109 m_B,
110 n_B,
112 buff_A, rs_A, cs_A,
113 buff_B, rs_B, cs_B,
114 buff_beta,
115 buff_C, rs_C, cs_C );
116
117 break;
118 }
119
120
122 {
128
130 blis_uplo,
132 blis_diag,
133 m_B,
134 n_B,
136 buff_A, rs_A, cs_A,
137 buff_B, rs_B, cs_B,
138 buff_beta,
139 buff_C, rs_C, cs_C );
140
141 break;
142 }
143
144 }
145
146 return FLA_SUCCESS;
147}
FLA_Error FLA_Trmmsx_check(FLA_Side side, FLA_Uplo uplo, FLA_Trans trans, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
Definition FLA_Trmmsx_check.c:13
void bl1_strmmsx(side1_t side, uplo1_t uplo, trans1_t trans, diag1_t diag, int m, int n, float *alpha, float *a, int a_rs, int a_cs, float *b, int b_rs, int b_cs, float *beta, float *c, int c_rs, int c_cs)
Definition bl1_trmmsx.c:13
void bl1_ztrmmsx(side1_t side, uplo1_t uplo, trans1_t trans, diag1_t diag, int m, int n, dcomplex *alpha, dcomplex *a, int a_rs, int a_cs, dcomplex *b, int b_rs, int b_cs, dcomplex *beta, dcomplex *c, int c_rs, int c_cs)
Definition bl1_trmmsx.c:331
void bl1_dtrmmsx(side1_t side, uplo1_t uplo, trans1_t trans, diag1_t diag, int m, int n, double *alpha, double *a, int a_rs, int a_cs, double *b, int b_rs, int b_cs, double *beta, double *c, int c_rs, int c_cs)
Definition bl1_trmmsx.c:119
void bl1_ctrmmsx(side1_t side, uplo1_t uplo, trans1_t trans, diag1_t diag, int m, int n, scomplex *alpha, scomplex *a, int a_rs, int a_cs, scomplex *b, int b_rs, int b_cs, scomplex *beta, scomplex *c, int c_rs, int c_cs)
Definition bl1_trmmsx.c:225

References bl1_ctrmmsx(), bl1_dtrmmsx(), bl1_strmmsx(), bl1_ztrmmsx(), FLA_Check_error_level(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_length(), FLA_Obj_row_stride(), FLA_Obj_width(), FLA_Param_map_flame_to_blis_diag(), FLA_Param_map_flame_to_blis_side(), FLA_Param_map_flame_to_blis_trans(), FLA_Param_map_flame_to_blis_uplo(), FLA_Trmmsx_check(), and i.

Referenced by FLA_Trmmsx().

◆ FLA_Trsm()

FLA_Error FLA_Trsm ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B 
)
16{
18
19 // Check parameters.
21 FLA_Trsm_check( side, uplo, trans, diag, alpha, A, B );
22
23#ifdef FLA_ENABLE_BLAS3_FRONT_END_CNTL_TREES
25#else
26 r_val = FLA_Trsm_external( side, uplo, trans, diag, alpha, A, B );
27#endif
28
29 return r_val;
30}
fla_trsm_t * fla_trsm_cntl_mm
Definition FLA_Trsm_cntl_init.c:19
FLA_Error FLA_Trsm_internal(FLA_Side side, FLA_Uplo uplo, FLA_Trans transa, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, fla_trsm_t *cntl)
Definition FLA_Trsm_internal.c:16
FLA_Error FLA_Trsm_check(FLA_Side side, FLA_Uplo uplo, FLA_Trans trans, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B)
Definition FLA_Trsm_check.c:13
FLA_Error FLA_Trsm_external(FLA_Side side, FLA_Uplo uplo, FLA_Trans trans, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B)
Definition FLA_Trsm_external.c:13

References FLA_Check_error_level(), FLA_Trsm_check(), fla_trsm_cntl_mm, FLA_Trsm_external(), FLA_Trsm_internal(), and i.

◆ FLA_Trsm_check()

FLA_Error FLA_Trsm_check ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Trans  transa,
FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B 
)

References FLA_Check_consistent_object_datatype(), FLA_Check_floating_object(), FLA_Check_identical_object_datatype(), FLA_Check_if_scalar(), FLA_Check_matrix_matrix_dims(), FLA_Check_nonconstant_object(), FLA_Check_square(), FLA_Check_valid_diag(), FLA_Check_valid_leftright_side(), FLA_Check_valid_trans(), and FLA_Check_valid_uplo().

Referenced by FLA_Trsm(), FLA_Trsm_external(), FLA_Trsm_external_gpu(), and FLASH_Trsm().

◆ FLA_Trsm_external()

FLA_Error FLA_Trsm_external ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B 
)
14{
15 FLA_Datatype datatype;
16 int m_B, n_B;
17 int rs_A, cs_A;
18 int rs_B, cs_B;
23
25 FLA_Trsm_check( side, uplo, trans, diag, alpha, A, B );
26
27 if ( FLA_Obj_has_zero_dim( B ) ) return FLA_SUCCESS;
28
29 datatype = FLA_Obj_datatype( A );
30
33
34 m_B = FLA_Obj_length( B );
35 n_B = FLA_Obj_width( B );
38
43
44
45 switch( datatype ){
46
47 case FLA_FLOAT:
48 {
49 float *buff_A = ( float * ) FLA_FLOAT_PTR( A );
50 float *buff_B = ( float * ) FLA_FLOAT_PTR( B );
51 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
52
54 blis_uplo,
57 m_B,
58 n_B,
60 buff_A, rs_A, cs_A,
61 buff_B, rs_B, cs_B );
62
63 break;
64 }
65
66 case FLA_DOUBLE:
67 {
68 double *buff_A = ( double * ) FLA_DOUBLE_PTR( A );
69 double *buff_B = ( double * ) FLA_DOUBLE_PTR( B );
70 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
71
73 blis_uplo,
76 m_B,
77 n_B,
79 buff_A, rs_A, cs_A,
80 buff_B, rs_B, cs_B );
81
82 break;
83 }
84
85 case FLA_COMPLEX:
86 {
90
92 blis_uplo,
95 m_B,
96 n_B,
98 buff_A, rs_A, cs_A,
99 buff_B, rs_B, cs_B );
100
101 break;
102 }
103
104
106 {
110
112 blis_uplo,
114 blis_diag,
115 m_B,
116 n_B,
118 buff_A, rs_A, cs_A,
119 buff_B, rs_B, cs_B );
120
121 break;
122 }
123
124 }
125
126 return FLA_SUCCESS;
127}
void bl1_dtrsm(side1_t side, uplo1_t uplo, trans1_t trans, diag1_t diag, int m, int n, double *alpha, double *a, int a_rs, int a_cs, double *b, int b_rs, int b_cs)
Definition bl1_trsm.c:116
void bl1_ztrsm(side1_t side, uplo1_t uplo, trans1_t trans, diag1_t diag, int m, int n, dcomplex *alpha, dcomplex *a, int a_rs, int a_cs, dcomplex *b, int b_rs, int b_cs)
Definition bl1_trsm.c:369
void bl1_ctrsm(side1_t side, uplo1_t uplo, trans1_t trans, diag1_t diag, int m, int n, scomplex *alpha, scomplex *a, int a_rs, int a_cs, scomplex *b, int b_rs, int b_cs)
Definition bl1_trsm.c:219
void bl1_strsm(side1_t side, uplo1_t uplo, trans1_t trans, diag1_t diag, int m, int n, float *alpha, float *a, int a_rs, int a_cs, float *b, int b_rs, int b_cs)
Definition bl1_trsm.c:13

References bl1_ctrsm(), bl1_dtrsm(), bl1_strsm(), bl1_ztrsm(), FLA_Check_error_level(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_length(), FLA_Obj_row_stride(), FLA_Obj_width(), FLA_Param_map_flame_to_blis_diag(), FLA_Param_map_flame_to_blis_side(), FLA_Param_map_flame_to_blis_trans(), FLA_Param_map_flame_to_blis_uplo(), FLA_Trsm_check(), and i.

Referenced by FLA_Chol_solve(), FLA_Hess_UT_blf_var2(), FLA_Hess_UT_blf_var3(), FLA_Hess_UT_blf_var4(), FLA_Hess_UT_blk_var1(), FLA_Hess_UT_blk_var2(), FLA_Hess_UT_blk_var3(), FLA_Hess_UT_blk_var4(), FLA_Hess_UT_blk_var5(), FLA_LQ_UT_solve(), FLA_LU_nopiv_blk_var1(), FLA_LU_nopiv_blk_var2(), FLA_LU_nopiv_blk_var3(), FLA_LU_nopiv_solve(), FLA_LU_nopiv_unb_var1(), FLA_LU_nopiv_unb_var2(), FLA_LU_nopiv_unb_var3(), FLA_LU_piv_blk_var3(), FLA_LU_piv_solve(), FLA_LU_piv_unb_var3(), FLA_LU_piv_unb_var3b(), FLA_QR_UT_solve(), FLA_SA_FS_blk(), FLA_SA_LU_blk(), FLA_Trsm(), FLA_Trsm_llc_task(), FLA_Trsm_llh_task(), FLA_Trsm_lln_task(), FLA_Trsm_llt_task(), FLA_Trsm_luc_task(), FLA_Trsm_luh_task(), FLA_Trsm_lun_task(), FLA_Trsm_lut_task(), FLA_Trsm_piv_task(), FLA_Trsm_rlc_task(), FLA_Trsm_rlh_task(), FLA_Trsm_rln_task(), FLA_Trsm_rlt_task(), FLA_Trsm_ruc_task(), FLA_Trsm_ruh_task(), FLA_Trsm_run_task(), FLA_Trsm_rut_task(), FLA_Trsm_task(), and FLA_UDdate_UT_solve().

◆ FLA_Trsm_external_gpu()

FLA_Error FLA_Trsm_external_gpu ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
void A_gpu,
FLA_Obj  B,
void B_gpu 
)
18{
19 FLA_Datatype datatype;
20 int m_B, n_B;
21 int ldim_A;
22 int ldim_B;
23 char blas_side;
24 char blas_uplo;
25 char blas_trans;
26 char blas_diag;
27
29 FLA_Trsm_check( side, uplo, trans, diag, alpha, A, B );
30
31 if ( FLA_Obj_has_zero_dim( B ) ) return FLA_SUCCESS;
32
33 datatype = FLA_Obj_datatype( A );
34
36
37 m_B = FLA_Obj_length( B );
38 n_B = FLA_Obj_width( B );
40
45
46
47 switch( datatype ){
48
49 case FLA_FLOAT:
50 {
51 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
52
57 m_B,
58 n_B,
60 ( float * ) A_gpu, ldim_A,
61 ( float * ) B_gpu, ldim_B );
62
63 break;
64 }
65
66 case FLA_DOUBLE:
67 {
68 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
69
74 m_B,
75 n_B,
77 ( double * ) A_gpu, ldim_A,
78 ( double * ) B_gpu, ldim_B );
79
80 break;
81 }
82
83 case FLA_COMPLEX:
84 {
86
91 m_B,
92 n_B,
94 ( cuComplex * ) A_gpu, ldim_A,
95 ( cuComplex * ) B_gpu, ldim_B );
96
97 break;
98 }
99
101 {
103
105 blas_uplo,
107 blas_diag,
108 m_B,
109 n_B,
110 *buff_alpha,
113
114 break;
115 }
116
117 }
118
119 return FLA_SUCCESS;
120}

References FLA_Check_error_level(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_length(), FLA_Obj_width(), FLA_Param_map_flame_to_netlib_diag(), FLA_Param_map_flame_to_netlib_side(), FLA_Param_map_flame_to_netlib_trans(), FLA_Param_map_flame_to_netlib_uplo(), FLA_Trsm_check(), and i.

Referenced by FLASH_Queue_exec_task_gpu().

◆ FLA_Trsm_internal_check()

FLA_Error FLA_Trsm_internal_check ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trsm_t cntl 
)
14{
16
17 // Abort if the control structure is NULL.
18 e_val = FLA_Check_null_pointer( ( void* ) cntl );
20
21 // Verify that the object element types are identical.
24
25 // Verify conformality between all the objects. This check works regardless
26 // of whether the element type is FLA_MATRIX or FLA_SCALAR because the
27 // element length and width are used instead of scalar length and width.
28 if ( side == FLA_LEFT )
29 {
30 //e_val = FLA_Check_matrix_matrix_dims( FLA_NO_TRANSPOSE, FLA_NO_TRANSPOSE, A, B, B );
31 //FLA_Check_error_code( e_val );
34 }
35 else
36 {
39 }
40
41 return FLA_SUCCESS;
42}
FLA_Error FLA_Check_object_length_equals(FLA_Obj A, dim_t m)
Definition FLA_Check.c:1039

References FLA_Check_identical_object_elemtype(), FLA_Check_matrix_matrix_dims(), FLA_Check_null_pointer(), FLA_Check_object_length_equals(), and FLA_Obj_length().

Referenced by FLA_Trsm_internal().

◆ FLA_Trsm_llc_task()

FLA_Error FLA_Trsm_llc_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trsm_t cntl 
)

◆ FLA_Trsm_llh_task()

FLA_Error FLA_Trsm_llh_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trsm_t cntl 
)

References FLA_Trsm_external(), and i.

Referenced by FLA_Trsm_llh().

◆ FLA_Trsm_lln_task()

FLA_Error FLA_Trsm_lln_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trsm_t cntl 
)

References FLA_Trsm_external(), and i.

Referenced by FLA_Trsm_lln().

◆ FLA_Trsm_llt_task()

FLA_Error FLA_Trsm_llt_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trsm_t cntl 
)

References FLA_Trsm_external(), and i.

Referenced by FLA_Trsm_llt().

◆ FLA_Trsm_luc_task()

FLA_Error FLA_Trsm_luc_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trsm_t cntl 
)

◆ FLA_Trsm_luh_task()

FLA_Error FLA_Trsm_luh_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trsm_t cntl 
)

References FLA_Trsm_external(), and i.

Referenced by FLA_Trsm_luh().

◆ FLA_Trsm_lun_task()

FLA_Error FLA_Trsm_lun_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trsm_t cntl 
)

References FLA_Trsm_external(), and i.

Referenced by FLA_Trsm_lun().

◆ FLA_Trsm_lut_task()

FLA_Error FLA_Trsm_lut_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trsm_t cntl 
)

References FLA_Trsm_external(), and i.

Referenced by FLA_Trsm_lut().

◆ FLA_Trsm_rlc_task()

FLA_Error FLA_Trsm_rlc_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trsm_t cntl 
)

◆ FLA_Trsm_rlh_task()

FLA_Error FLA_Trsm_rlh_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trsm_t cntl 
)

◆ FLA_Trsm_rln_task()

FLA_Error FLA_Trsm_rln_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trsm_t cntl 
)

References FLA_Trsm_external(), and i.

Referenced by FLA_Trsm_rln().

◆ FLA_Trsm_rlt_task()

FLA_Error FLA_Trsm_rlt_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trsm_t cntl 
)

References FLA_Trsm_external(), and i.

Referenced by FLA_Trsm_rlt().

◆ FLA_Trsm_ruc_task()

FLA_Error FLA_Trsm_ruc_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trsm_t cntl 
)

◆ FLA_Trsm_ruh_task()

FLA_Error FLA_Trsm_ruh_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trsm_t cntl 
)

◆ FLA_Trsm_run_task()

FLA_Error FLA_Trsm_run_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trsm_t cntl 
)

References FLA_Trsm_external(), and i.

Referenced by FLA_Trsm_run().

◆ FLA_Trsm_rut_task()

FLA_Error FLA_Trsm_rut_task ( FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trsm_t cntl 
)

References FLA_Trsm_external(), and i.

Referenced by FLA_Trsm_rut().

◆ FLA_Trsm_task()

FLA_Error FLA_Trsm_task ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Trans  trans,
FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
fla_trsm_t cntl 
)
14{
15 return FLA_Trsm_external( side, uplo, trans, diag, alpha, A, B );
16}

References FLA_Trsm_external(), and i.

Referenced by FLASH_Queue_exec_task(), and FLASH_Queue_exec_task_gpu().

◆ FLA_Trsmsx()

FLA_Error FLA_Trsmsx ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Trans  transa,
FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C 
)
14{
15 return FLA_Trsmsx_external( side, uplo, trans, diag, alpha, A, B, beta, C );
16}
FLA_Error FLA_Trsmsx_external(FLA_Side side, FLA_Uplo uplo, FLA_Trans transa, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
Definition FLA_Trsmsx_external.c:13

References FLA_Trsmsx_external(), and i.

◆ FLA_Trsmsx_check()

FLA_Error FLA_Trsmsx_check ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Trans  transa,
FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C 
)

References FLA_Check_consistent_object_datatype(), FLA_Check_floating_object(), FLA_Check_identical_object_datatype(), FLA_Check_if_scalar(), FLA_Check_matrix_matrix_dims(), FLA_Check_nonconstant_object(), FLA_Check_square(), FLA_Check_valid_diag(), FLA_Check_valid_leftright_side(), FLA_Check_valid_trans(), and FLA_Check_valid_uplo().

Referenced by FLA_Trsmsx_external().

◆ FLA_Trsmsx_external()

FLA_Error FLA_Trsmsx_external ( FLA_Side  side,
FLA_Uplo  uplo,
FLA_Trans  transa,
FLA_Diag  diag,
FLA_Obj  alpha,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  beta,
FLA_Obj  C 
)
14{
15 FLA_Datatype datatype;
16 int m_B, n_B;
17 int rs_A, cs_A;
18 int rs_B, cs_B;
19 int rs_C, cs_C;
24
26 FLA_Trsmsx_check( side, uplo, trans, diag, alpha, A, B, beta, C );
27
28 if ( FLA_Obj_has_zero_dim( B ) ) return FLA_SUCCESS;
29
30 datatype = FLA_Obj_datatype( A );
31
34
35 m_B = FLA_Obj_length( B );
36 n_B = FLA_Obj_width( B );
39
42
47
48
49 switch( datatype ){
50
51 case FLA_FLOAT:
52 {
53 float *buff_A = ( float * ) FLA_FLOAT_PTR( A );
54 float *buff_B = ( float * ) FLA_FLOAT_PTR( B );
55 float *buff_C = ( float * ) FLA_FLOAT_PTR( C );
56 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
57 float *buff_beta = ( float * ) FLA_FLOAT_PTR( beta );
58
60 blis_uplo,
63 m_B,
64 n_B,
66 buff_A, rs_A, cs_A,
67 buff_B, rs_B, cs_B,
69 buff_C, rs_C, cs_C );
70
71 break;
72 }
73
74 case FLA_DOUBLE:
75 {
76 double *buff_A = ( double * ) FLA_DOUBLE_PTR( A );
77 double *buff_B = ( double * ) FLA_DOUBLE_PTR( B );
78 double *buff_C = ( double * ) FLA_DOUBLE_PTR( C );
79 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
80 double *buff_beta = ( double * ) FLA_DOUBLE_PTR( beta );
81
83 blis_uplo,
86 m_B,
87 n_B,
89 buff_A, rs_A, cs_A,
90 buff_B, rs_B, cs_B,
92 buff_C, rs_C, cs_C );
93
94 break;
95 }
96
97 case FLA_COMPLEX:
98 {
104
106 blis_uplo,
108 blis_diag,
109 m_B,
110 n_B,
112 buff_A, rs_A, cs_A,
113 buff_B, rs_B, cs_B,
114 buff_beta,
115 buff_C, rs_C, cs_C );
116
117 break;
118 }
119
120
122 {
128
130 blis_uplo,
132 blis_diag,
133 m_B,
134 n_B,
136 buff_A, rs_A, cs_A,
137 buff_B, rs_B, cs_B,
138 buff_beta,
139 buff_C, rs_C, cs_C );
140
141 break;
142 }
143
144 }
145
146 return FLA_SUCCESS;
147}
FLA_Error FLA_Trsmsx_check(FLA_Side side, FLA_Uplo uplo, FLA_Trans trans, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C)
Definition FLA_Trsmsx_check.c:13
void bl1_dtrsmsx(side1_t side, uplo1_t uplo, trans1_t trans, diag1_t diag, int m, int n, double *alpha, double *a, int a_rs, int a_cs, double *b, int b_rs, int b_cs, double *beta, double *c, int c_rs, int c_cs)
Definition bl1_trsmsx.c:119
void bl1_ztrsmsx(side1_t side, uplo1_t uplo, trans1_t trans, diag1_t diag, int m, int n, dcomplex *alpha, dcomplex *a, int a_rs, int a_cs, dcomplex *b, int b_rs, int b_cs, dcomplex *beta, dcomplex *c, int c_rs, int c_cs)
Definition bl1_trsmsx.c:331
void bl1_strsmsx(side1_t side, uplo1_t uplo, trans1_t trans, diag1_t diag, int m, int n, float *alpha, float *a, int a_rs, int a_cs, float *b, int b_rs, int b_cs, float *beta, float *c, int c_rs, int c_cs)
Definition bl1_trsmsx.c:13
void bl1_ctrsmsx(side1_t side, uplo1_t uplo, trans1_t trans, diag1_t diag, int m, int n, scomplex *alpha, scomplex *a, int a_rs, int a_cs, scomplex *b, int b_rs, int b_cs, scomplex *beta, scomplex *c, int c_rs, int c_cs)
Definition bl1_trsmsx.c:225

References bl1_ctrsmsx(), bl1_dtrsmsx(), bl1_strsmsx(), bl1_ztrsmsx(), FLA_Check_error_level(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_length(), FLA_Obj_row_stride(), FLA_Obj_width(), FLA_Param_map_flame_to_blis_diag(), FLA_Param_map_flame_to_blis_side(), FLA_Param_map_flame_to_blis_trans(), FLA_Param_map_flame_to_blis_uplo(), FLA_Trsmsx_check(), and i.

Referenced by FLA_Trsmsx().