libflame  revision_anchor
Functions | Variables
FLASH_Gemm_cntl_init.c File Reference

(r)

Functions

void FLASH_Gemm_cntl_init ()
 
void FLASH_Gemm_cntl_finalize ()
 

Variables

fla_scal_tflash_scal_cntl
 
fla_gemm_tflash_gemm_cntl_blas
 
fla_gemm_tflash_gemm_cntl_mm_mp
 
fla_gemm_tflash_gemm_cntl_mm_pm
 
fla_gemm_tflash_gemm_cntl_mm_op
 
fla_gemm_tflash_gemm_cntl_mp_pb
 
fla_gemm_tflash_gemm_cntl_mp_ip
 
fla_gemm_tflash_gemm_cntl_pm_bp
 
fla_gemm_tflash_gemm_cntl_pm_ip
 
fla_gemm_tflash_gemm_cntl_op_bp
 
fla_gemm_tflash_gemm_cntl_op_pb
 
fla_gemm_tflash_gemm_cntl_pb_bb
 
fla_gemm_tflash_gemm_cntl_bp_bb
 
fla_gemm_tflash_gemm_cntl_ip_bb
 
fla_gemm_tflash_gemm_cntl_mm
 
fla_gemm_tflash_gemm_cntl_mp
 
fla_gemm_tflash_gemm_cntl_pm
 
fla_gemm_tflash_gemm_cntl_op
 
fla_gemm_tflash_gemm_cntl_pb
 
fla_gemm_tflash_gemm_cntl_bp
 
fla_gemm_tflash_gemm_cntl_ip
 
fla_blocksize_tflash_gemm_bsize
 

Function Documentation

◆ FLASH_Gemm_cntl_finalize()

void FLASH_Gemm_cntl_finalize ( void  )

References FLA_Blocksize_free(), and FLA_Cntl_obj_free().

Referenced by FLA_Cntl_finalize_flash().

131 {
133 
137 
144 
148 
150 }
fla_gemm_t * flash_gemm_cntl_pm_bp
Definition: FLASH_Gemm_cntl_init.c:21
fla_gemm_t * flash_gemm_cntl_ip_bb
Definition: FLASH_Gemm_cntl_init.c:27
fla_gemm_t * flash_gemm_cntl_mm_mp
Definition: FLASH_Gemm_cntl_init.c:16
fla_gemm_t * flash_gemm_cntl_mp_pb
Definition: FLASH_Gemm_cntl_init.c:19
fla_gemm_t * flash_gemm_cntl_pm_ip
Definition: FLASH_Gemm_cntl_init.c:22
fla_gemm_t * flash_gemm_cntl_pb_bb
Definition: FLASH_Gemm_cntl_init.c:25
fla_blocksize_t * flash_gemm_bsize
Definition: FLASH_Gemm_cntl_init.c:37
fla_gemm_t * flash_gemm_cntl_mm_op
Definition: FLASH_Gemm_cntl_init.c:18
fla_gemm_t * flash_gemm_cntl_op_pb
Definition: FLASH_Gemm_cntl_init.c:24
fla_gemm_t * flash_gemm_cntl_bp_bb
Definition: FLASH_Gemm_cntl_init.c:26
void FLA_Blocksize_free(fla_blocksize_t *bp)
Definition: FLA_Blocksize.c:110
fla_gemm_t * flash_gemm_cntl_mm_pm
Definition: FLASH_Gemm_cntl_init.c:17
fla_gemm_t * flash_gemm_cntl_mp_ip
Definition: FLASH_Gemm_cntl_init.c:20
fla_gemm_t * flash_gemm_cntl_op_bp
Definition: FLASH_Gemm_cntl_init.c:23
fla_gemm_t * flash_gemm_cntl_blas
Definition: FLASH_Gemm_cntl_init.c:15
void FLA_Cntl_obj_free(void *cntl)
Definition: FLA_Cntl.c:13

