Functions | |
void | FLA_Transpose_cntl_init () |
void | FLA_Transpose_cntl_finalize () |
Variables | |
fla_swap_t * | fla_swap_cntl_panel |
fla_swap_t * | fla_swap_cntl_blas |
fla_tpose_t * | fla_tpose_cntl |
fla_tpose_t * | fla_tpose_cntl_unb |
fla_blocksize_t * | fla_tpose_bsize |
fla_blocksize_t * | fla_tpose_swap_bsize |
void FLA_Transpose_cntl_finalize | ( | void | ) |
References FLA_Blocksize_free(), and FLA_Cntl_obj_free().
Referenced by FLA_Cntl_finalize_flamec().
00077 { 00078 FLA_Cntl_obj_free( fla_tpose_cntl ); 00079 FLA_Cntl_obj_free( fla_tpose_cntl_unb ); 00080 FLA_Cntl_obj_free( fla_swap_cntl_panel ); 00081 FLA_Cntl_obj_free( fla_swap_cntl_blas ); 00082 00083 FLA_Blocksize_free( fla_tpose_bsize ); 00084 FLA_Blocksize_free( fla_tpose_swap_bsize ); 00085 }
void FLA_Transpose_cntl_init | ( | void | ) |
References FLA_Cntl_swap_obj_create(), FLA_Cntl_tpose_obj_create(), and FLA_Query_blocksizes().
Referenced by FLA_Cntl_init_flamec().
00044 { 00045 // Set blocksizes based on libgoto query. 00046 fla_tpose_bsize = FLA_Query_blocksizes( FLA_DIMENSION_MIN ); 00047 fla_tpose_swap_bsize = FLA_Query_blocksizes( FLA_DIMENSION_MIN ); 00048 00049 // Create a control tree that performs unblocked variant 2 transposition. 00050 fla_tpose_cntl_unb = FLA_Cntl_tpose_obj_create( FLA_FLAT, 00051 FLA_UNBLOCKED_VARIANT2, 00052 NULL, 00053 NULL, 00054 NULL ); 00055 00056 // Create a control tree that invokes an external implementation of swap. 00057 fla_swap_cntl_blas = FLA_Cntl_swap_obj_create( FLA_FLAT, 00058 FLA_SUBPROBLEM, 00059 NULL, 00060 NULL ); 00061 00062 // Create a control tree that invokes unblocked variant 2 of swap. 00063 fla_swap_cntl_panel = FLA_Cntl_swap_obj_create( FLA_FLAT, 00064 FLA_BLOCKED_VARIANT2, 00065 fla_tpose_swap_bsize, 00066 fla_swap_cntl_blas ); 00067 00068 // Create a control tree that assumes a large matrix argument. 00069 fla_tpose_cntl = FLA_Cntl_tpose_obj_create( FLA_FLAT, 00070 FLA_BLOCKED_VARIANT2, 00071 fla_tpose_bsize, 00072 fla_tpose_cntl_unb, 00073 fla_swap_cntl_panel ); 00074 }