mirror of
https://github.com/amd/blis.git
synced 2026-05-11 09:39:59 +00:00
Removed densify argument to packm_cntl_obj_create().
Details: - Removed the "densify" bool_t argument to bli_packm_cntl_obj_create(). This argument was inserted very early in BLIS's development, when it was anticipated that the developer may sometimes wish to pack a Hermitian, symmetric, or triangular matrix without making it dense. But as it turns out, if we are packing a matrix, we always want to make it dense in some way or another due to the fact that the micro- kernel only multiplies dense micro-panels. Thus, unless/until there is a real need for the feature, it seems reasonable to remove it from the packm_cntl API.
This commit is contained in:
@@ -98,17 +98,15 @@ void bli_packm_cntl_init()
|
||||
BLIS_DEFAULT_NR_Z, 0 );
|
||||
|
||||
// Generally speaking, the BLIS_PACKED_ROWS and BLIS_PACKED_COLUMNS
|
||||
// are used by the level-2 operations, and thus densification is not
|
||||
// necessary. These schemas amount to simple copies to row or column
|
||||
// storage. These simple schemas may be used by level-3 operations,
|
||||
// but they should never be used for matrices with structure (since
|
||||
// they do not densify).
|
||||
// are used by the level-2 operations. These schemas amount to simple
|
||||
// copies to row or column storage. These simple schemas may be used
|
||||
// by level-3 operations, but they should never be used for matrices
|
||||
// with structure (since they do not densify).
|
||||
// The BLIS_PACKED_ROW_PANELS and BLIS_PACKED_COL_PANELS schemas are
|
||||
// used only in level-3 operations. They pack to (typically) skinny
|
||||
// row and column panels, where the width of the panel is determined
|
||||
// by register blocksizes. They are configured to densify matrices
|
||||
// with structure, though they can also be used on matrices that
|
||||
// are already dense and/or have no structure.
|
||||
// by register blocksizes. It is assumed that matrices with structure
|
||||
// will be densified.
|
||||
|
||||
// Create control trees to pack by rows.
|
||||
packm_cntl_row
|
||||
@@ -117,7 +115,6 @@ void bli_packm_cntl_init()
|
||||
BLIS_VARIANT1, // When packing to rows:
|
||||
packm_mult_nvec, // - nvec multiple is used for m dimension
|
||||
packm_mult_ldim, // - ldim multiple is used for n dimension
|
||||
FALSE, // do NOT densify structure
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // do NOT iterate backwards if upper
|
||||
FALSE, // do NOT iterate backwards if lower
|
||||
@@ -132,7 +129,6 @@ void bli_packm_cntl_init()
|
||||
BLIS_VARIANT1, // When packing to columns:
|
||||
packm_mult_ldim, // - ldim multiple is used for m dimension
|
||||
packm_mult_nvec, // - nvec multiple is used for n dimension
|
||||
FALSE, // do NOT densify structure
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // do NOT iterate backwards if upper
|
||||
FALSE, // do NOT iterate backwards if lower
|
||||
@@ -162,7 +158,6 @@ packm_t* bli_packm_cntl_obj_create( impl_t impl_type,
|
||||
varnum_t var_num,
|
||||
blksz_t* mr,
|
||||
blksz_t* nr,
|
||||
bool_t does_densify,
|
||||
bool_t does_invert_diag,
|
||||
bool_t rev_iter_if_upper,
|
||||
bool_t rev_iter_if_lower,
|
||||
@@ -177,7 +172,6 @@ packm_t* bli_packm_cntl_obj_create( impl_t impl_type,
|
||||
cntl->var_num = var_num;
|
||||
cntl->mr = mr;
|
||||
cntl->nr = nr;
|
||||
cntl->does_densify = does_densify;
|
||||
cntl->does_invert_diag = does_invert_diag;
|
||||
cntl->rev_iter_if_upper = rev_iter_if_upper;
|
||||
cntl->rev_iter_if_lower = rev_iter_if_lower;
|
||||
@@ -192,7 +186,6 @@ void bli_packm_cntl_obj_init( packm_t* cntl,
|
||||
varnum_t var_num,
|
||||
blksz_t* mr,
|
||||
blksz_t* nr,
|
||||
bool_t does_densify,
|
||||
bool_t does_invert_diag,
|
||||
bool_t rev_iter_if_upper,
|
||||
bool_t rev_iter_if_lower,
|
||||
@@ -203,7 +196,6 @@ void bli_packm_cntl_obj_init( packm_t* cntl,
|
||||
cntl->var_num = var_num;
|
||||
cntl->mr = mr;
|
||||
cntl->nr = nr;
|
||||
cntl->does_densify = does_densify;
|
||||
cntl->does_invert_diag = does_invert_diag;
|
||||
cntl->rev_iter_if_upper = rev_iter_if_upper;
|
||||
cntl->rev_iter_if_lower = rev_iter_if_lower;
|
||||
|
||||
@@ -38,7 +38,6 @@ struct packm_s
|
||||
varnum_t var_num;
|
||||
blksz_t* mr;
|
||||
blksz_t* nr;
|
||||
bool_t does_densify;
|
||||
bool_t does_invert_diag;
|
||||
bool_t rev_iter_if_upper;
|
||||
bool_t rev_iter_if_lower;
|
||||
@@ -50,7 +49,6 @@ typedef struct packm_s packm_t;
|
||||
#define cntl_mr( cntl ) cntl->mr
|
||||
#define cntl_nr( cntl ) cntl->nr
|
||||
|
||||
#define cntl_does_densify( cntl ) cntl->does_densify
|
||||
#define cntl_does_invert_diag( cntl ) cntl->does_invert_diag
|
||||
#define cntl_rev_iter_if_upper( cntl ) cntl->rev_iter_if_upper
|
||||
#define cntl_rev_iter_if_lower( cntl ) cntl->rev_iter_if_lower
|
||||
@@ -71,7 +69,6 @@ packm_t* bli_packm_cntl_obj_create( impl_t impl_type,
|
||||
varnum_t var_num,
|
||||
blksz_t* mr_def,
|
||||
blksz_t* nr_def,
|
||||
bool_t does_densify,
|
||||
bool_t does_invert_diag,
|
||||
bool_t rev_iter_if_upper,
|
||||
bool_t rev_iter_if_lower,
|
||||
@@ -82,7 +79,6 @@ void bli_packm_cntl_obj_init( packm_t* cntl,
|
||||
varnum_t var_num,
|
||||
blksz_t* mr_def,
|
||||
blksz_t* nr_def,
|
||||
bool_t does_densify,
|
||||
bool_t does_invert_diag,
|
||||
bool_t rev_iter_if_upper,
|
||||
bool_t rev_iter_if_lower,
|
||||
|
||||
@@ -44,7 +44,6 @@ void bli_packm_init( obj_t* a,
|
||||
// block of memory from the memory allocator, if such a block of memory
|
||||
// has not already been allocated previously.
|
||||
|
||||
bool_t needs_densify;
|
||||
invdiag_t invert_diag;
|
||||
pack_t pack_schema;
|
||||
packord_t pack_ord_if_up;
|
||||
@@ -131,7 +130,6 @@ void bli_packm_init( obj_t* a,
|
||||
// Extract various fields from the control tree and pass them in
|
||||
// explicitly into _init_pack(). This allows external code generators
|
||||
// the option of bypassing usage of control trees altogether.
|
||||
needs_densify = cntl_does_densify( cntl );
|
||||
pack_schema = cntl_pack_schema( cntl );
|
||||
pack_buf_type = cntl_pack_buf_type( cntl );
|
||||
mr = cntl_mr( cntl );
|
||||
@@ -147,8 +145,7 @@ void bli_packm_init( obj_t* a,
|
||||
else pack_ord_if_lo = BLIS_PACK_FWD_IF_LOWER;
|
||||
|
||||
// Initialize object p for the final packed matrix.
|
||||
bli_packm_init_pack( needs_densify,
|
||||
invert_diag,
|
||||
bli_packm_init_pack( invert_diag,
|
||||
pack_schema,
|
||||
pack_ord_if_up,
|
||||
pack_ord_if_lo,
|
||||
@@ -162,8 +159,7 @@ void bli_packm_init( obj_t* a,
|
||||
}
|
||||
|
||||
|
||||
void bli_packm_init_pack( bool_t densify,
|
||||
invdiag_t invert_diag,
|
||||
void bli_packm_init_pack( invdiag_t invert_diag,
|
||||
pack_t pack_schema,
|
||||
packord_t pack_ord_if_up,
|
||||
packord_t pack_ord_if_lo,
|
||||
@@ -204,7 +200,8 @@ void bli_packm_init_pack( bool_t densify,
|
||||
// Then, we adjust the properties of p when c needs a transposition.
|
||||
// We negate the diagonal offset, and if c is upper- or lower-stored,
|
||||
// we either toggle the uplo of p.
|
||||
// Finally, if we are going to densify c, we mark p as dense.
|
||||
// Finally, if we mark p as dense since we assume that all matrices,
|
||||
// regardless of structure, will be densified.
|
||||
bli_obj_set_dims_with_trans( transc, m_c, n_c, *p );
|
||||
bli_obj_set_conjtrans( BLIS_NO_TRANSPOSE, *p );
|
||||
if ( bli_does_trans( transc ) )
|
||||
@@ -213,7 +210,7 @@ void bli_packm_init_pack( bool_t densify,
|
||||
if ( bli_obj_is_upper_or_lower( *c ) )
|
||||
bli_obj_toggle_uplo( *p );
|
||||
}
|
||||
if ( densify ) bli_obj_set_uplo( BLIS_DENSE, *p );
|
||||
bli_obj_set_uplo( BLIS_DENSE, *p );
|
||||
|
||||
// Reset the view offsets to (0,0).
|
||||
bli_obj_set_offs( 0, 0, *p );
|
||||
|
||||
@@ -36,8 +36,7 @@ void bli_packm_init( obj_t* a,
|
||||
obj_t* p,
|
||||
packm_t* cntl );
|
||||
|
||||
void bli_packm_init_pack( bool_t densify,
|
||||
invdiag_t invert_diag,
|
||||
void bli_packm_init_pack( invdiag_t invert_diag,
|
||||
pack_t pack_schema,
|
||||
packord_t pack_ord_if_up,
|
||||
packord_t pack_ord_if_lo,
|
||||
|
||||
@@ -42,7 +42,6 @@ typedef void (*FUNCPTR_T)(
|
||||
diag_t diagc,
|
||||
uplo_t uploc,
|
||||
trans_t transc,
|
||||
bool_t densify,
|
||||
dim_t m,
|
||||
dim_t n,
|
||||
dim_t m_max,
|
||||
@@ -66,7 +65,6 @@ void bli_packm_unb_var1( obj_t* c,
|
||||
diag_t diagc = bli_obj_diag( *c );
|
||||
uplo_t uploc = bli_obj_uplo( *c );
|
||||
trans_t transc = bli_obj_conjtrans_status( *c );
|
||||
bool_t densify;
|
||||
|
||||
dim_t m_p = bli_obj_length( *p );
|
||||
dim_t n_p = bli_obj_width( *p );
|
||||
@@ -85,9 +83,6 @@ void bli_packm_unb_var1( obj_t* c,
|
||||
|
||||
FUNCPTR_T f;
|
||||
|
||||
// Set densify based on the uplo property of p.
|
||||
if ( bli_obj_is_dense( *p ) ) densify = TRUE;
|
||||
else densify = FALSE;
|
||||
|
||||
// This variant assumes that the computational kernel will always apply
|
||||
// the alpha scalar of the higher-level operation. Thus, we use BLIS_ONE
|
||||
@@ -106,7 +101,6 @@ void bli_packm_unb_var1( obj_t* c,
|
||||
diagc,
|
||||
uploc,
|
||||
transc,
|
||||
densify,
|
||||
m_p,
|
||||
n_p,
|
||||
m_max_p,
|
||||
@@ -127,7 +121,6 @@ void PASTEMAC(ch,varname)( \
|
||||
diag_t diagc, \
|
||||
uplo_t uploc, \
|
||||
trans_t transc, \
|
||||
bool_t densify, \
|
||||
dim_t m, \
|
||||
dim_t n, \
|
||||
dim_t m_max, \
|
||||
@@ -159,10 +152,9 @@ void PASTEMAC(ch,varname)( \
|
||||
\
|
||||
/* If uploc is upper or lower, then the structure of c is necessarily
|
||||
non-dense (ie: Hermitian, symmetric, or triangular, where part of the
|
||||
matrix is unstored). In these cases, when indicated by the densify
|
||||
parameter, we want to fill in the unstored part of the matrix. How
|
||||
this is done depends on the structure of c. */ \
|
||||
if ( bli_is_upper_or_lower( uploc ) && densify == TRUE ) \
|
||||
matrix is unstored). In these cases, we want to fill in the unstored
|
||||
part of the matrix. How this is done depends on the structure of c. */ \
|
||||
if ( bli_is_upper_or_lower( uploc ) ) \
|
||||
{ \
|
||||
/* The Hermitian and symmetric cases are almost identical, so we
|
||||
handle them in one conditional block. */ \
|
||||
|
||||
@@ -46,7 +46,6 @@ void PASTEMAC(ch,varname)( \
|
||||
diag_t diagc, \
|
||||
uplo_t uploc, \
|
||||
trans_t transc, \
|
||||
bool_t densify, \
|
||||
dim_t m, \
|
||||
dim_t n, \
|
||||
dim_t m_max, \
|
||||
|
||||
@@ -131,7 +131,6 @@ void bli_gemm3m_cntl_init()
|
||||
BLIS_VARIANT2,
|
||||
gemm3m_mr,
|
||||
gemm3m_kr,
|
||||
TRUE, // densify; used by hemm/symm
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
@@ -144,7 +143,6 @@ void bli_gemm3m_cntl_init()
|
||||
BLIS_VARIANT2,
|
||||
gemm3m_kr,
|
||||
gemm3m_nr,
|
||||
TRUE, // densify; used by hemm/symm
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
|
||||
@@ -128,7 +128,6 @@ void bli_gemm4m_cntl_init()
|
||||
BLIS_VARIANT2,
|
||||
gemm4m_mr,
|
||||
gemm4m_kr,
|
||||
TRUE, // densify; used by hemm/symm
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
@@ -141,7 +140,6 @@ void bli_gemm4m_cntl_init()
|
||||
BLIS_VARIANT2,
|
||||
gemm4m_kr,
|
||||
gemm4m_nr,
|
||||
TRUE, // densify; used by hemm/symm
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
|
||||
@@ -120,7 +120,6 @@ void bli_gemm_cntl_init()
|
||||
BLIS_VARIANT1,
|
||||
gemm_mr,
|
||||
gemm_kr,
|
||||
TRUE, // densify; used by hemm/symm
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
@@ -133,7 +132,6 @@ void bli_gemm_cntl_init()
|
||||
BLIS_VARIANT1,
|
||||
gemm_kr,
|
||||
gemm_nr,
|
||||
TRUE, // densify; used by hemm/symm
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
|
||||
@@ -68,7 +68,6 @@ void bli_her2k_cntl_init()
|
||||
BLIS_VARIANT2,
|
||||
her2k_mr,
|
||||
her2k_kr,
|
||||
FALSE, // already dense; densify not necessary
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
@@ -81,7 +80,6 @@ void bli_her2k_cntl_init()
|
||||
BLIS_VARIANT2,
|
||||
her2k_kr,
|
||||
her2k_nr,
|
||||
FALSE, // already dense; densify not necessary
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
|
||||
@@ -65,7 +65,6 @@ void bli_herk3m_cntl_init()
|
||||
BLIS_VARIANT2,
|
||||
gemm3m_mr,
|
||||
gemm3m_kr,
|
||||
FALSE, // already dense; densify not necessary
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
@@ -78,7 +77,6 @@ void bli_herk3m_cntl_init()
|
||||
BLIS_VARIANT2,
|
||||
gemm3m_kr,
|
||||
gemm3m_nr,
|
||||
FALSE, // already dense; densify not necessary
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
|
||||
@@ -65,7 +65,6 @@ void bli_herk4m_cntl_init()
|
||||
BLIS_VARIANT2,
|
||||
gemm4m_mr,
|
||||
gemm4m_kr,
|
||||
FALSE, // already dense; densify not necessary
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
@@ -78,7 +77,6 @@ void bli_herk4m_cntl_init()
|
||||
BLIS_VARIANT2,
|
||||
gemm4m_kr,
|
||||
gemm4m_nr,
|
||||
FALSE, // already dense; densify not necessary
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
|
||||
@@ -65,7 +65,6 @@ void bli_herk_cntl_init()
|
||||
BLIS_VARIANT1,
|
||||
gemm_mr,
|
||||
gemm_kr,
|
||||
FALSE, // already dense; densify not necessary
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
@@ -78,7 +77,6 @@ void bli_herk_cntl_init()
|
||||
BLIS_VARIANT1,
|
||||
gemm_kr,
|
||||
gemm_nr,
|
||||
FALSE, // already dense; densify not necessary
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
|
||||
@@ -78,7 +78,6 @@ void bli_trmm3m_cntl_init()
|
||||
// multiple is set to mr.
|
||||
gemm3m_mr,
|
||||
gemm3m_kr,
|
||||
TRUE, // densify
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
@@ -93,7 +92,6 @@ void bli_trmm3m_cntl_init()
|
||||
// since "k" dim multiple is set to mr above.
|
||||
gemm3m_kr,
|
||||
gemm3m_nr,
|
||||
TRUE, // already dense
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
@@ -109,7 +107,6 @@ void bli_trmm3m_cntl_init()
|
||||
// multiple is set to nr.
|
||||
gemm3m_mr,
|
||||
gemm3m_nr,
|
||||
FALSE, // already dense
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
@@ -124,7 +121,6 @@ void bli_trmm3m_cntl_init()
|
||||
// since "k" dim multiple is set to nr above.
|
||||
gemm3m_nr,
|
||||
gemm3m_nr,
|
||||
TRUE, // densify
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
|
||||
@@ -78,7 +78,6 @@ void bli_trmm4m_cntl_init()
|
||||
// multiple is set to mr.
|
||||
gemm4m_mr,
|
||||
gemm4m_kr,
|
||||
TRUE, // densify
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
@@ -93,7 +92,6 @@ void bli_trmm4m_cntl_init()
|
||||
// since "k" dim multiple is set to mr above.
|
||||
gemm4m_kr,
|
||||
gemm4m_nr,
|
||||
TRUE, // already dense
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
@@ -109,7 +107,6 @@ void bli_trmm4m_cntl_init()
|
||||
// multiple is set to nr.
|
||||
gemm4m_mr,
|
||||
gemm4m_nr,
|
||||
FALSE, // already dense
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
@@ -124,7 +121,6 @@ void bli_trmm4m_cntl_init()
|
||||
// since "k" dim multiple is set to nr above.
|
||||
gemm4m_nr,
|
||||
gemm4m_nr,
|
||||
TRUE, // densify
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
|
||||
@@ -70,7 +70,6 @@ void bli_trmm_cntl_init()
|
||||
// "k" dim multiple equal to mr.
|
||||
gemm_mr,
|
||||
gemm_kr,
|
||||
TRUE, // densify
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
@@ -85,7 +84,6 @@ void bli_trmm_cntl_init()
|
||||
// "k" dim multiple equal to mr.
|
||||
gemm_kr,
|
||||
gemm_nr,
|
||||
TRUE, // densify
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
|
||||
@@ -97,7 +97,6 @@ void bli_trsm3m_cntl_init()
|
||||
// support right and bottom-right edge cases
|
||||
gemm3m_mr,
|
||||
gemm3m_mr,
|
||||
TRUE, // densify
|
||||
TRUE, // invert diagonal
|
||||
TRUE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
@@ -112,7 +111,6 @@ void bli_trsm3m_cntl_init()
|
||||
// B_pack is updated (ie: serves as C) in trsm
|
||||
gemm3m_mr,
|
||||
gemm3m_nr,
|
||||
FALSE, // already dense; densify not necessary
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
@@ -126,7 +124,6 @@ void bli_trsm3m_cntl_init()
|
||||
BLIS_VARIANT2,
|
||||
gemm3m_nr,
|
||||
gemm3m_mr,
|
||||
FALSE, // already dense; densify not necessary
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
@@ -139,7 +136,6 @@ void bli_trsm3m_cntl_init()
|
||||
BLIS_VARIANT2,
|
||||
gemm3m_mr,
|
||||
gemm3m_mr,
|
||||
TRUE, // densify
|
||||
TRUE, // invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
TRUE, // reverse iteration if lower?
|
||||
|
||||
@@ -98,7 +98,6 @@ void bli_trsm4m_cntl_init()
|
||||
// support right and bottom-right edge cases
|
||||
gemm4m_mr,
|
||||
gemm4m_mr,
|
||||
TRUE, // densify
|
||||
TRUE, // invert diagonal
|
||||
TRUE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
@@ -113,7 +112,6 @@ void bli_trsm4m_cntl_init()
|
||||
// B_pack is updated (ie: serves as C) in trsm
|
||||
gemm4m_mr,
|
||||
gemm4m_nr,
|
||||
FALSE, // already dense; densify not necessary
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
@@ -127,7 +125,6 @@ void bli_trsm4m_cntl_init()
|
||||
BLIS_VARIANT2,
|
||||
gemm4m_nr,
|
||||
gemm4m_mr,
|
||||
FALSE, // already dense; densify not necessary
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
@@ -140,7 +137,6 @@ void bli_trsm4m_cntl_init()
|
||||
BLIS_VARIANT2,
|
||||
gemm4m_mr,
|
||||
gemm4m_mr,
|
||||
TRUE, // densify
|
||||
TRUE, // invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
TRUE, // reverse iteration if lower?
|
||||
|
||||
@@ -99,7 +99,6 @@ void bli_trsm_cntl_init()
|
||||
// support right and bottom-right edge cases
|
||||
gemm_mr,
|
||||
gemm_mr,
|
||||
TRUE, // densify
|
||||
TRUE, // invert diagonal
|
||||
TRUE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
@@ -114,7 +113,6 @@ void bli_trsm_cntl_init()
|
||||
// B_pack is updated (ie: serves as C) in trsm
|
||||
gemm_mr,
|
||||
gemm_nr,
|
||||
FALSE, // already dense; densify not necessary
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
@@ -128,7 +126,6 @@ void bli_trsm_cntl_init()
|
||||
BLIS_VARIANT1,
|
||||
gemm_nr,
|
||||
gemm_mr,
|
||||
FALSE, // already dense; densify not necessary
|
||||
FALSE, // do NOT invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
FALSE, // reverse iteration if lower?
|
||||
@@ -141,7 +138,6 @@ void bli_trsm_cntl_init()
|
||||
BLIS_VARIANT1, // pack panels of B compactly
|
||||
gemm_mr,
|
||||
gemm_mr,
|
||||
TRUE, // densify
|
||||
TRUE, // invert diagonal
|
||||
FALSE, // reverse iteration if upper?
|
||||
TRUE, // reverse iteration if lower?
|
||||
|
||||
Reference in New Issue
Block a user