◆ FLASH_Gemm_cntl_init()

void FLASH_Gemm_cntl_init ( void  )

References FLA_Blocksize_create(), FLA_Cntl_gemm_obj_create(), flash_gemm_cntl_bp_bb, flash_gemm_cntl_ip_bb, flash_gemm_cntl_mm_op, flash_gemm_cntl_mp_pb, flash_gemm_cntl_op_pb, flash_gemm_cntl_pb_bb, and flash_gemm_cntl_pm_bp.

Referenced by FLA_Cntl_init_flash().

40 {
41  // Set gemm blocksize for hierarchical storage.
42  flash_gemm_bsize = FLA_Blocksize_create( 1, 1, 1, 1 );
43 
44  // Create a control tree node that executes a gemm subproblem.
46  FLA_SUBPROBLEM,
47  NULL,
48  NULL,
49  NULL );
50 
51  // Create control trees for situations where one dimension is large.
53  FLA_BLOCKED_VARIANT1,
58  FLA_BLOCKED_VARIANT3,
63  FLA_BLOCKED_VARIANT5,
67 
68  // Create control trees for situations where two dimensions are large.
70  FLA_BLOCKED_VARIANT1,
75  FLA_BLOCKED_VARIANT1,
80  FLA_BLOCKED_VARIANT3,
85  FLA_BLOCKED_VARIANT3,
90  FLA_BLOCKED_VARIANT5,
95  FLA_BLOCKED_VARIANT5,
99 
100  // Create control trees for situations where all dimensions are large.
102  FLA_BLOCKED_VARIANT1,
107  FLA_BLOCKED_VARIANT3,
112  FLA_BLOCKED_VARIANT5,
116 
117  // Alias select control trees for convenience, when the caller doesn't
118  // care (as he usually doesn't when partitioning hierarchical matricies)
119  // which order the matrix is partitioned into blocks
127 
128 }
fla_gemm_t * flash_gemm_cntl_pm_bp
Definition: FLASH_Gemm_cntl_init.c:21
fla_scal_t * flash_scal_cntl
Definition: FLASH_Scal_cntl_init.c:16
fla_blocksize_t * FLA_Blocksize_create(dim_t b_s, dim_t b_d, dim_t b_c, dim_t b_z)
Definition: FLA_Blocksize.c:36
fla_gemm_t * flash_gemm_cntl_ip_bb
Definition: FLASH_Gemm_cntl_init.c:27
fla_gemm_t * flash_gemm_cntl_mm_mp
Definition: FLASH_Gemm_cntl_init.c:16
fla_gemm_t * flash_gemm_cntl_bp
Definition: FLASH_Gemm_cntl_init.c:34
fla_gemm_t * flash_gemm_cntl_mp_pb
Definition: FLASH_Gemm_cntl_init.c:19
fla_gemm_t * flash_gemm_cntl_pm_ip
Definition: FLASH_Gemm_cntl_init.c:22
fla_gemm_t * flash_gemm_cntl_pb_bb
Definition: FLASH_Gemm_cntl_init.c:25
fla_blocksize_t * flash_gemm_bsize
Definition: FLASH_Gemm_cntl_init.c:37
fla_gemm_t * flash_gemm_cntl_mm_op
Definition: FLASH_Gemm_cntl_init.c:18
fla_gemm_t * flash_gemm_cntl_op_pb
Definition: FLASH_Gemm_cntl_init.c:24
fla_gemm_t * flash_gemm_cntl_mp
Definition: FLASH_Gemm_cntl_init.c:30
fla_gemm_t * flash_gemm_cntl_bp_bb
Definition: FLASH_Gemm_cntl_init.c:26
fla_gemm_t * flash_gemm_cntl_pb
Definition: FLASH_Gemm_cntl_init.c:33
fla_gemm_t * flash_gemm_cntl_mm_pm
Definition: FLASH_Gemm_cntl_init.c:17
fla_gemm_t * flash_gemm_cntl_mp_ip
Definition: FLASH_Gemm_cntl_init.c:20
fla_gemm_t * flash_gemm_cntl_pm
Definition: FLASH_Gemm_cntl_init.c:31
fla_gemm_t * flash_gemm_cntl_op_bp
Definition: FLASH_Gemm_cntl_init.c:23
fla_gemm_t * flash_gemm_cntl_blas
Definition: FLASH_Gemm_cntl_init.c:15
fla_gemm_t * FLA_Cntl_gemm_obj_create(FLA_Matrix_type matrix_type, int variant, fla_blocksize_t *blocksize, fla_scal_t *sub_scal, fla_gemm_t *sub_gemm)
Definition: FLA_Cntl_blas3.c:17
fla_gemm_t * flash_gemm_cntl_op
Definition: FLASH_Gemm_cntl_init.c:32
fla_gemm_t * flash_gemm_cntl_ip
Definition: FLASH_Gemm_cntl_init.c:35
fla_gemm_t * flash_gemm_cntl_mm
Definition: FLASH_Gemm_cntl_init.c:29

