THUNDERX2T99: Add Optimized SGEMM Implementation
This commit is contained in:
parent
759f37feba
commit
f279ff4789
|
@ -743,6 +743,10 @@ void blas_set_parameter(void)
|
||||||
dgemm_q = 128;
|
dgemm_q = 128;
|
||||||
dgemm_r = 4096;
|
dgemm_r = 4096;
|
||||||
|
|
||||||
|
sgemm_p = 128;
|
||||||
|
sgemm_q = 352;
|
||||||
|
sgemm_r = 4096;
|
||||||
|
|
||||||
dgemm_prefetch_size_a = 3584;
|
dgemm_prefetch_size_a = 3584;
|
||||||
dgemm_prefetch_size_b = 512;
|
dgemm_prefetch_size_b = 512;
|
||||||
dgemm_prefetch_size_c = 128;
|
dgemm_prefetch_size_c = 128;
|
||||||
|
|
|
@ -6,3 +6,9 @@ else
|
||||||
DGEMMKERNEL = dgemm_kernel_$(DGEMM_UNROLL_M)x$(DGEMM_UNROLL_N).S
|
DGEMMKERNEL = dgemm_kernel_$(DGEMM_UNROLL_M)x$(DGEMM_UNROLL_N).S
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(SGEMM_UNROLL_M)x$(SGEMM_UNROLL_N), 16x4)
|
||||||
|
SGEMMKERNEL = sgemm_kernel_16x4_thunderx2t99.S
|
||||||
|
else
|
||||||
|
SGEMMKERNEL = sgemm_kernel_$(SGEMM_UNROLL_M)x$(SGEMM_UNROLL_N).S
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
12
param.h
12
param.h
|
@ -2326,17 +2326,17 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
#define ZGEMM_DEFAULT_UNROLL_M 4
|
#define ZGEMM_DEFAULT_UNROLL_M 4
|
||||||
#define ZGEMM_DEFAULT_UNROLL_N 4
|
#define ZGEMM_DEFAULT_UNROLL_N 4
|
||||||
|
|
||||||
#define SGEMM_DEFAULT_P 512
|
#define SGEMM_DEFAULT_P sgemm_p
|
||||||
#define DGEMM_DEFAULT_P dgemm_p
|
#define DGEMM_DEFAULT_P dgemm_p
|
||||||
#define CGEMM_DEFAULT_P 256
|
#define CGEMM_DEFAULT_P 256
|
||||||
#define ZGEMM_DEFAULT_P 128
|
#define ZGEMM_DEFAULT_P 128
|
||||||
|
|
||||||
#define SGEMM_DEFAULT_Q 1024
|
#define SGEMM_DEFAULT_Q sgemm_q
|
||||||
#define DGEMM_DEFAULT_Q dgemm_q
|
#define DGEMM_DEFAULT_Q dgemm_q
|
||||||
#define CGEMM_DEFAULT_Q 512
|
#define CGEMM_DEFAULT_Q 512
|
||||||
#define ZGEMM_DEFAULT_Q 512
|
#define ZGEMM_DEFAULT_Q 512
|
||||||
|
|
||||||
#define SGEMM_DEFAULT_R 4096
|
#define SGEMM_DEFAULT_R sgemm_r
|
||||||
#define DGEMM_DEFAULT_R dgemm_r
|
#define DGEMM_DEFAULT_R dgemm_r
|
||||||
#define CGEMM_DEFAULT_R 4096
|
#define CGEMM_DEFAULT_R 4096
|
||||||
#define ZGEMM_DEFAULT_R 2048
|
#define ZGEMM_DEFAULT_R 2048
|
||||||
|
@ -2482,17 +2482,17 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
#define ZGEMM_DEFAULT_UNROLL_M 4
|
#define ZGEMM_DEFAULT_UNROLL_M 4
|
||||||
#define ZGEMM_DEFAULT_UNROLL_N 4
|
#define ZGEMM_DEFAULT_UNROLL_N 4
|
||||||
|
|
||||||
#define SGEMM_DEFAULT_P 512
|
#define SGEMM_DEFAULT_P sgemm_p
|
||||||
#define DGEMM_DEFAULT_P dgemm_p
|
#define DGEMM_DEFAULT_P dgemm_p
|
||||||
#define CGEMM_DEFAULT_P 256
|
#define CGEMM_DEFAULT_P 256
|
||||||
#define ZGEMM_DEFAULT_P 128
|
#define ZGEMM_DEFAULT_P 128
|
||||||
|
|
||||||
#define SGEMM_DEFAULT_Q 1024
|
#define SGEMM_DEFAULT_Q sgemm_q
|
||||||
#define DGEMM_DEFAULT_Q dgemm_q
|
#define DGEMM_DEFAULT_Q dgemm_q
|
||||||
#define CGEMM_DEFAULT_Q 512
|
#define CGEMM_DEFAULT_Q 512
|
||||||
#define ZGEMM_DEFAULT_Q 512
|
#define ZGEMM_DEFAULT_Q 512
|
||||||
|
|
||||||
#define SGEMM_DEFAULT_R 4096
|
#define SGEMM_DEFAULT_R sgemm_r
|
||||||
#define DGEMM_DEFAULT_R dgemm_r
|
#define DGEMM_DEFAULT_R dgemm_r
|
||||||
#define CGEMM_DEFAULT_R 4096
|
#define CGEMM_DEFAULT_R 4096
|
||||||
#define ZGEMM_DEFAULT_R 2048
|
#define ZGEMM_DEFAULT_R 2048
|
||||||
|
|
Loading…
Reference in New Issue