Functions | |
void | FLASH_Gemv_cntl_init () |
void | FLASH_Gemv_cntl_finalize () |
Variables | |
fla_gemv_t * | flash_gemv_cntl_blas |
fla_gemv_t * | flash_gemv_cntl_fm_rp |
fla_gemv_t * | flash_gemv_cntl_fm_cp |
fla_gemv_t * | flash_gemv_cntl_rp_bv |
fla_gemv_t * | flash_gemv_cntl_cp_bv |
fla_blocksize_t * | flash_gemv_bsize |
void FLASH_Gemv_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
00075 { 00076 FLA_Cntl_obj_free( flash_gemv_cntl_blas ); 00077 00078 FLA_Cntl_obj_free( flash_gemv_cntl_cp_bv ); 00079 FLA_Cntl_obj_free( flash_gemv_cntl_rp_bv ); 00080 00081 FLA_Cntl_obj_free( flash_gemv_cntl_fm_rp ); 00082 FLA_Cntl_obj_free( flash_gemv_cntl_fm_cp ); 00083 00084 FLA_Blocksize_free( flash_gemv_bsize ); 00085 }
void FLASH_Gemv_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_gemv_obj_create().
Referenced by FLA_Cntl_init_flash().
00043 { 00044 // Set gemv blocksize for hierarchical storage. 00045 flash_gemv_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); 00046 00047 // Create a control tree node that executes a gemv subproblem. 00048 flash_gemv_cntl_blas = FLA_Cntl_gemv_obj_create( FLA_HIER, 00049 FLA_SUBPROBLEM, 00050 NULL, 00051 NULL ); 00052 00053 // Create control trees for situations where one dimension is large. 00054 flash_gemv_cntl_cp_bv = FLA_Cntl_gemv_obj_create( FLA_HIER, 00055 FLA_BLOCKED_VARIANT1, 00056 flash_gemv_bsize, 00057 flash_gemv_cntl_blas ); 00058 flash_gemv_cntl_rp_bv = FLA_Cntl_gemv_obj_create( FLA_HIER, 00059 FLA_BLOCKED_VARIANT5, 00060 flash_gemv_bsize, 00061 flash_gemv_cntl_blas ); 00062 00063 // Create control trees for situations where both dimensions are large. 00064 flash_gemv_cntl_fm_rp = FLA_Cntl_gemv_obj_create( FLA_HIER, 00065 FLA_BLOCKED_VARIANT1, 00066 flash_gemv_bsize, 00067 flash_gemv_cntl_rp_bv ); 00068 flash_gemv_cntl_fm_cp = FLA_Cntl_gemv_obj_create( FLA_HIER, 00069 FLA_BLOCKED_VARIANT5, 00070 flash_gemv_bsize, 00071 flash_gemv_cntl_cp_bv ); 00072 }