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.NEOVERSEV1 3.2 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. ###############################################################################
  2. # Copyright (c) 2025, The OpenBLAS Project
  3. # All rights reserved.
  4. # Redistribution and use in source and binary forms, with or without
  5. # modification, are permitted provided that the following conditions are
  6. # met:
  7. # 1. Redistributions of source code must retain the above copyright
  8. # notice, this list of conditions and the following disclaimer.
  9. # 2. Redistributions in binary form must reproduce the above copyright
  10. # notice, this list of conditions and the following disclaimer in
  11. # the documentation and/or other materials provided with the
  12. # distribution.
  13. # 3. Neither the name of the OpenBLAS project nor the names of
  14. # its contributors may be used to endorse or promote products
  15. # derived from this software without specific prior written permission.
  16. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  17. # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  18. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  19. # ARE DISCLAIMED. IN NO EVENT SHALL THE OPENBLAS PROJECT OR CONTRIBUTORS BE
  20. # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  21. # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  22. # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  23. # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  24. # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  25. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  26. # POSSIBILITY OF SUCH DAMAGE.
  27. ###############################################################################
  28. include $(KERNELDIR)/KERNEL.ARMV8SVE
  29. SGEMVNKERNEL = gemv_n_sve_v1x3.c
  30. DGEMVNKERNEL = gemv_n_sve_v1x3.c
  31. SGEMVTKERNEL = gemv_t_sve_v1x3.c
  32. DGEMVTKERNEL = gemv_t_sve_v1x3.c
  33. SAXPYKERNEL = axpy_sve.c
  34. DAXPYKERNEL = axpy_sve.c
  35. ifeq ($(BUILD_BFLOAT16), 1)
  36. BGEMM_BETA = bgemm_beta_neon.c
  37. BGEMMKERNEL = bgemm_kernel_2vlx4_neoversev1.c
  38. ifneq ($(BGEMM_UNROLL_M), $(BGEMM_UNROLL_N))
  39. BGEMMINCOPY = bgemm_ncopy_2vl_neoversev1.c
  40. BGEMMITCOPY = bgemm_tcopy_2vl_neoversev1.c
  41. BGEMMINCOPYOBJ = bgemm_incopy$(TSUFFIX).$(SUFFIX)
  42. BGEMMITCOPYOBJ = bgemm_itcopy$(TSUFFIX).$(SUFFIX)
  43. endif
  44. BGEMMONCOPY = bgemm_ncopy_4_neoversev1.c
  45. BGEMMOTCOPY = bgemm_tcopy_4_neoversev1.c
  46. BGEMMONCOPYOBJ = bgemm_oncopy$(TSUFFIX).$(SUFFIX)
  47. BGEMMOTCOPYOBJ = bgemm_otcopy$(TSUFFIX).$(SUFFIX)
  48. BGEMVTKERNEL = sbgemv_t_bfdot.c
  49. BGEMVNKERNEL = bgemv_n_sve_v3x4.c
  50. SBGEMM_BETA = sbgemm_beta_neoversev1.c
  51. SBGEMMKERNEL = bgemm_kernel_2vlx4_neoversev1.c
  52. ifneq ($(SBGEMM_UNROLL_M), $(SBGEMM_UNROLL_N))
  53. SBGEMMINCOPY = bgemm_ncopy_2vl_neoversev1.c
  54. SBGEMMITCOPY = bgemm_tcopy_2vl_neoversev1.c
  55. SBGEMMINCOPYOBJ = sbgemm_incopy$(TSUFFIX).$(SUFFIX)
  56. SBGEMMITCOPYOBJ = sbgemm_itcopy$(TSUFFIX).$(SUFFIX)
  57. endif
  58. SBGEMMONCOPY = bgemm_ncopy_4_neoversev1.c
  59. SBGEMMOTCOPY = bgemm_tcopy_4_neoversev1.c
  60. SBGEMMONCOPYOBJ = sbgemm_oncopy$(TSUFFIX).$(SUFFIX)
  61. SBGEMMOTCOPYOBJ = sbgemm_otcopy$(TSUFFIX).$(SUFFIX)
  62. SBGEMVNKERNEL = sbgemv_n_neon.c
  63. SBGEMVTKERNEL = sbgemv_t_bfdot.c
  64. endif