Variable Documentation

◆ flash_gemm_bsize

fla_blocksize_t* flash_gemm_bsize

◆ flash_gemm_cntl_blas

fla_gemm_t* flash_gemm_cntl_blas

Referenced by FLA_Gemm_internal().

◆ flash_gemm_cntl_bp

fla_gemm_t* flash_gemm_cntl_bp

◆ flash_gemm_cntl_bp_bb

fla_gemm_t* flash_gemm_cntl_bp_bb

Referenced by FLASH_Gemm_cntl_init().

◆ flash_gemm_cntl_ip

fla_gemm_t* flash_gemm_cntl_ip

◆ flash_gemm_cntl_ip_bb

fla_gemm_t* flash_gemm_cntl_ip_bb

Referenced by FLASH_Gemm_cntl_init().

◆ flash_gemm_cntl_mm

fla_gemm_t* flash_gemm_cntl_mm

◆ flash_gemm_cntl_mm_mp

fla_gemm_t* flash_gemm_cntl_mm_mp

◆ flash_gemm_cntl_mm_op

fla_gemm_t* flash_gemm_cntl_mm_op

Referenced by FLASH_Gemm_cntl_init().

◆ flash_gemm_cntl_mm_pm

fla_gemm_t* flash_gemm_cntl_mm_pm

◆ flash_gemm_cntl_mp

fla_gemm_t* flash_gemm_cntl_mp

◆ flash_gemm_cntl_mp_ip

fla_gemm_t* flash_gemm_cntl_mp_ip

◆ flash_gemm_cntl_mp_pb

fla_gemm_t* flash_gemm_cntl_mp_pb

Referenced by FLASH_Gemm_cntl_init().

◆ flash_gemm_cntl_op

fla_gemm_t* flash_gemm_cntl_op

◆ flash_gemm_cntl_op_bp

fla_gemm_t* flash_gemm_cntl_op_bp

◆ flash_gemm_cntl_op_pb

fla_gemm_t* flash_gemm_cntl_op_pb

Referenced by FLASH_Gemm_cntl_init().

◆ flash_gemm_cntl_pb

fla_gemm_t* flash_gemm_cntl_pb

◆ flash_gemm_cntl_pb_bb

fla_gemm_t* flash_gemm_cntl_pb_bb

Referenced by FLASH_Gemm_cntl_init().

◆ flash_gemm_cntl_pm

fla_gemm_t* flash_gemm_cntl_pm

◆ flash_gemm_cntl_pm_bp

fla_gemm_t* flash_gemm_cntl_pm_bp

Referenced by FLASH_Gemm_cntl_init().

◆ flash_gemm_cntl_pm_ip

fla_gemm_t* flash_gemm_cntl_pm_ip

◆ flash_scal_cntl

fla_scal_t* flash_scal_cntl