libflame  revision_anchor
Functions | Variables
FLA_Gemm_cntl_init.c File Reference

(r)

Functions

void FLA_Gemm_cntl_init ()
 
void FLA_Gemm_cntl_finalize ()
 

Variables

fla_scal_tfla_scal_cntl_blas
 
fla_gemm_tfla_gemm_cntl_blas
 
fla_gemm_tfla_gemm_cntl_pb_bb
 
fla_gemm_tfla_gemm_cntl_bp_bb
 
fla_gemm_tfla_gemm_cntl_ip_bb
 
fla_gemm_tfla_gemm_cntl_mp_ip
 
fla_gemm_tfla_gemm_cntl_mp_ip_bb
 
fla_gemm_tfla_gemm_cntl_op_bp
 
fla_gemm_tfla_gemm_cntl_op_bp_bb
 
fla_gemm_tfla_gemm_cntl_pm_ip
 
fla_gemm_tfla_gemm_cntl_pm_ip_bb
 
fla_gemm_tfla_gemm_cntl_op_pb
 
fla_gemm_tfla_gemm_cntl_op_pb_bb
 
fla_gemm_tfla_gemm_cntl_mp_pb
 
fla_gemm_tfla_gemm_cntl_mp_pb_bb
 
fla_gemm_tfla_gemm_cntl_pm_bp
 
fla_gemm_tfla_gemm_cntl_pm_bp_bb
 
fla_gemm_tfla_gemm_cntl_mm_pm
 
fla_gemm_tfla_gemm_cntl_mm_pm_ip
 
fla_gemm_tfla_gemm_cntl_mm_pm_ip_bb
 
fla_gemm_tfla_gemm_cntl_mm_mp
 
fla_gemm_tfla_gemm_cntl_mm_mp_ip
 
fla_gemm_tfla_gemm_cntl_mm_mp_ip_bb
 
fla_gemm_tfla_gemm_cntl_mm_op
 
fla_gemm_tfla_gemm_cntl_mm_op_bp
 
fla_gemm_tfla_gemm_cntl_mm_op_bp_bb
 
fla_blocksize_tfla_gemm_var1_bsize
 
fla_blocksize_tfla_gemm_var3_bsize
 
fla_blocksize_tfla_gemm_var5_bsize
 

Function Documentation

◆ FLA_Gemm_cntl_finalize()

void FLA_Gemm_cntl_finalize ( void  )
190 {
192 
196 
209 
219 
223 }
void FLA_Cntl_obj_free(void *cntl)
Definition: FLA_Cntl.c:13
fla_gemm_t * fla_gemm_cntl_mp_ip
Definition: FLA_Gemm_cntl_init.c:21
fla_gemm_t * fla_gemm_cntl_op_pb_bb
Definition: FLA_Gemm_cntl_init.c:28
fla_gemm_t * fla_gemm_cntl_pm_bp_bb
Definition: FLA_Gemm_cntl_init.c:32
fla_gemm_t * fla_gemm_cntl_mm_op
Definition: FLA_Gemm_cntl_init.c:40
fla_gemm_t * fla_gemm_cntl_mp_pb_bb
Definition: FLA_Gemm_cntl_init.c:30
fla_gemm_t * fla_gemm_cntl_pm_bp
Definition: FLA_Gemm_cntl_init.c:31
fla_gemm_t * fla_gemm_cntl_mm_op_bp
Definition: FLA_Gemm_cntl_init.c:41
fla_gemm_t * fla_gemm_cntl_op_pb
Definition: FLA_Gemm_cntl_init.c:27
fla_gemm_t * fla_gemm_cntl_mm_op_bp_bb
Definition: FLA_Gemm_cntl_init.c:42
fla_gemm_t * fla_gemm_cntl_blas
Definition: FLA_Gemm_cntl_init.c:15
fla_gemm_t * fla_gemm_cntl_pm_ip_bb
Definition: FLA_Gemm_cntl_init.c:26
fla_gemm_t * fla_gemm_cntl_pm_ip
Definition: FLA_Gemm_cntl_init.c:25
fla_blocksize_t * fla_gemm_var3_bsize
Definition: FLA_Gemm_cntl_init.c:45
fla_gemm_t * fla_gemm_cntl_mp_ip_bb
Definition: FLA_Gemm_cntl_init.c:22
fla_gemm_t * fla_gemm_cntl_pb_bb
Definition: FLA_Gemm_cntl_init.c:17
fla_gemm_t * fla_gemm_cntl_mm_mp_ip
Definition: FLA_Gemm_cntl_init.c:38
fla_blocksize_t * fla_gemm_var1_bsize
Definition: FLA_Gemm_cntl_init.c:44
fla_gemm_t * fla_gemm_cntl_mm_mp_ip_bb
Definition: FLA_Gemm_cntl_init.c:39
fla_gemm_t * fla_gemm_cntl_bp_bb
Definition: FLA_Gemm_cntl_init.c:18
fla_gemm_t * fla_gemm_cntl_ip_bb
Definition: FLA_Gemm_cntl_init.c:19
fla_gemm_t * fla_gemm_cntl_op_bp
Definition: FLA_Gemm_cntl_init.c:23
fla_gemm_t * fla_gemm_cntl_mm_pm
Definition: FLA_Gemm_cntl_init.c:34
fla_gemm_t * fla_gemm_cntl_mp_pb
Definition: FLA_Gemm_cntl_init.c:29
fla_gemm_t * fla_gemm_cntl_mm_pm_ip
Definition: FLA_Gemm_cntl_init.c:35
fla_gemm_t * fla_gemm_cntl_mm_pm_ip_bb
Definition: FLA_Gemm_cntl_init.c:36
fla_gemm_t * fla_gemm_cntl_op_bp_bb
Definition: FLA_Gemm_cntl_init.c:24
fla_gemm_t * fla_gemm_cntl_mm_mp
Definition: FLA_Gemm_cntl_init.c:37
fla_blocksize_t * fla_gemm_var5_bsize
Definition: FLA_Gemm_cntl_init.c:46
void FLA_Blocksize_free(fla_blocksize_t *bp)
Definition: FLA_Blocksize.c:110

