Functions | |
void | FLASH_Syrk_cntl_init () |
void | FLASH_Syrk_cntl_finalize () |
Variables | |
fla_gemm_t * | flash_gemm_cntl_pb_bb |
fla_syrk_t * | flash_syrk_cntl_blas |
fla_syrk_t * | flash_syrk_cntl_ip |
fla_syrk_t * | flash_syrk_cntl_op |
fla_syrk_t * | flash_syrk_cntl_sq |
fla_blocksize_t * | flash_syrk_bsize |
void FLASH_Syrk_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
00078 { 00079 FLA_Cntl_obj_free( flash_syrk_cntl_blas ); 00080 00081 FLA_Cntl_obj_free( flash_syrk_cntl_ip ); 00082 FLA_Cntl_obj_free( flash_syrk_cntl_op ); 00083 FLA_Cntl_obj_free( flash_syrk_cntl_sq ); 00084 00085 FLA_Blocksize_free( flash_syrk_bsize ); 00086 }
void FLASH_Syrk_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_syrk_obj_create().
Referenced by FLA_Cntl_init_flash().
00044 { 00045 // Set syrk blocksize for hierarchical storage. 00046 flash_syrk_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); 00047 00048 // Create a control tree that assumes A is a b x b block. 00049 flash_syrk_cntl_blas = FLA_Cntl_syrk_obj_create( FLA_HIER, 00050 FLA_SUBPROBLEM, 00051 NULL, 00052 NULL, 00053 NULL ); 00054 00055 // Create a control tree that assumes A * A' forms an inner panel product. 00056 flash_syrk_cntl_ip = FLA_Cntl_syrk_obj_create( FLA_HIER, 00057 FLA_BLOCKED_VARIANT5, 00058 flash_syrk_bsize, 00059 flash_syrk_cntl_blas, 00060 NULL ); 00061 00062 // Create a control tree that assumes A * A' forms an outer panel product. 00063 flash_syrk_cntl_op = FLA_Cntl_syrk_obj_create( FLA_HIER, 00064 FLA_BLOCKED_VARIANT2, 00065 flash_syrk_bsize, 00066 flash_syrk_cntl_blas, 00067 flash_gemm_cntl_pb_bb ); 00068 00069 // Create a control tree that assumes A is large. 00070 flash_syrk_cntl_sq = FLA_Cntl_syrk_obj_create( FLA_HIER, 00071 FLA_BLOCKED_VARIANT5, 00072 flash_syrk_bsize, 00073 flash_syrk_cntl_op, 00074 NULL ); 00075 }