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.

Makefile.rule 6.3 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. #
  2. # Beginning of user configuration
  3. #
  4. # This library's version
  5. VERSION = 0.3.0.dev
  6. # If you set the suffix, the library name will be libopenblas_$(LIBNAMESUFFIX).a
  7. # and libopenblas_$(LIBNAMESUFFIX).so. Meanwhile, the soname in shared library
  8. # is libopenblas_$(LIBNAMESUFFIX).so.0.
  9. # LIBNAMESUFFIX = omp
  10. # You can specify the target architecture, otherwise it's
  11. # automatically detected.
  12. # TARGET = PENRYN
  13. # If you want to support multiple architecture in one binary
  14. # DYNAMIC_ARCH = 1
  15. # C compiler including binary type(32bit / 64bit). Default is gcc.
  16. # Don't use Intel Compiler or PGI, it won't generate right codes as I expect.
  17. # CC = gcc
  18. # Fortran compiler. Default is g77.
  19. # FC = gfortran
  20. # Even you can specify cross compiler. Meanwhile, please set HOSTCC.
  21. # cross compiler for Windows
  22. # CC = x86_64-w64-mingw32-gcc
  23. # FC = x86_64-w64-mingw32-gfortran
  24. # cross compiler for 32bit ARM
  25. # CC = arm-linux-gnueabihf-gcc
  26. # FC = arm-linux-gnueabihf-gfortran
  27. # cross compiler for 64bit ARM
  28. # CC = aarch64-linux-gnu-gcc
  29. # FC = aarch64-linux-gnu-gfortran
  30. # If you use the cross compiler, please set this host compiler.
  31. # HOSTCC = gcc
  32. # If you need 32bit binary, define BINARY=32, otherwise define BINARY=64
  33. # BINARY=64
  34. # About threaded BLAS. It will be automatically detected if you don't
  35. # specify it.
  36. # For force setting for single threaded, specify USE_THREAD = 0
  37. # For force setting for multi threaded, specify USE_THREAD = 1
  38. # USE_THREAD = 0
  39. # If you're going to use this library with OpenMP, please comment it in.
  40. # This flag is always set for POWER8. Don't modify the flag
  41. # USE_OPENMP = 1
  42. # You can define maximum number of threads. Basically it should be
  43. # less than actual number of cores. If you don't specify one, it's
  44. # automatically detected by the the script.
  45. # NUM_THREADS = 24
  46. # if you don't need to install the static library, please comment it in.
  47. # NO_STATIC = 1
  48. # if you don't need generate the shared library, please comment it in.
  49. # NO_SHARED = 1
  50. # If you don't need CBLAS interface, please comment it in.
  51. # NO_CBLAS = 1
  52. # If you only want CBLAS interface without installing Fortran compiler,
  53. # please comment it in.
  54. # ONLY_CBLAS = 1
  55. # If you don't need LAPACK, please comment it in.
  56. # If you set NO_LAPACK=1, the library automatically sets NO_LAPACKE=1.
  57. # NO_LAPACK = 1
  58. # If you don't need LAPACKE (C Interface to LAPACK), please comment it in.
  59. # NO_LAPACKE = 1
  60. # Build LAPACK Deprecated functions since LAPACK 3.6.0
  61. BUILD_LAPACK_DEPRECATED = 1
  62. # Build RecursiveLAPACK on top of LAPACK
  63. # BUILD_RELAPACK = 1
  64. # If you want to use legacy threaded Level 3 implementation.
  65. # USE_SIMPLE_THREADED_LEVEL3 = 1
  66. # If you want to drive whole 64bit region by BLAS. Not all Fortran
  67. # compiler supports this. It's safe to keep comment it out if you
  68. # are not sure(equivalent to "-i8" option).
  69. # INTERFACE64 = 1
  70. # Unfortunately most of kernel won't give us high quality buffer.
  71. # BLAS tries to find the best region before entering main function,
  72. # but it will consume time. If you don't like it, you can disable one.
  73. NO_WARMUP = 1
  74. # If you want to disable CPU/Memory affinity on Linux.
  75. #NO_AFFINITY = 1
  76. # if you are compiling for Linux and you have more than 16 numa nodes or more than 256 cpus
  77. # BIGNUMA = 1
  78. # Don't use AVX kernel on Sandy Bridge. It is compatible with old compilers
  79. # and OS. However, the performance is low.
  80. # NO_AVX = 1
  81. # Don't use Haswell optimizations if binutils is too old (e.g. RHEL6)
  82. # NO_AVX2 = 1
  83. # Don't use parallel make.
  84. # NO_PARALLEL_MAKE = 1
  85. # Force number of make jobs. The default is the number of logical CPU of the host.
  86. # This is particularly useful when using distcc.
  87. # A negative value will disable adding a -j flag to make, allowing to use a parent
  88. # make -j value. This is useful to call OpenBLAS make from an other project
  89. # makefile
  90. # MAKE_NB_JOBS = 2
  91. # If you would like to know minute performance report of GotoBLAS.
  92. # FUNCTION_PROFILE = 1
  93. # Support for IEEE quad precision(it's *real* REAL*16)( under testing)
  94. # QUAD_PRECISION = 1
  95. # Theads are still working for a while after finishing BLAS operation
  96. # to reduce thread activate/deactivate overhead. You can determine
  97. # time out to improve performance. This number should be from 4 to 30
  98. # which corresponds to (1 << n) cycles. For example, if you set to 26,
  99. # thread will be running for (1 << 26) cycles(about 25ms on 3.0GHz
  100. # system). Also you can control this mumber by THREAD_TIMEOUT
  101. # CCOMMON_OPT += -DTHREAD_TIMEOUT=26
  102. # Using special device driver for mapping physically contigous memory
  103. # to the user space. If bigphysarea is enabled, it will use it.
  104. # DEVICEDRIVER_ALLOCATION = 1
  105. # If you need to synchronize FP CSR between threads (for x86/x86_64 only).
  106. # CONSISTENT_FPCSR = 1
  107. # If any gemm arguement m, n or k is less or equal this threshold, gemm will be execute
  108. # with single thread. You can use this flag to avoid the overhead of multi-threading
  109. # in small matrix sizes. The default value is 4.
  110. # GEMM_MULTITHREAD_THRESHOLD = 4
  111. # If you need santy check by comparing reference BLAS. It'll be very
  112. # slow (Not implemented yet).
  113. # SANITY_CHECK = 1
  114. # The installation directory.
  115. # PREFIX = /opt/OpenBLAS
  116. # Common Optimization Flag;
  117. # The default -O2 is enough.
  118. # Flags for POWER8 are defined in Makefile.power. Don't modify COMMON_OPT
  119. # COMMON_OPT = -O2
  120. # gfortran option for LAPACK
  121. # enable this flag only on 64bit Linux and if you need a thread safe lapack library
  122. # Flags for POWER8 are defined in Makefile.power. Don't modify FCOMMON_OPT
  123. # FCOMMON_OPT = -frecursive
  124. # Profiling flags
  125. COMMON_PROF = -pg
  126. # Build Debug version
  127. # DEBUG = 1
  128. # Set maximum stack allocation.
  129. # The default value is 2048. 0 disable stack allocation a may reduce GER and GEMV
  130. # performance. For details, https://github.com/xianyi/OpenBLAS/pull/482
  131. #
  132. # MAX_STACK_ALLOC = 0
  133. # Add a prefix or suffix to all exported symbol names in the shared library.
  134. # Avoid conflicts with other BLAS libraries, especially when using
  135. # 64 bit integer interfaces in OpenBLAS.
  136. # For details, https://github.com/xianyi/OpenBLAS/pull/459
  137. #
  138. # The same prefix and suffix are also added to the library name,
  139. # i.e. you get lib$(SYMBOLPREFIX)openblas$(SYMBOLSUFFIX) rather than libopenblas
  140. #
  141. # SYMBOLPREFIX=
  142. # SYMBOLSUFFIX=
  143. #
  144. # End of user configuration
  145. #