References FLA_Blocksize_free(), FLA_Cntl_obj_free(), fla_gemm_cntl_blas, fla_gemm_cntl_bp_bb, fla_gemm_cntl_ip_bb, fla_gemm_cntl_mm_mp, fla_gemm_cntl_mm_mp_ip, fla_gemm_cntl_mm_mp_ip_bb, fla_gemm_cntl_mm_op, fla_gemm_cntl_mm_op_bp, fla_gemm_cntl_mm_op_bp_bb, fla_gemm_cntl_mm_pm, fla_gemm_cntl_mm_pm_ip, fla_gemm_cntl_mm_pm_ip_bb, fla_gemm_cntl_mp_ip, fla_gemm_cntl_mp_ip_bb, fla_gemm_cntl_mp_pb, fla_gemm_cntl_mp_pb_bb, fla_gemm_cntl_op_bp, fla_gemm_cntl_op_bp_bb, fla_gemm_cntl_op_pb, fla_gemm_cntl_op_pb_bb, fla_gemm_cntl_pb_bb, fla_gemm_cntl_pm_bp, fla_gemm_cntl_pm_bp_bb, fla_gemm_cntl_pm_ip, fla_gemm_cntl_pm_ip_bb, fla_gemm_var1_bsize, fla_gemm_var3_bsize, and fla_gemm_var5_bsize.

Referenced by FLA_Cntl_finalize_flamec().

◆ FLA_Gemm_cntl_init()

void FLA_Gemm_cntl_init ( void  )
49 {
50  // Set blocksizes with default values for conventional storage.
51  fla_gemm_var1_bsize = FLA_Query_blocksizes( FLA_DIMENSION_MIN );
52  fla_gemm_var3_bsize = FLA_Query_blocksizes( FLA_DIMENSION_MIN );
53  fla_gemm_var5_bsize = FLA_Query_blocksizes( FLA_DIMENSION_MIN );
54 
55  // Create a control tree node that executes a gemm subproblem.
57  FLA_SUBPROBLEM,
58  NULL,
59  NULL,
60  NULL );
61 
62  // Create control trees for situations where one dimension is large.
64  FLA_BLOCKED_VARIANT1,
69  FLA_BLOCKED_VARIANT3,
74  FLA_BLOCKED_VARIANT5,
78 
79  // Create control trees for situations where two dimensions are large.
81  FLA_BLOCKED_VARIANT1,
86  FLA_BLOCKED_VARIANT1,
91  FLA_BLOCKED_VARIANT1,
96  FLA_BLOCKED_VARIANT1,
101  FLA_BLOCKED_VARIANT3,
106  FLA_BLOCKED_VARIANT3,
111  FLA_BLOCKED_VARIANT3,
116  FLA_BLOCKED_VARIANT3,
121  FLA_BLOCKED_VARIANT5,
126  FLA_BLOCKED_VARIANT5,
131  FLA_BLOCKED_VARIANT5,
136  FLA_BLOCKED_VARIANT5,
140 
141  // Create control trees for situations where all dimensions are large.
143  FLA_BLOCKED_VARIANT1,
148  FLA_BLOCKED_VARIANT1,
153  FLA_BLOCKED_VARIANT1,
158  FLA_BLOCKED_VARIANT3,
163  FLA_BLOCKED_VARIANT3,
168  FLA_BLOCKED_VARIANT3,
173  FLA_BLOCKED_VARIANT5,
178  FLA_BLOCKED_VARIANT5,
183  FLA_BLOCKED_VARIANT5,
187 }
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_scal_t * fla_scal_cntl_blas
Definition: FLA_Scal_cntl_init.c:13
fla_blocksize_t * FLA_Query_blocksizes(FLA_Dimension dim)
Definition: FLA_Blocksize.c:142

