FLASH_Gemm_cntl_init.c File Reference

(r)


Functions

void FLASH_Gemm_cntl_init ()
void FLASH_Gemm_cntl_finalize ()

Variables

fla_gemm_tflash_gemm_cntl_blas
fla_gemm_tflash_gemm_cntl_mm_mp
fla_gemm_tflash_gemm_cntl_mm_pm
fla_gemm_tflash_gemm_cntl_mm_op
fla_gemm_tflash_gemm_cntl_mp_pb
fla_gemm_tflash_gemm_cntl_mp_ip
fla_gemm_tflash_gemm_cntl_pm_bp
fla_gemm_tflash_gemm_cntl_pm_ip
fla_gemm_tflash_gemm_cntl_op_bp
fla_gemm_tflash_gemm_cntl_op_pb
fla_gemm_tflash_gemm_cntl_pb_bb
fla_gemm_tflash_gemm_cntl_bp_bb
fla_gemm_tflash_gemm_cntl_ip_bb
fla_blocksize_tflash_gemm_bsize

Function Documentation

void FLASH_Gemm_cntl_finalize ( void   ) 

void FLASH_Gemm_cntl_init ( void   ) 

References FLA_Blocksize_create(), and FLA_Cntl_gemm_obj_create().

Referenced by FLA_Cntl_init_flash().

00051 {
00052     // Set gemm blocksize for hierarchical storage.
00053     flash_gemm_bsize      = FLA_Blocksize_create( 1, 1, 1, 1 );
00054 
00055     // Create a control tree node that executes a gemm subproblem.
00056     flash_gemm_cntl_blas  = FLA_Cntl_gemm_obj_create( FLA_HIER,
00057                                                       FLA_SUBPROBLEM,
00058                                                       NULL,
00059                                                       NULL );
00060 
00061     // Create control trees for situations where one dimension is large.
00062     flash_gemm_cntl_pb_bb = FLA_Cntl_gemm_obj_create( FLA_HIER,
00063                                                       FLA_BLOCKED_VARIANT1,
00064                                                       flash_gemm_bsize,
00065                                                       flash_gemm_cntl_blas );
00066     flash_gemm_cntl_bp_bb = FLA_Cntl_gemm_obj_create( FLA_HIER,
00067                                                       FLA_BLOCKED_VARIANT3,
00068                                                       flash_gemm_bsize,
00069                                                       flash_gemm_cntl_blas );
00070     flash_gemm_cntl_ip_bb = FLA_Cntl_gemm_obj_create( FLA_HIER,
00071                                                       FLA_BLOCKED_VARIANT5,
00072                                                       flash_gemm_bsize,
00073                                                       flash_gemm_cntl_blas );
00074 
00075     // Create control trees for situations where two dimensions are large.
00076     flash_gemm_cntl_mp_ip = FLA_Cntl_gemm_obj_create( FLA_HIER,
00077                                                       FLA_BLOCKED_VARIANT1,
00078                                                       flash_gemm_bsize,
00079                                                       flash_gemm_cntl_ip_bb );
00080     flash_gemm_cntl_op_bp = FLA_Cntl_gemm_obj_create( FLA_HIER,
00081                                                       FLA_BLOCKED_VARIANT1,
00082                                                       flash_gemm_bsize,
00083                                                       flash_gemm_cntl_bp_bb );
00084     flash_gemm_cntl_pm_ip = FLA_Cntl_gemm_obj_create( FLA_HIER,
00085                                                       FLA_BLOCKED_VARIANT3,
00086                                                       flash_gemm_bsize,
00087                                                       flash_gemm_cntl_ip_bb );
00088     flash_gemm_cntl_op_pb = FLA_Cntl_gemm_obj_create( FLA_HIER,
00089                                                       FLA_BLOCKED_VARIANT3,
00090                                                       flash_gemm_bsize,
00091                                                       flash_gemm_cntl_pb_bb );
00092     flash_gemm_cntl_mp_pb = FLA_Cntl_gemm_obj_create( FLA_HIER,
00093                                                       FLA_BLOCKED_VARIANT5,
00094                                                       flash_gemm_bsize,
00095                                                       flash_gemm_cntl_pb_bb );
00096     flash_gemm_cntl_pm_bp = FLA_Cntl_gemm_obj_create( FLA_HIER,
00097                                                       FLA_BLOCKED_VARIANT5,
00098                                                       flash_gemm_bsize,
00099                                                       flash_gemm_cntl_bp_bb );
00100 
00101     // Create control trees for situations where all dimensions are large.
00102     flash_gemm_cntl_mm_pm = FLA_Cntl_gemm_obj_create( FLA_HIER,
00103                                                       FLA_BLOCKED_VARIANT1,
00104                                                       flash_gemm_bsize,
00105                                                       flash_gemm_cntl_pm_ip );
00106     flash_gemm_cntl_mm_mp = FLA_Cntl_gemm_obj_create( FLA_HIER,
00107                                                       FLA_BLOCKED_VARIANT3,
00108                                                       flash_gemm_bsize,
00109                                                       flash_gemm_cntl_mp_ip );
00110     flash_gemm_cntl_mm_op = FLA_Cntl_gemm_obj_create( FLA_HIER,
00111                                                       FLA_BLOCKED_VARIANT5,
00112                                                       flash_gemm_bsize,
00113                                                       flash_gemm_cntl_op_bp );
00114 }


Variable Documentation


Generated on Mon Jul 6 05:45:51 2009 for libflame by  doxygen 1.5.9