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.POWER10 8.1 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274
  1. #SGEMM_BETA = ../generic/gemm_beta.c
  2. #DGEMM_BETA = ../generic/gemm_beta.c
  3. #CGEMM_BETA = ../generic/zgemm_beta.c
  4. #ZGEMM_BETA = ../generic/zgemm_beta.c
  5. SBGEMM_BETA = ../generic/gemm_beta.c
  6. SBGEMMKERNEL = sbgemm_kernel_power10.c
  7. SBGEMMINCOPY = sbgemm_ncopy_16_power10.c
  8. SBGEMMITCOPY = sbgemm_tcopy_16_power10.c
  9. SBGEMMONCOPY = sbgemm_ncopy_8_power10.c
  10. SBGEMMOTCOPY = sbgemm_tcopy_8_power10.c
  11. SBGEMMINCOPYOBJ = sbgemm_incopy$(TSUFFIX).$(SUFFIX)
  12. SBGEMMITCOPYOBJ = sbgemm_itcopy$(TSUFFIX).$(SUFFIX)
  13. SBGEMMONCOPYOBJ = sbgemm_oncopy$(TSUFFIX).$(SUFFIX)
  14. SBGEMMOTCOPYOBJ = sbgemm_otcopy$(TSUFFIX).$(SUFFIX)
  15. STRMMKERNEL = sgemm_kernel_power10.c
  16. DTRMMKERNEL = dgemm_kernel_power10.c
  17. ifeq ($(OSNAME), AIX)
  18. #CTRMMKERNEL = ctrmm_kernel_8x4_power8.S
  19. #ZTRMMKERNEL = ztrmm_kernel_8x2_power8.S
  20. CTRMMKERNEL = cgemm_kernel_power10.c
  21. ZTRMMKERNEL = zgemm_kernel_power10.c
  22. else
  23. #CTRMMKERNEL = cgemm_kernel_power10.S
  24. #ZTRMMKERNEL = zgemm_kernel_power10.S
  25. CTRMMKERNEL = cgemm_kernel_power10.c
  26. ZTRMMKERNEL = zgemm_kernel_power10.c
  27. endif
  28. SGEMMKERNEL = sgemm_kernel_power10.c
  29. SGEMMINCOPY = sgemm_ncopy_16_power.c
  30. SGEMMITCOPY = sgemm_tcopy_16_power8.S
  31. SGEMMONCOPY = ../generic/gemm_ncopy_8.c
  32. SGEMMOTCOPY = sgemm_tcopy_8_power8.S
  33. SGEMMINCOPYOBJ = sgemm_incopy$(TSUFFIX).$(SUFFIX)
  34. SGEMMITCOPYOBJ = sgemm_itcopy$(TSUFFIX).$(SUFFIX)
  35. SGEMMONCOPYOBJ = sgemm_oncopy$(TSUFFIX).$(SUFFIX)
  36. SGEMMOTCOPYOBJ = sgemm_otcopy$(TSUFFIX).$(SUFFIX)
  37. SGEMM_SMALL_M_PERMIT = gemm_small_kernel_permit_power10.c
  38. SGEMM_SMALL_K_NN = sgemm_small_kernel_nn_power10.c
  39. SGEMM_SMALL_K_B0_NN = sgemm_small_kernel_nn_power10.c
  40. SGEMM_SMALL_K_NT = sgemm_small_kernel_nt_power10.c
  41. SGEMM_SMALL_K_B0_NT = sgemm_small_kernel_nt_power10.c
  42. SGEMM_SMALL_K_TN = sgemm_small_kernel_tn_power10.c
  43. SGEMM_SMALL_K_B0_TN = sgemm_small_kernel_tn_power10.c
  44. SGEMM_SMALL_K_TT = sgemm_small_kernel_tt_power10.c
  45. SGEMM_SMALL_K_B0_TT = sgemm_small_kernel_tt_power10.c
  46. DGEMMKERNEL = dgemm_kernel_power10.c
  47. DGEMMINCOPY =
  48. DGEMMITCOPY =
  49. DGEMMONCOPY = dgemm_ncopy_8_power10.c
  50. DGEMMOTCOPY = ../generic/gemm_tcopy_8.c
  51. DGEMMINCOPYOBJ =
  52. DGEMMITCOPYOBJ =
  53. DGEMMONCOPYOBJ = dgemm_oncopy$(TSUFFIX).$(SUFFIX)
  54. DGEMMOTCOPYOBJ = dgemm_otcopy$(TSUFFIX).$(SUFFIX)
  55. DGEMM_SMALL_M_PERMIT = gemm_small_kernel_permit_power10.c
  56. DGEMM_SMALL_K_NT = dgemm_small_kernel_nt_power10.c
  57. DGEMM_SMALL_K_B0_NT = dgemm_small_kernel_nt_power10.c
  58. DGEMM_SMALL_K_NN = dgemm_small_kernel_nn_power10.c
  59. DGEMM_SMALL_K_B0_NN = dgemm_small_kernel_nn_power10.c
  60. DGEMM_SMALL_K_TT = dgemm_small_kernel_tt_power10.c
  61. DGEMM_SMALL_K_B0_TT = dgemm_small_kernel_tt_power10.c
  62. DGEMM_SMALL_K_TN = dgemm_small_kernel_tn_power10.c
  63. DGEMM_SMALL_K_B0_TN = dgemm_small_kernel_tn_power10.c
  64. ifeq ($(OSNAME), AIX)
  65. #CGEMMKERNEL = cgemm_kernel_8x4_power8.S
  66. CGEMMKERNEL = cgemm_kernel_power10.c
  67. else
  68. #CGEMMKERNEL = cgemm_kernel_power10.S
  69. CGEMMKERNEL = cgemm_kernel_power10.c
  70. endif
  71. #CGEMMKERNEL = cgemm_kernel_8x4_power8.S
  72. CGEMMINCOPY = ../generic/zgemm_ncopy_8.c
  73. ifeq ($(OSNAME), AIX)
  74. CGEMMITCOPY = cgemm_tcopy_8_power8.S
  75. else
  76. CGEMMITCOPY = ../generic/zgemm_tcopy_8.c
  77. endif
  78. CGEMMONCOPY = ../generic/zgemm_ncopy_4.c
  79. CGEMMOTCOPY = ../generic/zgemm_tcopy_4.c
  80. CGEMMONCOPYOBJ = cgemm_oncopy$(TSUFFIX).$(SUFFIX)
  81. CGEMMOTCOPYOBJ = cgemm_otcopy$(TSUFFIX).$(SUFFIX)
  82. CGEMMINCOPYOBJ = cgemm_incopy$(TSUFFIX).$(SUFFIX)
  83. CGEMMITCOPYOBJ = cgemm_itcopy$(TSUFFIX).$(SUFFIX)
  84. ifeq ($(OSNAME), AIX)
  85. #ZGEMMKERNEL = zgemm_kernel_8x2_power8.S
  86. ZGEMMKERNEL = zgemm_kernel_power10.c
  87. else
  88. #ZGEMMKERNEL = zgemm_kernel_power10.S
  89. ZGEMMKERNEL = zgemm_kernel_power10.c
  90. endif
  91. ZGEMMONCOPY = ../generic/zgemm_ncopy_2.c
  92. ZGEMMOTCOPY = ../generic/zgemm_tcopy_2.c
  93. ZGEMMINCOPY = ../generic/zgemm_ncopy_8.c
  94. ZGEMMITCOPY = zgemm_tcopy_8_power8.S
  95. ZGEMMONCOPYOBJ = zgemm_oncopy$(TSUFFIX).$(SUFFIX)
  96. ZGEMMOTCOPYOBJ = zgemm_otcopy$(TSUFFIX).$(SUFFIX)
  97. ZGEMMINCOPYOBJ = zgemm_incopy$(TSUFFIX).$(SUFFIX)
  98. ZGEMMITCOPYOBJ = zgemm_itcopy$(TSUFFIX).$(SUFFIX)
  99. STRSMKERNEL_LN = trsm_kernel_LN_power10.c
  100. STRSMKERNEL_LT = trsm_kernel_LT_power10.c
  101. STRSMKERNEL_RN = trsm_kernel_RN_power10.c
  102. STRSMKERNEL_RT = trsm_kernel_RT_power10.c
  103. DTRSMKERNEL_LN = trsm_kernel_LN_power10.c
  104. DTRSMKERNEL_LT = trsm_kernel_LT_power10.c
  105. DTRSMKERNEL_RN = trsm_kernel_RN_power10.c
  106. DTRSMKERNEL_RT = trsm_kernel_RT_power10.c
  107. CTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
  108. CTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
  109. CTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
  110. CTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
  111. ZTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
  112. ZTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
  113. ZTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
  114. ZTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
  115. #Todo: CGEMM3MKERNEL should be 4x4 blocksizes.
  116. #CGEMM3MKERNEL = zgemm3m_kernel_8x4_sse3.S
  117. #ZGEMM3MKERNEL = zgemm3m_kernel_4x4_sse3.S
  118. #Pure C for other kernels
  119. #SAMAXKERNEL = ../arm/amax.c
  120. #DAMAXKERNEL = ../arm/amax.c
  121. #CAMAXKERNEL = ../arm/zamax.c
  122. #ZAMAXKERNEL = ../arm/zamax.c
  123. #
  124. #SAMINKERNEL = ../arm/amin.c
  125. #DAMINKERNEL = ../arm/amin.c
  126. #CAMINKERNEL = ../arm/zamin.c
  127. #ZAMINKERNEL = ../arm/zamin.c
  128. #
  129. #SMAXKERNEL = ../arm/max.c
  130. #DMAXKERNEL = ../arm/max.c
  131. #
  132. #SMINKERNEL = ../arm/min.c
  133. #DMINKERNEL = ../arm/min.c
  134. #
  135. ifeq ($(C_COMPILER), GCC)
  136. ifneq ($(GCCVERSIONGTEQ9),1)
  137. ISAMAXKERNEL = isamax_power9.S
  138. else
  139. ISAMAXKERNEL = isamax.c
  140. endif
  141. IDAMAXKERNEL = idamax.c
  142. ifneq ($(GCCVERSIONGTEQ9),1)
  143. ICAMAXKERNEL = icamax_power9.S
  144. else
  145. ICAMAXKERNEL = icamax.c
  146. endif
  147. IZAMAXKERNEL = izamax.c
  148. #
  149. ifneq ($(GCCVERSIONGTEQ9),1)
  150. ISAMINKERNEL = isamin_power9.S
  151. else
  152. ISAMINKERNEL = isamin.c
  153. endif
  154. IDAMINKERNEL = idamin.c
  155. ifneq ($(GCCVERSIONGTEQ9),1)
  156. ICAMINKERNEL = icamin_power9.S
  157. else
  158. ICAMINKERNEL = icamin.c
  159. endif
  160. else
  161. ISAMAXKERNEL = isamax.c
  162. IDAMAXKERNEL = idamax.c
  163. ICAMAXKERNEL = icamax.c
  164. IZAMAXKERNEL = izamax.c
  165. ISAMINKERNEL = isamin.c
  166. IDAMINKERNEL = idamin.c
  167. ICAMINKERNEL = icamin.c
  168. endif
  169. IZAMINKERNEL = izamin.c
  170. #
  171. #ISMAXKERNEL = ../arm/imax.c
  172. #IDMAXKERNEL = ../arm/imax.c
  173. #
  174. #ISMINKERNEL = ../arm/imin.c
  175. #IDMINKERNEL = ../arm/imin.c
  176. #
  177. SASUMKERNEL = sasum.c
  178. DASUMKERNEL = dasum.c
  179. CASUMKERNEL = casum.c
  180. ZASUMKERNEL = zasum.c
  181. #
  182. SAXPYKERNEL = saxpy_power10.c
  183. DAXPYKERNEL = daxpy_power10.c
  184. CAXPYKERNEL = caxpy_power10.c
  185. ZAXPYKERNEL = zaxpy_power10.c
  186. #
  187. SCOPYKERNEL = scopy_power10.c
  188. DCOPYKERNEL = dcopy_power10.c
  189. CCOPYKERNEL = ccopy_power10.c
  190. ZCOPYKERNEL = zcopy_power10.c
  191. #
  192. SDOTKERNEL = sdot_power10.c
  193. DDOTKERNEL = ddot_power10.c
  194. DSDOTKERNEL = sdot_power10.c
  195. CDOTKERNEL = cdot.c
  196. ZDOTKERNEL = zdot.c
  197. #
  198. SNRM2KERNEL = ../arm/nrm2.c
  199. DNRM2KERNEL = ../arm/nrm2.c
  200. CNRM2KERNEL = ../arm/znrm2.c
  201. ZNRM2KERNEL = ../arm/znrm2.c
  202. #
  203. SROTKERNEL = srot.c
  204. DROTKERNEL = drot.c
  205. CROTKERNEL = crot.c
  206. ZROTKERNEL = zrot.c
  207. #
  208. SSCALKERNEL = sscal.c
  209. DSCALKERNEL = dscal.c
  210. ifeq ($(C_COMPILER), PGI)
  211. CSCALKERNEL = ../arm/zscal.c
  212. ZSCALKERNEL = ../arm/zscal.c
  213. else
  214. CSCALKERNEL = zscal.c
  215. ZSCALKERNEL = zscal.c
  216. endif
  217. #
  218. SSWAPKERNEL = sswap.c
  219. DSWAPKERNEL = dswap.c
  220. CSWAPKERNEL = cswap.c
  221. ZSWAPKERNEL = zswap.c
  222. #
  223. SGEMVNKERNEL = sgemv_n.c
  224. SBGEMVNKERNEL = sbgemv_n_power10.c
  225. DGEMVNKERNEL = dgemv_n_power10.c
  226. CGEMVNKERNEL = cgemv_n.c
  227. ZGEMVNKERNEL = zgemv_n_power10.c
  228. #
  229. SGEMVTKERNEL = sgemv_t.c
  230. SBGEMVTKERNEL = sbgemv_t_power10.c
  231. DGEMVTKERNEL = dgemv_t_power10.c
  232. CGEMVTKERNEL = cgemv_t.c
  233. ZGEMVTKERNEL = zgemv_t_4.c
  234. #SSYMV_U_KERNEL = ../generic/symv_k.c
  235. #SSYMV_L_KERNEL = ../generic/symv_k.c
  236. #DSYMV_U_KERNEL = ../generic/symv_k.c
  237. #DSYMV_L_KERNEL = ../generic/symv_k.c
  238. #QSYMV_U_KERNEL = ../generic/symv_k.c
  239. #QSYMV_L_KERNEL = ../generic/symv_k.c
  240. #CSYMV_U_KERNEL = ../generic/zsymv_k.c
  241. #CSYMV_L_KERNEL = ../generic/zsymv_k.c
  242. #ZSYMV_U_KERNEL = ../generic/zsymv_k.c
  243. #ZSYMV_L_KERNEL = ../generic/zsymv_k.c
  244. #XSYMV_U_KERNEL = ../generic/zsymv_k.c
  245. #XSYMV_L_KERNEL = ../generic/zsymv_k.c
  246. #ZHEMV_U_KERNEL = ../generic/zhemv_k.c
  247. #ZHEMV_L_KERNEL = ../generic/zhemv_k.c
  248. LSAME_KERNEL = ../generic/lsame.c
  249. SCABS_KERNEL = ../generic/cabs.c
  250. DCABS_KERNEL = ../generic/cabs.c
  251. QCABS_KERNEL = ../generic/cabs.c
  252. #Dump kernel
  253. CGEMM3MKERNEL = ../generic/zgemm3mkernel_dump.c
  254. ZGEMM3MKERNEL = ../generic/zgemm3mkernel_dump.c