Intel® MKL Automatic Offload enabled functions for Intel Xeon Phi coprocessors

Intel® MKL now has support for Intel® Xeon Phi™ coprocessor based on the Intel® Many Integrated Core Architecture (Intel® MIC Architecture) on Linux* and Windows* OS. There are three Intel MKL usage models on Intel Xeon Phi coprocessor: automatic offload, compiler assisted offload and native execution.

Here is the list of Automatic Offload enabled functions in Intel MKL on Intel® Xeon Phi™ coprocessors:

BLAS:

  • BLAS Level-3 subroutines - ?SYMM,?TRMM, ?TRSM, ?GEMM

LAPACK:

  • LU (?GETRF), Cholesky ((S/D)POTRF), and QR (?GEQRF) factorization functions

As of current release, following numbers gives you the matrix size when the Automatic Offload would be applicable for above mentioned list of functions (These numbers could change in future MKL releases though):

BLAS LEVEL 3

  • GEMM:

    • SGEMM: M, N > 2048, K > 256
    • DGEMM NN, NT: M, N > 1280, K > 256
    • DGEMM TN, TT: M, N > 2048, K > 256
    • C, Z GEMM: M, N > 2048, K > 256
  • TRxM:

    • S, D TRxM: M, N > 512
    • C, Z TRxM: M, N > 512, M % 16 == 0, N % 16 == 0
  • ?SYMM: M, N > 512

?GETRF: M, N > 8192

[S/D/C]POTRF:N>=6144

[S/D/C/Z]GEQRF:M=N>=8192

SSYEV,SSYEVD,SSYRDB: N>=9216

DSYEV,DSYEVD,DSYRDB: N>=8000

 

Apart from the above mentioned list of AO enabled functions, the following list of several functions take benefit from the above mentioned BLAS and LAPACK functions

In the below table, AO enabled functions are listed in Horizontal row and the list of functions which take benefit from AO enabled BLAS and LAPACK functions are listed in veritcal rows.Sign in intersection indicates which function benefits from which

 

 

GETRF

GEQRF

POTRF

TRSM

TRMM

SYMM

GEMM

?gesv

x

 

 

x

 

 

 

?gesvx

x

 

 

x

 

 

 

?gesvxx

x

 

 

x

 

 

 

(ds/zc)gesv

x

 

 

x

 

 

x

?sysv

 

 

 

x

 

 

 

(c/z)hesv

 

 

 

x

 

 

 

?gegs

 

x

 

 

 

 

 

?gegv

 

x

 

 

 

 

 

(d/s)gejsv

 

x

 

x

 

 

 

?gels

 

x

 

x

 

 

 

?gelsd

 

x

 

 

 

 

x

?gelss

 

x

 

 

 

 

x

?geqp3

 

x

 

 

 

 

 

?gesdd

 

x

 

 

 

 

x

?gesvd

 

x

 

 

 

 

x

?gges

 

x

 

 

 

 

 

?ggesx

 

x

 

 

 

 

 

?ggev

 

x

 

 

 

 

 

?ggevx

 

x

 

 

 

 

 

?ggqrf

 

x

 

 

 

 

 

?ggrqf

 

x

 

 

 

 

 

?ggglm

 

x

 

x

 

 

 

?gglse

 

x

 

x

 

 

 

?gelsy

 

x

 

x

 

 

 

?gelsx

 

 

 

x

 

 

 

?pftrf

 

 

x

x

 

 

 

?posv 

 

 

x

x

 

 

 

?posvx

 

 

x

x

 

 

 

?posvxx

 

 

x

x

 

 

 

(ds/zc)posv

 

 

x

x

 

x

 

?(sy/he)gv 

 

 

x

x

x

 

 

?(sy/he)gvd

 

 

x

x

x

 

 

?(sy/he)gvx

 

 

x

x

x

 

 

?(sy/he)gst

 

 

 

 

 

x

 

?(sy/he)trs2

 

 

 

x

 

 

 

?tfsm

 

 

 

x

 

 

x

?trtrs

 

 

 

x

 

 

 

?potrs

 

 

 

x

 

 

 

?pftri

 

 

 

 

x

 

 

?pftrs

 

 

 

x

 

 

x

?tftri

 

 

 

 

x

 

 

?(s/h)frk

 

 

 

 

 

 

x

?geqrt3

 

 

 

 

x

 

x

?lalsd

 

 

 

 

 

 

x

?larfb

 

 

 

 

x

 

x

 Please refer the White Paper for more information on how to use MKL Automatic Offload

Please refer other articles related to Intel MKL on Intel Xeon Phi at Intel® Math Kernel Library on the Intel® Xeon Phi™ Coprocessor

Categories:
For more complete information about compiler optimizations, see our Optimization Notice.