libflame  12600
Functions | Variables
FLA_Transpose_cntl_init.c File Reference

(r12600)

Functions

void FLA_Transpose_cntl_init ()
void FLA_Transpose_cntl_finalize ()

Variables

fla_swap_tfla_swap_cntl_panel
fla_swap_tfla_swap_cntl_blas
fla_tpose_tfla_tpose_cntl
fla_tpose_tfla_tpose_cntl_unb
fla_blocksize_tfla_tpose_bsize
fla_blocksize_tfla_tpose_swap_bsize

Function Documentation

void FLA_Transpose_cntl_finalize ( void  )
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().

{
    // Set blocksizes based on libgoto query.
    fla_tpose_bsize      = FLA_Query_blocksizes( FLA_DIMENSION_MIN );
    fla_tpose_swap_bsize = FLA_Query_blocksizes( FLA_DIMENSION_MIN );

    // Create a control tree that performs unblocked variant 2 transposition.
    fla_tpose_cntl_unb   = FLA_Cntl_tpose_obj_create( FLA_FLAT, 
                                                      FLA_UNBLOCKED_VARIANT2,
                                                      NULL,
                                                      NULL,
                                                      NULL );

    // Create a control tree that invokes an external implementation of swap.
    fla_swap_cntl_blas   = FLA_Cntl_swap_obj_create( FLA_FLAT,
                                                     FLA_SUBPROBLEM,
                                                     NULL,
                                                     NULL );

    // Create a control tree that invokes unblocked variant 2 of swap.
    fla_swap_cntl_panel  = FLA_Cntl_swap_obj_create( FLA_FLAT,
                                                     FLA_BLOCKED_VARIANT2, 
                                                     fla_tpose_swap_bsize,
                                                     fla_swap_cntl_blas );

    // Create a control tree that assumes a large matrix argument.
    fla_tpose_cntl       = FLA_Cntl_tpose_obj_create( FLA_FLAT,
                                                      FLA_BLOCKED_VARIANT2, 
                                                      fla_tpose_bsize,
                                                      fla_tpose_cntl_unb,
                                                      fla_swap_cntl_panel );
}

Variable Documentation