137 lines
4.3 KiB
Makefile
137 lines
4.3 KiB
Makefile
#
|
|
# Beginning of user configuration
|
|
#
|
|
|
|
# This library's version
|
|
VERSION = 0.2.8
|
|
|
|
# If you set the suffix, the library name will be libopenblas_$(LIBNAMESUFFIX).a
|
|
# and libopenblas_$(LIBNAMESUFFIX).so. Meanwhile, the soname in shared library
|
|
# is libopenblas_$(LIBNAMESUFFIX).so.0.
|
|
# LIBNAMESUFFIX = omp
|
|
|
|
# You can specify the target architecture, otherwise it's
|
|
# automatically detected.
|
|
TARGET = ARMV7
|
|
|
|
# If you want to support multiple architecture in one binary
|
|
# DYNAMIC_ARCH = 1
|
|
|
|
# C compiler including binary type(32bit / 64bit). Default is gcc.
|
|
# Don't use Intel Compiler or PGI, it won't generate right codes as I expect.
|
|
CC = gcc
|
|
|
|
# Fortran compiler. Default is g77.
|
|
FC = gfortran
|
|
|
|
# Even you can specify cross compiler. Meanwhile, please set HOSTCC.
|
|
#CC = arm-linux-gnueabihf-gcc
|
|
#FC = arm-linux-gnueabihf-gfortran
|
|
|
|
# If you use the cross compiler, please set this host compiler.
|
|
HOSTCC = gcc
|
|
|
|
# If you need 32bit binary, define BINARY=32, otherwise define BINARY=64
|
|
#BINARY=32
|
|
|
|
# About threaded BLAS. It will be automatically detected if you don't
|
|
# specify it.
|
|
# For force setting for single threaded, specify USE_THREAD = 0
|
|
# For force setting for multi threaded, specify USE_THREAD = 1
|
|
#USE_THREAD = 0
|
|
|
|
# If you're going to use this library with OpenMP, please comment it in.
|
|
# USE_OPENMP = 1
|
|
|
|
# You can define maximum number of threads. Basically it should be
|
|
# less than actual number of cores. If you don't specify one, it's
|
|
# automatically detected by the the script.
|
|
NUM_THREADS = 16
|
|
|
|
# if you don't need generate the shared library, please comment it in.
|
|
# NO_SHARED = 1
|
|
|
|
# If you don't need CBLAS interface, please comment it in.
|
|
# NO_CBLAS = 1
|
|
|
|
# If you don't need LAPACK, please comment it in.
|
|
# If you set NO_LAPACK=1, the library automatically sets NO_LAPACKE=1.
|
|
#NO_LAPACK = 1
|
|
|
|
# If you don't need LAPACKE (C Interface to LAPACK), please comment it in.
|
|
#NO_LAPACKE = 1
|
|
|
|
# If you want to use legacy threaded Level 3 implementation.
|
|
# USE_SIMPLE_THREADED_LEVEL3 = 1
|
|
|
|
# If you want to drive whole 64bit region by BLAS. Not all Fortran
|
|
# compiler supports this. It's safe to keep comment it out if you
|
|
# are not sure(equivalent to "-i8" option).
|
|
# INTERFACE64 = 1
|
|
|
|
# Unfortunately most of kernel won't give us high quality buffer.
|
|
# BLAS tries to find the best region before entering main function,
|
|
# but it will consume time. If you don't like it, you can disable one.
|
|
NO_WARMUP = 1
|
|
|
|
# If you want to disable CPU/Memory affinity on Linux.
|
|
NO_AFFINITY = 1
|
|
|
|
# Don't use AVX kernel on Sandy Bridge. It is compatible with old compilers
|
|
# and OS. However, the performance is low.
|
|
# NO_AVX = 1
|
|
|
|
# Don't use parallel make.
|
|
# NO_PARALLEL_MAKE = 1
|
|
|
|
# If you would like to know minute performance report of GotoBLAS.
|
|
# FUNCTION_PROFILE = 1
|
|
|
|
# Support for IEEE quad precision(it's *real* REAL*16)( under testing)
|
|
# QUAD_PRECISION = 1
|
|
|
|
# Theads are still working for a while after finishing BLAS operation
|
|
# to reduce thread activate/deactivate overhead. You can determine
|
|
# time out to improve performance. This number should be from 4 to 30
|
|
# which corresponds to (1 << n) cycles. For example, if you set to 26,
|
|
# thread will be running for (1 << 26) cycles(about 25ms on 3.0GHz
|
|
# system). Also you can control this mumber by THREAD_TIMEOUT
|
|
# CCOMMON_OPT += -DTHREAD_TIMEOUT=26
|
|
|
|
# Using special device driver for mapping physically contigous memory
|
|
# to the user space. If bigphysarea is enabled, it will use it.
|
|
# DEVICEDRIVER_ALLOCATION = 1
|
|
|
|
# If you need to synchronize FP CSR between threads (for x86/x86_64 only).
|
|
# CONSISTENT_FPCSR = 1
|
|
|
|
# If any gemm arguement m, n or k is less or equal this threshold, gemm will be execute
|
|
# with single thread. You can use this flag to avoid the overhead of multi-threading
|
|
# in small matrix sizes. The default value is 4.
|
|
# GEMM_MULTITHREAD_THRESHOLD = 4
|
|
|
|
# If you need santy check by comparing reference BLAS. It'll be very
|
|
# slow (Not implemented yet).
|
|
# SANITY_CHECK = 1
|
|
|
|
# Run testcases in utest/ . When you enable UTEST_CHECK, it would enable
|
|
# SANITY_CHECK to compare the result with reference BLAS.
|
|
# UTEST_CHECK = 1
|
|
|
|
# The installation directory.
|
|
# PREFIX = /opt/OpenBLAS
|
|
|
|
# Common Optimization Flag;
|
|
# The default -O2 is enough.
|
|
#COMMON_OPT = -O3 -marm -mfpu=vfpv3 -mfloat-abi=hard
|
|
|
|
# Profiling flags
|
|
COMMON_PROF = -pg
|
|
|
|
# Build Debug version
|
|
DEBUG = 1
|
|
|
|
#
|
|
# End of user configuration
|
|
#
|