Functions | |
void | FLASH_Axpy_cntl_init () |
void | FLASH_Axpy_cntl_finalize () |
Variables | |
fla_axpy_t * | flash_axpy_cntl_blas |
fla_axpy_t * | flash_axpy_cntl_tb |
fla_axpy_t * | flash_axpy_cntl |
fla_blocksize_t * | flash_axpy_bsize |
void FLASH_Axpy_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flash().
00066 { 00067 FLA_Cntl_obj_free( flash_axpy_cntl_blas ); 00068 00069 FLA_Cntl_obj_free( flash_axpy_cntl_tb ); 00070 FLA_Cntl_obj_free( flash_axpy_cntl ); 00071 00072 FLA_Blocksize_free( flash_axpy_bsize ); 00073 }
void FLASH_Axpy_cntl_init | ( | void | ) |
References FLA_Blocksize_create(), and FLA_Cntl_axpy_obj_create().
Referenced by FLA_Cntl_init_flash().
00041 { 00042 // Set blocksize for hierarchical storage. 00043 flash_axpy_bsize = FLA_Blocksize_create( 1, 1, 1, 1 ); 00044 00045 // Create a control tree that assumes A and B are small. 00046 flash_axpy_cntl_blas = FLA_Cntl_axpy_obj_create( FLA_HIER, 00047 FLA_SUBPROBLEM, 00048 NULL, 00049 NULL ); 00050 00051 // Create a control tree that marches through A and B vertically. 00052 flash_axpy_cntl_tb = FLA_Cntl_axpy_obj_create( FLA_HIER, 00053 FLA_BLOCKED_VARIANT1, 00054 flash_axpy_bsize, 00055 flash_axpy_cntl_blas ); 00056 00057 // Create a control tree that marches through A and B horizontally, then 00058 // vertically. 00059 flash_axpy_cntl = FLA_Cntl_axpy_obj_create( FLA_HIER, 00060 FLA_BLOCKED_VARIANT3, 00061 flash_axpy_bsize, 00062 flash_axpy_cntl_tb ); 00063 }