Functions | |
void | FLASH_Symm_cntl_init () |
void | FLASH_Symm_cntl_finalize () |
Variables | |
fla_gemm_t * | flash_gemm_cntl_op_bp |
fla_symm_t * | flash_symm_cntl_blas |
fla_symm_t * | flash_symm_cntl_bp |
fla_symm_t * | flash_symm_cntl_mp |
fla_symm_t * | flash_symm_cntl_mm |
fla_blocksize_t * | flash_symm_bsize |
void FLASH_Symm_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
00082 { 00083 FLA_Cntl_obj_free( flash_symm_cntl_blas ); 00084 00085 FLA_Cntl_obj_free( flash_symm_cntl_bp ); 00086 FLA_Cntl_obj_free( flash_symm_cntl_mp ); 00087 FLA_Cntl_obj_free( flash_symm_cntl_mm ); 00088 00089 FLA_Blocksize_free( flash_symm_bsize ); 00090 }
void FLASH_Symm_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_symm_obj_create().
Referenced by FLA_Cntl_init_flash().
00044 { 00045 // Set symm blocksize for hierarchical storage. 00046 flash_symm_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); 00047 00048 // Create a control tree that assumes A and B are b x b blocks. 00049 flash_symm_cntl_blas = FLA_Cntl_symm_obj_create( FLA_HIER, 00050 FLA_SUBPROBLEM, 00051 NULL, 00052 NULL, 00053 NULL, 00054 NULL ); 00055 00056 // Create a control tree that assumes A is a block and B is a panel. 00057 flash_symm_cntl_bp = FLA_Cntl_symm_obj_create( FLA_HIER, 00058 FLA_BLOCKED_VARIANT9, 00059 flash_symm_bsize, 00060 flash_symm_cntl_blas, 00061 NULL, 00062 NULL ); 00063 00064 // Create a control tree that assumes A is large and B is a panel. 00065 flash_symm_cntl_mp = FLA_Cntl_symm_obj_create( FLA_HIER, 00066 FLA_BLOCKED_VARIANT4, 00067 flash_symm_bsize, 00068 flash_symm_cntl_blas, 00069 flash_gemm_cntl_op_bp, 00070 flash_gemm_cntl_op_bp ); 00071 00072 // Create a control tree that assumes A and B are both large. 00073 flash_symm_cntl_mm = FLA_Cntl_symm_obj_create( FLA_HIER, 00074 FLA_BLOCKED_VARIANT9, 00075 flash_symm_bsize, 00076 flash_symm_cntl_mp, 00077 NULL, 00078 NULL ); 00079 }