You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

KERNEL.THUNDERX2T99 5.7 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. SAMINKERNEL = ../arm/amin.c
  2. DAMINKERNEL = ../arm/amin.c
  3. CAMINKERNEL = ../arm/zamin.c
  4. ZAMINKERNEL = ../arm/zamin.c
  5. SMAXKERNEL = ../arm/max.c
  6. DMAXKERNEL = ../arm/max.c
  7. SMINKERNEL = ../arm/min.c
  8. DMINKERNEL = ../arm/min.c
  9. ISAMINKERNEL = ../arm/iamin.c
  10. IDAMINKERNEL = ../arm/iamin.c
  11. ICAMINKERNEL = ../arm/izamin.c
  12. IZAMINKERNEL = ../arm/izamin.c
  13. ISMAXKERNEL = ../arm/imax.c
  14. IDMAXKERNEL = ../arm/imax.c
  15. ISMINKERNEL = ../arm/imin.c
  16. IDMINKERNEL = ../arm/imin.c
  17. STRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
  18. STRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
  19. STRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
  20. STRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
  21. DTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
  22. DTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
  23. DTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
  24. DTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
  25. CTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
  26. CTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
  27. CTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
  28. CTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
  29. ZTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
  30. ZTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
  31. ZTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
  32. ZTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
  33. SAMAXKERNEL = amax.S
  34. DAMAXKERNEL = amax.S
  35. CAMAXKERNEL = zamax.S
  36. ZAMAXKERNEL = zamax.S
  37. SAXPYKERNEL = axpy.S
  38. DAXPYKERNEL = daxpy_thunderx2t99.S
  39. CAXPYKERNEL = zaxpy.S
  40. ZAXPYKERNEL = zaxpy.S
  41. SROTKERNEL = rot.S
  42. DROTKERNEL = rot.S
  43. CROTKERNEL = zrot.S
  44. ZROTKERNEL = zrot.S
  45. SSCALKERNEL = scal.S
  46. DSCALKERNEL = scal.S
  47. CSCALKERNEL = zscal.S
  48. ZSCALKERNEL = zscal.S
  49. SGEMVNKERNEL = gemv_n.S
  50. DGEMVNKERNEL = gemv_n.S
  51. CGEMVNKERNEL = zgemv_n.S
  52. ZGEMVNKERNEL = zgemv_n.S
  53. SGEMVTKERNEL = gemv_t.S
  54. DGEMVTKERNEL = gemv_t.S
  55. CGEMVTKERNEL = zgemv_t.S
  56. ZGEMVTKERNEL = zgemv_t.S
  57. STRMMKERNEL = strmm_kernel_$(SGEMM_UNROLL_M)x$(SGEMM_UNROLL_N).S
  58. ifneq ($(SGEMM_UNROLL_M), $(SGEMM_UNROLL_N))
  59. SGEMMINCOPY = ../generic/gemm_ncopy_$(SGEMM_UNROLL_M).c
  60. SGEMMITCOPY = ../generic/gemm_tcopy_$(SGEMM_UNROLL_M).c
  61. SGEMMINCOPYOBJ = sgemm_incopy$(TSUFFIX).$(SUFFIX)
  62. SGEMMITCOPYOBJ = sgemm_itcopy$(TSUFFIX).$(SUFFIX)
  63. endif
  64. SGEMMONCOPY = ../generic/gemm_ncopy_$(SGEMM_UNROLL_N).c
  65. SGEMMOTCOPY = ../generic/gemm_tcopy_$(SGEMM_UNROLL_N).c
  66. SGEMMONCOPYOBJ = sgemm_oncopy$(TSUFFIX).$(SUFFIX)
  67. SGEMMOTCOPYOBJ = sgemm_otcopy$(TSUFFIX).$(SUFFIX)
  68. DTRMMKERNEL = dtrmm_kernel_$(DGEMM_UNROLL_M)x$(DGEMM_UNROLL_N).S
  69. ifneq ($(DGEMM_UNROLL_M), $(DGEMM_UNROLL_N))
  70. ifeq ($(DGEMM_UNROLL_M), 8)
  71. DGEMMINCOPY = dgemm_ncopy_$(DGEMM_UNROLL_M).S
  72. DGEMMITCOPY = dgemm_tcopy_$(DGEMM_UNROLL_M).S
  73. else
  74. DGEMMINCOPY = ../generic/gemm_ncopy_$(DGEMM_UNROLL_M).c
  75. DGEMMITCOPY = ../generic/gemm_tcopy_$(DGEMM_UNROLL_M).c
  76. endif
  77. DGEMMINCOPYOBJ = dgemm_incopy$(TSUFFIX).$(SUFFIX)
  78. DGEMMITCOPYOBJ = dgemm_itcopy$(TSUFFIX).$(SUFFIX)
  79. endif
  80. ifeq ($(DGEMM_UNROLL_N), 4)
  81. DGEMMONCOPY = dgemm_ncopy_$(DGEMM_UNROLL_N).S
  82. DGEMMOTCOPY = dgemm_tcopy_$(DGEMM_UNROLL_N).S
  83. else
  84. DGEMMONCOPY = ../generic/gemm_ncopy_$(DGEMM_UNROLL_N).c
  85. DGEMMOTCOPY = ../generic/gemm_tcopy_$(DGEMM_UNROLL_N).c
  86. endif
  87. DGEMMONCOPYOBJ = dgemm_oncopy$(TSUFFIX).$(SUFFIX)
  88. DGEMMOTCOPYOBJ = dgemm_otcopy$(TSUFFIX).$(SUFFIX)
  89. CTRMMKERNEL = ctrmm_kernel_$(CGEMM_UNROLL_M)x$(CGEMM_UNROLL_N).S
  90. ifneq ($(CGEMM_UNROLL_M), $(CGEMM_UNROLL_N))
  91. CGEMMINCOPY = ../generic/zgemm_ncopy_$(CGEMM_UNROLL_M).c
  92. CGEMMITCOPY = ../generic/zgemm_tcopy_$(CGEMM_UNROLL_M).c
  93. CGEMMINCOPYOBJ = cgemm_incopy$(TSUFFIX).$(SUFFIX)
  94. CGEMMITCOPYOBJ = cgemm_itcopy$(TSUFFIX).$(SUFFIX)
  95. endif
  96. CGEMMONCOPY = ../generic/zgemm_ncopy_$(CGEMM_UNROLL_N).c
  97. CGEMMOTCOPY = ../generic/zgemm_tcopy_$(CGEMM_UNROLL_N).c
  98. CGEMMONCOPYOBJ = cgemm_oncopy$(TSUFFIX).$(SUFFIX)
  99. CGEMMOTCOPYOBJ = cgemm_otcopy$(TSUFFIX).$(SUFFIX)
  100. ZTRMMKERNEL = ztrmm_kernel_$(ZGEMM_UNROLL_M)x$(ZGEMM_UNROLL_N).S
  101. ifneq ($(ZGEMM_UNROLL_M), $(ZGEMM_UNROLL_N))
  102. ZGEMMINCOPY = ../generic/zgemm_ncopy_$(ZGEMM_UNROLL_M).c
  103. ZGEMMITCOPY = ../generic/zgemm_tcopy_$(ZGEMM_UNROLL_M).c
  104. ZGEMMINCOPYOBJ = zgemm_incopy$(TSUFFIX).$(SUFFIX)
  105. ZGEMMITCOPYOBJ = zgemm_itcopy$(TSUFFIX).$(SUFFIX)
  106. endif
  107. ZGEMMONCOPY = ../generic/zgemm_ncopy_$(ZGEMM_UNROLL_N).c
  108. ZGEMMOTCOPY = ../generic/zgemm_tcopy_$(ZGEMM_UNROLL_N).c
  109. ZGEMMONCOPYOBJ = zgemm_oncopy$(TSUFFIX).$(SUFFIX)
  110. ZGEMMOTCOPYOBJ = zgemm_otcopy$(TSUFFIX).$(SUFFIX)
  111. SASUMKERNEL = sasum_thunderx2t99.c
  112. DASUMKERNEL = dasum_thunderx2t99.c
  113. CASUMKERNEL = casum_thunderx2t99.c
  114. ZASUMKERNEL = zasum_thunderx2t99.c
  115. SCOPYKERNEL = copy_thunderx2t99.c
  116. DCOPYKERNEL = copy_thunderx2t99.c
  117. CCOPYKERNEL = copy_thunderx2t99.c
  118. ZCOPYKERNEL = copy_thunderx2t99.c
  119. SSWAPKERNEL = swap_thunderx2t99.S
  120. DSWAPKERNEL = swap_thunderx2t99.S
  121. CSWAPKERNEL = swap_thunderx2t99.S
  122. ZSWAPKERNEL = swap_thunderx2t99.S
  123. ISAMAXKERNEL = iamax_thunderx2t99.c
  124. IDAMAXKERNEL = iamax_thunderx2t99.c
  125. ICAMAXKERNEL = izamax_thunderx2t99.c
  126. IZAMAXKERNEL = izamax_thunderx2t99.c
  127. SNRM2KERNEL = scnrm2_thunderx2t99.c
  128. CNRM2KERNEL = scnrm2_thunderx2t99.c
  129. #DNRM2KERNEL = dznrm2_thunderx2t99_fast.c
  130. #ZNRM2KERNEL = dznrm2_thunderx2t99_fast.c
  131. DNRM2KERNEL = dznrm2_thunderx2t99.c
  132. ZNRM2KERNEL = dznrm2_thunderx2t99.c
  133. DDOTKERNEL = dot.c
  134. SDOTKERNEL = dot.c
  135. CDOTKERNEL = zdot_thunderx2t99.c
  136. ZDOTKERNEL = zdot_thunderx2t99.c
  137. DSDOTKERNEL = dot.S
  138. ifeq ($(DGEMM_UNROLL_M)x$(DGEMM_UNROLL_N), 8x4)
  139. DGEMMKERNEL = dgemm_kernel_8x4_thunderx2t99.S
  140. endif
  141. ifeq ($(SGEMM_UNROLL_M)x$(SGEMM_UNROLL_N), 16x4)
  142. SGEMMKERNEL = sgemm_kernel_16x4_thunderx2t99.S
  143. endif
  144. ifeq ($(CGEMM_UNROLL_M)x$(CGEMM_UNROLL_N), 8x4)
  145. CGEMMKERNEL = cgemm_kernel_8x4_thunderx2t99.S
  146. endif
  147. ifeq ($(ZGEMM_UNROLL_M)x$(ZGEMM_UNROLL_N), 4x4)
  148. ZGEMMKERNEL = zgemm_kernel_4x4_thunderx2t99.S
  149. endif