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