libflame  12600
Functions | Variables
FLA_Syr2k_cntl_init.c File Reference

(r12600)

Functions

void FLA_Syr2k_cntl_init ()
void FLA_Syr2k_cntl_finalize ()

Variables

fla_scalr_tfla_scalr_cntl_blas
fla_gemm_tfla_gemm_cntl_blas
fla_syr2k_tfla_syr2k_cntl_blas
fla_syr2k_tfla_syr2k_cntl_ip
fla_syr2k_tfla_syr2k_cntl_op
fla_syr2k_tfla_syr2k_cntl_mm
fla_blocksize_tfla_syr2k_var3_bsize
fla_blocksize_tfla_syr2k_var9_bsize

Function Documentation

void FLA_Syr2k_cntl_finalize ( void  )
void FLA_Syr2k_cntl_init ( void  )

References FLA_Cntl_syr2k_obj_create(), and FLA_Query_blocksizes().

Referenced by FLA_Cntl_init_flamec().

{
    // Set blocksizes with default values for conventional storage.
    fla_syr2k_var3_bsize = FLA_Query_blocksizes( FLA_DIMENSION_MIN );
    fla_syr2k_var9_bsize = FLA_Query_blocksizes( FLA_DIMENSION_MIN );

    // Create a control tree that assumes A and B are b x b blocks.
    fla_syr2k_cntl_blas  = FLA_Cntl_syr2k_obj_create( FLA_FLAT,
                                                      FLA_SUBPROBLEM,
                                                      NULL,
                                                      NULL,
                                                      NULL,
                                                      NULL,
                                                      NULL );

    // Create a control tree that assumes A and B form an inner panel product.
    fla_syr2k_cntl_ip    = FLA_Cntl_syr2k_obj_create( FLA_FLAT,
                                                      FLA_BLOCKED_VARIANT9,
                                                      fla_syr2k_var9_bsize,
                                                      fla_scalr_cntl_blas,
                                                      fla_syr2k_cntl_blas,
                                                      NULL,
                                                      NULL );

    // Create a control tree that assumes A and B form an outer panel product.
    fla_syr2k_cntl_op    = FLA_Cntl_syr2k_obj_create( FLA_FLAT,
                                                      FLA_BLOCKED_VARIANT3,
                                                      fla_syr2k_var3_bsize,
                                                      fla_scalr_cntl_blas,
                                                      fla_syr2k_cntl_blas,
                                                      fla_gemm_cntl_blas,
                                                      fla_gemm_cntl_blas );

    // Create a control tree that assumes A and B are both large.
    fla_syr2k_cntl_mm    = FLA_Cntl_syr2k_obj_create( FLA_FLAT,
                                                      FLA_BLOCKED_VARIANT9,
                                                      fla_syr2k_var9_bsize,
                                                      fla_scalr_cntl_blas,
                                                      fla_syr2k_cntl_op,
                                                      NULL,
                                                      NULL );
}

Variable Documentation