References FLA_Cntl_gemm_obj_create(), fla_gemm_cntl_blas, fla_gemm_cntl_bp_bb, fla_gemm_cntl_ip_bb, fla_gemm_cntl_mm_mp, fla_gemm_cntl_mm_mp_ip, fla_gemm_cntl_mm_mp_ip_bb, fla_gemm_cntl_mm_op, fla_gemm_cntl_mm_op_bp, fla_gemm_cntl_mm_op_bp_bb, fla_gemm_cntl_mm_pm, fla_gemm_cntl_mm_pm_ip, fla_gemm_cntl_mm_pm_ip_bb, fla_gemm_cntl_mp_ip, fla_gemm_cntl_mp_ip_bb, fla_gemm_cntl_mp_pb, fla_gemm_cntl_mp_pb_bb, fla_gemm_cntl_op_bp, fla_gemm_cntl_op_bp_bb, fla_gemm_cntl_op_pb, fla_gemm_cntl_op_pb_bb, fla_gemm_cntl_pb_bb, fla_gemm_cntl_pm_bp, fla_gemm_cntl_pm_bp_bb, fla_gemm_cntl_pm_ip, fla_gemm_cntl_pm_ip_bb, fla_gemm_var1_bsize, fla_gemm_var3_bsize, fla_gemm_var5_bsize, FLA_Query_blocksizes(), and fla_scal_cntl_blas.

Referenced by FLA_Cntl_init_flamec().

Variable Documentation

◆ fla_gemm_cntl_blas

fla_gemm_t* fla_gemm_cntl_blas

◆ fla_gemm_cntl_bp_bb

fla_gemm_t* fla_gemm_cntl_bp_bb

◆ fla_gemm_cntl_ip_bb

fla_gemm_t* fla_gemm_cntl_ip_bb

◆ fla_gemm_cntl_mm_mp

fla_gemm_t* fla_gemm_cntl_mm_mp

◆ fla_gemm_cntl_mm_mp_ip

fla_gemm_t* fla_gemm_cntl_mm_mp_ip

◆ fla_gemm_cntl_mm_mp_ip_bb

fla_gemm_t* fla_gemm_cntl_mm_mp_ip_bb

◆ fla_gemm_cntl_mm_op

fla_gemm_t* fla_gemm_cntl_mm_op

◆ fla_gemm_cntl_mm_op_bp

fla_gemm_t* fla_gemm_cntl_mm_op_bp

◆ fla_gemm_cntl_mm_op_bp_bb

fla_gemm_t* fla_gemm_cntl_mm_op_bp_bb

◆ fla_gemm_cntl_mm_pm

fla_gemm_t* fla_gemm_cntl_mm_pm

◆ fla_gemm_cntl_mm_pm_ip

fla_gemm_t* fla_gemm_cntl_mm_pm_ip

◆ fla_gemm_cntl_mm_pm_ip_bb

fla_gemm_t* fla_gemm_cntl_mm_pm_ip_bb

◆ fla_gemm_cntl_mp_ip

fla_gemm_t* fla_gemm_cntl_mp_ip

◆ fla_gemm_cntl_mp_ip_bb

fla_gemm_t* fla_gemm_cntl_mp_ip_bb

◆ fla_gemm_cntl_mp_pb

fla_gemm_t* fla_gemm_cntl_mp_pb

◆ fla_gemm_cntl_mp_pb_bb

fla_gemm_t* fla_gemm_cntl_mp_pb_bb

◆ fla_gemm_cntl_op_bp

fla_gemm_t* fla_gemm_cntl_op_bp

◆ fla_gemm_cntl_op_bp_bb

fla_gemm_t* fla_gemm_cntl_op_bp_bb

◆ fla_gemm_cntl_op_pb

fla_gemm_t* fla_gemm_cntl_op_pb

◆ fla_gemm_cntl_op_pb_bb

fla_gemm_t* fla_gemm_cntl_op_pb_bb

◆ fla_gemm_cntl_pb_bb

fla_gemm_t* fla_gemm_cntl_pb_bb

◆ fla_gemm_cntl_pm_bp

fla_gemm_t* fla_gemm_cntl_pm_bp

◆ fla_gemm_cntl_pm_bp_bb

fla_gemm_t* fla_gemm_cntl_pm_bp_bb

◆ fla_gemm_cntl_pm_ip

fla_gemm_t* fla_gemm_cntl_pm_ip

◆ fla_gemm_cntl_pm_ip_bb

fla_gemm_t* fla_gemm_cntl_pm_ip_bb

◆ fla_gemm_var1_bsize

fla_blocksize_t* fla_gemm_var1_bsize

◆ fla_gemm_var3_bsize

fla_blocksize_t* fla_gemm_var3_bsize

◆ fla_gemm_var5_bsize

fla_blocksize_t* fla_gemm_var5_bsize

◆ fla_scal_cntl_blas

fla_scal_t* fla_scal_cntl_blas
extern

Referenced by FLA_Gemm_cntl_init().