libflame  12600
Functions | Variables
FLA_LU_nopiv_cntl_init.c File Reference

(r12600)

Functions

void FLA_LU_nopiv_cntl_init ()
void FLA_LU_nopiv_cntl_finalize ()

Variables

fla_gemm_tfla_gemm_cntl_blas
fla_trsm_tfla_trsm_cntl_blas
fla_lu_tfla_lu_nopiv_cntl
fla_lu_tfla_lu_nopiv_cntl2
fla_lu_tfla_lu_nopiv_cntl_in
fla_lu_tfla_lu_nopiv_cntl_leaf
fla_blocksize_tfla_lu_nopiv_var5_bsize
fla_blocksize_tfla_lu_nopiv_var5_bsize_in
double fla_lu_nopiv_var5_in_to_ou_bsize_ratio = 0.25

Function Documentation

void FLA_LU_nopiv_cntl_finalize ( void  )
void FLA_LU_nopiv_cntl_init ( void  )

References FLA_Blocksize_create_copy(), FLA_Blocksize_scale(), FLA_Cntl_lu_obj_create(), fla_lu_nopiv_var5_in_to_ou_bsize_ratio, and FLA_Query_blocksizes().

Referenced by FLA_Cntl_init_flamec().

{
    // Set blocksizes with default values for conventional storage.
    fla_lu_nopiv_var5_bsize    = FLA_Query_blocksizes( FLA_DIMENSION_MIN );
    fla_lu_nopiv_var5_bsize_in = FLA_Blocksize_create_copy( fla_lu_nopiv_var5_bsize );
    FLA_Blocksize_scale( fla_lu_nopiv_var5_bsize_in, fla_lu_nopiv_var5_in_to_ou_bsize_ratio );

    // Create a control tree to invoke unblocked variant 1.
    fla_lu_nopiv_cntl_leaf   = FLA_Cntl_lu_obj_create( FLA_FLAT,
                                                       FLA_UNB_OPT_VARIANT5,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL );

    // Create a control tree for small subproblems.
    fla_lu_nopiv_cntl_in     = FLA_Cntl_lu_obj_create( FLA_FLAT, 
                                                       FLA_BLOCKED_VARIANT5,
                                                       fla_lu_nopiv_var5_bsize_in,
                                                       fla_lu_nopiv_cntl_leaf,
                                                       fla_gemm_cntl_blas,
                                                       fla_gemm_cntl_blas,
                                                       fla_gemm_cntl_blas,
                                                       fla_trsm_cntl_blas,
                                                       fla_trsm_cntl_blas,
                                                       NULL,
                                                       NULL );

    // Create a control tree for larger problems with one level of recursion.
    fla_lu_nopiv_cntl2       = FLA_Cntl_lu_obj_create( FLA_FLAT, 
                                                       FLA_BLOCKED_VARIANT5,
                                                       fla_lu_nopiv_var5_bsize,
                                                       fla_lu_nopiv_cntl_in,
                                                       fla_gemm_cntl_blas,
                                                       fla_gemm_cntl_blas,
                                                       fla_gemm_cntl_blas,
                                                       fla_trsm_cntl_blas,
                                                       fla_trsm_cntl_blas,
                                                       NULL,
                                                       NULL );

    // Create a control tree for large problems with no extra recursion.
    fla_lu_nopiv_cntl        = FLA_Cntl_lu_obj_create( FLA_FLAT, 
                                                       FLA_BLOCKED_VARIANT5,
                                                       fla_lu_nopiv_var5_bsize,
                                                       fla_lu_nopiv_cntl_leaf,
                                                       fla_gemm_cntl_blas,
                                                       fla_gemm_cntl_blas,
                                                       fla_gemm_cntl_blas,
                                                       fla_trsm_cntl_blas,
                                                       fla_trsm_cntl_blas,
                                                       NULL,
                                                       NULL );
}

Variable Documentation

Referenced by FLA_LU_nopiv_internal().

Referenced by FLA_LU_nopiv_cntl_init().