Added separeate micro-panel alignment for A and B.

Details:
- Changed the recently-added micro-panel alignment macros so that we now
  have two sets--one for micro-panels of matrix A and one for micro-
  panels of matrix B: BLIS_UPANEL_[AB]_ALIGN_SIZE_?.
- Store each set of alignment values into a separate blksz_t object in
  bli_gemm_cntl_init().
- Adjusted packm_init() to use the separate alignment values.
- Added query routines for the new alignment values to bli_info.c.
- Modified test suite output accordingly.
This commit is contained in:
Field G. Van Zee
2014-10-23 17:21:37 -05:00
parent a8e12884ee
commit 59613f1d55
7 changed files with 144 additions and 66 deletions

View File

@@ -1082,8 +1082,6 @@
#define BLIS_PACKDIM_KR_Z BLIS_DEFAULT_KR_Z
#endif
//
// Define level-2 blocksizes.
//
@@ -1229,24 +1227,38 @@
#endif
// -- Define micro-panel alignment ---------------------------------------------
// In this section, we consider each datatype-specific micro-panel alignment
// size macro. If it is undefined, we define it to the default value (the size
// of the datatype).
// In this section, we consider each datatype-specific alignment sizes for
// micro-panels of A and B. If any definition is undefined, we define it to
// a safe default value (the size of the datatype).
#ifndef BLIS_UPANEL_ALIGN_SIZE_S
#define BLIS_UPANEL_ALIGN_SIZE_S BLIS_SIZEOF_S
// Alignment for micro-panels of A
#ifndef BLIS_UPANEL_A_ALIGN_SIZE_S
#define BLIS_UPANEL_A_ALIGN_SIZE_S BLIS_SIZEOF_S
#endif
#ifndef BLIS_UPANEL_ALIGN_SIZE_D
#define BLIS_UPANEL_ALIGN_SIZE_D BLIS_SIZEOF_D
#ifndef BLIS_UPANEL_A_ALIGN_SIZE_D
#define BLIS_UPANEL_A_ALIGN_SIZE_D BLIS_SIZEOF_D
#endif
#ifndef BLIS_UPANEL_ALIGN_SIZE_C
#define BLIS_UPANEL_ALIGN_SIZE_C BLIS_SIZEOF_C
#ifndef BLIS_UPANEL_A_ALIGN_SIZE_C
#define BLIS_UPANEL_A_ALIGN_SIZE_C BLIS_SIZEOF_C
#endif
#ifndef BLIS_UPANEL_ALIGN_SIZE_Z
#define BLIS_UPANEL_ALIGN_SIZE_Z BLIS_SIZEOF_Z
#ifndef BLIS_UPANEL_A_ALIGN_SIZE_Z
#define BLIS_UPANEL_A_ALIGN_SIZE_Z BLIS_SIZEOF_Z
#endif
// Alignment for micro-panels of B
#ifndef BLIS_UPANEL_B_ALIGN_SIZE_S
#define BLIS_UPANEL_B_ALIGN_SIZE_S BLIS_SIZEOF_S
#endif
#ifndef BLIS_UPANEL_B_ALIGN_SIZE_D
#define BLIS_UPANEL_B_ALIGN_SIZE_D BLIS_SIZEOF_D
#endif
#ifndef BLIS_UPANEL_B_ALIGN_SIZE_C
#define BLIS_UPANEL_B_ALIGN_SIZE_C BLIS_SIZEOF_C
#endif
#ifndef BLIS_UPANEL_B_ALIGN_SIZE_Z
#define BLIS_UPANEL_B_ALIGN_SIZE_Z BLIS_SIZEOF_Z
#endif