libflame  12600
Functions | Variables
FLASH_Hemm_cntl_init.c File Reference

(r12600)

Functions

void FLASH_Hemm_cntl_init ()
void FLASH_Hemm_cntl_finalize ()

Variables

fla_scal_tflash_scal_cntl
fla_gemm_tflash_gemm_cntl_op_bp
fla_gemm_tflash_gemm_cntl_mm_pm
fla_gemm_tflash_gemm_cntl_mm_mp
fla_hemm_tflash_hemm_cntl_blas
fla_hemm_tflash_hemm_cntl_bp
fla_hemm_tflash_hemm_cntl_mp
fla_hemm_tflash_hemm_cntl_mm
fla_blocksize_tflash_hemm_bsize

Function Documentation

void FLASH_Hemm_cntl_finalize ( void  )
void FLASH_Hemm_cntl_init ( void  )

References FLA_Blocksize_create(), and FLA_Cntl_hemm_obj_create().

Referenced by FLA_Cntl_init_flash().

{
    // Set hemm blocksize for hierarchical storage.
    flash_hemm_bsize      = FLA_Blocksize_create( 1, 1, 1, 1 );

    // Create a control tree that assumes A and B are b x b blocks.
    flash_hemm_cntl_blas  = FLA_Cntl_hemm_obj_create( FLA_HIER, 
                                                      FLA_SUBPROBLEM,
                                                      NULL,
                                                      NULL,
                                                      NULL,
                                                      NULL,
                                                      NULL );

    // Create a control tree that assumes A is a block and B is a panel.
    flash_hemm_cntl_bp    = FLA_Cntl_hemm_obj_create( FLA_HIER,
                                                      FLA_BLOCKED_VARIANT9,
                                                      flash_hemm_bsize,
                                                      flash_scal_cntl,
                                                      flash_hemm_cntl_blas,
                                                      NULL,
                                                      NULL );

    // Create a control tree that assumes A is large and B is a panel.
    flash_hemm_cntl_mp    = FLA_Cntl_hemm_obj_create( FLA_HIER,
                                                      FLA_BLOCKED_VARIANT1,
                                                      flash_hemm_bsize,
                                                      flash_scal_cntl,
                                                      flash_hemm_cntl_blas,
                                                      flash_gemm_cntl_op_bp,
                                                      flash_gemm_cntl_mm_mp );

    // Create a control tree that assumes A and B are both large.
    flash_hemm_cntl_mm    = FLA_Cntl_hemm_obj_create( FLA_HIER,
                                                      FLA_BLOCKED_VARIANT9,
                                                      flash_hemm_bsize,
                                                      flash_scal_cntl,
                                                      flash_hemm_cntl_mp,
                                                      NULL,
                                                      NULL );
}

Variable Documentation

Referenced by FLA_Hemm_internal().