|
|
@@ -1751,6 +1751,125 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
#ifdef SAPPHIRERAPIDS |
|
|
|
|
|
|
|
#define SNUMOPT 16 |
|
|
|
#define DNUMOPT 8 |
|
|
|
|
|
|
|
#define GEMM_DEFAULT_OFFSET_A 0 |
|
|
|
#define GEMM_DEFAULT_OFFSET_B 0 |
|
|
|
#define GEMM_DEFAULT_ALIGN 0x03fffUL |
|
|
|
|
|
|
|
#define SYMV_P 8 |
|
|
|
|
|
|
|
#if defined(XDOUBLE) || defined(DOUBLE) |
|
|
|
#define SWITCH_RATIO 8 |
|
|
|
#define GEMM_PREFERED_SIZE 8 |
|
|
|
#else |
|
|
|
#define SWITCH_RATIO 16 |
|
|
|
#define GEMM_PREFERED_SIZE 16 |
|
|
|
#endif |
|
|
|
#define USE_SGEMM_KERNEL_DIRECT 1 |
|
|
|
|
|
|
|
#ifdef ARCH_X86 |
|
|
|
|
|
|
|
#define SGEMM_DEFAULT_UNROLL_M 4 |
|
|
|
#define DGEMM_DEFAULT_UNROLL_M 2 |
|
|
|
#define QGEMM_DEFAULT_UNROLL_M 2 |
|
|
|
#define CGEMM_DEFAULT_UNROLL_M 2 |
|
|
|
#define ZGEMM_DEFAULT_UNROLL_M 1 |
|
|
|
#define XGEMM_DEFAULT_UNROLL_M 1 |
|
|
|
|
|
|
|
#define SGEMM_DEFAULT_UNROLL_N 4 |
|
|
|
#define DGEMM_DEFAULT_UNROLL_N 4 |
|
|
|
#define QGEMM_DEFAULT_UNROLL_N 2 |
|
|
|
#define CGEMM_DEFAULT_UNROLL_N 2 |
|
|
|
#define ZGEMM_DEFAULT_UNROLL_N 2 |
|
|
|
#define XGEMM_DEFAULT_UNROLL_N 1 |
|
|
|
|
|
|
|
#else |
|
|
|
|
|
|
|
#define SGEMM_DEFAULT_UNROLL_M 16 |
|
|
|
#define DGEMM_DEFAULT_UNROLL_M 16 |
|
|
|
#define QGEMM_DEFAULT_UNROLL_M 2 |
|
|
|
#define CGEMM_DEFAULT_UNROLL_M 8 |
|
|
|
#define ZGEMM_DEFAULT_UNROLL_M 4 |
|
|
|
#define XGEMM_DEFAULT_UNROLL_M 1 |
|
|
|
|
|
|
|
#define SGEMM_DEFAULT_UNROLL_N 4 |
|
|
|
#define DGEMM_DEFAULT_UNROLL_N 2 |
|
|
|
#define QGEMM_DEFAULT_UNROLL_N 2 |
|
|
|
#define CGEMM_DEFAULT_UNROLL_N 2 |
|
|
|
#define ZGEMM_DEFAULT_UNROLL_N 2 |
|
|
|
#define XGEMM_DEFAULT_UNROLL_N 1 |
|
|
|
|
|
|
|
#define SGEMM_DEFAULT_UNROLL_MN 32 |
|
|
|
#define DGEMM_DEFAULT_UNROLL_MN 32 |
|
|
|
#endif |
|
|
|
|
|
|
|
#ifdef ARCH_X86 |
|
|
|
|
|
|
|
#define SGEMM_DEFAULT_P 512 |
|
|
|
#define SGEMM_DEFAULT_R sgemm_r |
|
|
|
#define DGEMM_DEFAULT_P 512 |
|
|
|
#define DGEMM_DEFAULT_R dgemm_r |
|
|
|
#define QGEMM_DEFAULT_P 504 |
|
|
|
#define QGEMM_DEFAULT_R qgemm_r |
|
|
|
#define CGEMM_DEFAULT_P 128 |
|
|
|
#define CGEMM_DEFAULT_R 1024 |
|
|
|
#define ZGEMM_DEFAULT_P 512 |
|
|
|
#define ZGEMM_DEFAULT_R zgemm_r |
|
|
|
#define XGEMM_DEFAULT_P 252 |
|
|
|
#define XGEMM_DEFAULT_R xgemm_r |
|
|
|
#define SGEMM_DEFAULT_Q 256 |
|
|
|
#define DGEMM_DEFAULT_Q 256 |
|
|
|
#define QGEMM_DEFAULT_Q 128 |
|
|
|
#define CGEMM_DEFAULT_Q 256 |
|
|
|
#define ZGEMM_DEFAULT_Q 192 |
|
|
|
#define XGEMM_DEFAULT_Q 128 |
|
|
|
|
|
|
|
#else |
|
|
|
|
|
|
|
#define SGEMM_DEFAULT_P 640 |
|
|
|
#define DGEMM_DEFAULT_P 192 |
|
|
|
#define CGEMM_DEFAULT_P 384 |
|
|
|
#define ZGEMM_DEFAULT_P 256 |
|
|
|
|
|
|
|
#define SGEMM_DEFAULT_Q 320 |
|
|
|
#define DGEMM_DEFAULT_Q 384 |
|
|
|
#define CGEMM_DEFAULT_Q 192 |
|
|
|
#define ZGEMM_DEFAULT_Q 128 |
|
|
|
|
|
|
|
#define SGEMM_DEFAULT_R sgemm_r |
|
|
|
#define DGEMM_DEFAULT_R 8640 |
|
|
|
#define CGEMM_DEFAULT_R cgemm_r |
|
|
|
#define ZGEMM_DEFAULT_R zgemm_r |
|
|
|
|
|
|
|
#define QGEMM_DEFAULT_Q 128 |
|
|
|
#define QGEMM_DEFAULT_P 504 |
|
|
|
#define QGEMM_DEFAULT_R qgemm_r |
|
|
|
#define XGEMM_DEFAULT_P 252 |
|
|
|
#define XGEMM_DEFAULT_R xgemm_r |
|
|
|
#define XGEMM_DEFAULT_Q 128 |
|
|
|
|
|
|
|
#define CGEMM3M_DEFAULT_UNROLL_N 4 |
|
|
|
#define CGEMM3M_DEFAULT_UNROLL_M 8 |
|
|
|
#define ZGEMM3M_DEFAULT_UNROLL_N 4 |
|
|
|
#define ZGEMM3M_DEFAULT_UNROLL_M 4 |
|
|
|
|
|
|
|
#define CGEMM3M_DEFAULT_P 320 |
|
|
|
#define ZGEMM3M_DEFAULT_P 256 |
|
|
|
#define XGEMM3M_DEFAULT_P 112 |
|
|
|
#define CGEMM3M_DEFAULT_Q 320 |
|
|
|
#define ZGEMM3M_DEFAULT_Q 256 |
|
|
|
#define XGEMM3M_DEFAULT_Q 224 |
|
|
|
#define CGEMM3M_DEFAULT_R 12288 |
|
|
|
#define ZGEMM3M_DEFAULT_R 12288 |
|
|
|
#define XGEMM3M_DEFAULT_R 12288 |
|
|
|
|
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
#ifdef COOPERLAKE |
|
|
|
|
|
|
|
#define SNUMOPT 16 |
|
|
|