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