Merge pull request #1607 from martin-frbg/dynarch
Move some x86_64 DYNAMIC_ARCH targets to new DYNAMIC_OLDER option
This commit is contained in:
commit
26e1cfb653
3
Makefile
3
Makefile
|
@ -153,6 +153,9 @@ ifeq ($(DYNAMIC_ARCH), 1)
|
||||||
do $(MAKE) GOTOBLAS_MAKEFILE= -C kernel TARGET_CORE=$$d kernel || exit 1 ;\
|
do $(MAKE) GOTOBLAS_MAKEFILE= -C kernel TARGET_CORE=$$d kernel || exit 1 ;\
|
||||||
done
|
done
|
||||||
@echo DYNAMIC_ARCH=1 >> Makefile.conf_last
|
@echo DYNAMIC_ARCH=1 >> Makefile.conf_last
|
||||||
|
ifeq ($(DYNAMIC_OLDER), 1)
|
||||||
|
@echo DYNAMIC_OLDER=1 >> Makefile.conf_last
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
ifdef USE_THREAD
|
ifdef USE_THREAD
|
||||||
@echo USE_THREAD=$(USE_THREAD) >> Makefile.conf_last
|
@echo USE_THREAD=$(USE_THREAD) >> Makefile.conf_last
|
||||||
|
|
|
@ -98,7 +98,7 @@ endif
|
||||||
@echo Generating openblas.pc in "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)"
|
@echo Generating openblas.pc in "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)"
|
||||||
@echo 'libdir='$(OPENBLAS_LIBRARY_DIR) > "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/openblas.pc"
|
@echo 'libdir='$(OPENBLAS_LIBRARY_DIR) > "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/openblas.pc"
|
||||||
@echo 'includedir='$(OPENBLAS_INCLUDE_DIR) >> "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/openblas.pc"
|
@echo 'includedir='$(OPENBLAS_INCLUDE_DIR) >> "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/openblas.pc"
|
||||||
@echo 'openblas_config= USE_64BITINT='$(USE_64BITINT) 'DYNAMIC_ARCH='$(DYNAMIC_ARCH) 'NO_CBLAS='$(NO_CBLAS) 'NO_LAPACK='$(NO_LAPACK) 'NO_LAPACKE='$(NO_LAPACKE) 'NO_AFFINITY='$(NO_AFFINITY) 'USE_OPENMP='$(USE_OPENMP) $(CORE) 'MAX_THREADS='$(NUM_THREADS)>> "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/openblas.pc"
|
@echo 'openblas_config= USE_64BITINT='$(USE_64BITINT) 'DYNAMIC_ARCH='$(DYNAMIC_ARCH) 'DYNAMIC_OLDER='$(DYNAMIC_OLDER) 'NO_CBLAS='$(NO_CBLAS) 'NO_LAPACK='$(NO_LAPACK) 'NO_LAPACKE='$(NO_LAPACKE) 'NO_AFFINITY='$(NO_AFFINITY) 'USE_OPENMP='$(USE_OPENMP) $(CORE) 'MAX_THREADS='$(NUM_THREADS)>> "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/openblas.pc"
|
||||||
@echo 'version='$(VERSION) >> "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/openblas.pc"
|
@echo 'version='$(VERSION) >> "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/openblas.pc"
|
||||||
@echo 'extralib='$(EXTRALIB) >> "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/openblas.pc"
|
@echo 'extralib='$(EXTRALIB) >> "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/openblas.pc"
|
||||||
@cat openblas.pc.in >> "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/openblas.pc"
|
@cat openblas.pc.in >> "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/openblas.pc"
|
||||||
|
|
|
@ -17,6 +17,11 @@ VERSION = 0.3.1.dev
|
||||||
# If you want to support multiple architecture in one binary
|
# If you want to support multiple architecture in one binary
|
||||||
# DYNAMIC_ARCH = 1
|
# DYNAMIC_ARCH = 1
|
||||||
|
|
||||||
|
# If you want the full list of x86_64 architectures supported in DYNAMIC_ARCH
|
||||||
|
# mode (including individual optimizied codes for PENRYN, DUNNINGTON, OPTERON,
|
||||||
|
# OPTERON_SSE3, ATOM and NANO rather than fallbacks to older architectures)
|
||||||
|
# DYNAMIC_OLDER = 1
|
||||||
|
|
||||||
# C compiler including binary type(32bit / 64bit). Default is gcc.
|
# 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.
|
# Don't use Intel Compiler or PGI, it won't generate right codes as I expect.
|
||||||
# CC = gcc
|
# CC = gcc
|
||||||
|
|
|
@ -472,7 +472,18 @@ DYNAMIC_CORE = KATMAI COPPERMINE NORTHWOOD PRESCOTT BANIAS \
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(ARCH), x86_64)
|
ifeq ($(ARCH), x86_64)
|
||||||
DYNAMIC_CORE = PRESCOTT CORE2 PENRYN DUNNINGTON NEHALEM OPTERON OPTERON_SSE3 BARCELONA BOBCAT ATOM NANO
|
DYNAMIC_CORE = PRESCOTT CORE2
|
||||||
|
ifeq ($(DYNAMIC_OLDER), 1)
|
||||||
|
DYNAMIC_CORE += PENRYN DUNNINGTON
|
||||||
|
endif
|
||||||
|
DYNAMIC_CORE += NEHALEM
|
||||||
|
ifeq ($(DYNAMIC_OLDER), 1)
|
||||||
|
DYNAMIC_CORE += OPTERON OPTERON_SSE3
|
||||||
|
endif
|
||||||
|
DYNAMIC_CORE += BARCELONA
|
||||||
|
ifeq ($(DYNAMIC_OLDER), 1)
|
||||||
|
DYNAMIC_CORE += BOBCAT ATOM NANO
|
||||||
|
endif
|
||||||
ifneq ($(NO_AVX), 1)
|
ifneq ($(NO_AVX), 1)
|
||||||
DYNAMIC_CORE += SANDYBRIDGE BULLDOZER PILEDRIVER STEAMROLLER EXCAVATOR
|
DYNAMIC_CORE += SANDYBRIDGE BULLDOZER PILEDRIVER STEAMROLLER EXCAVATOR
|
||||||
endif
|
endif
|
||||||
|
@ -917,6 +928,10 @@ ifeq ($(DYNAMIC_ARCH), 1)
|
||||||
CCOMMON_OPT += -DDYNAMIC_ARCH
|
CCOMMON_OPT += -DDYNAMIC_ARCH
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(DYNAMIC_OLDER), 1)
|
||||||
|
CCOMMON_OPT += -DDYNAMIC_OLDER
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(NO_LAPACK), 1)
|
ifeq ($(NO_LAPACK), 1)
|
||||||
CCOMMON_OPT += -DNO_LAPACK
|
CCOMMON_OPT += -DNO_LAPACK
|
||||||
#Disable LAPACK C interface
|
#Disable LAPACK C interface
|
||||||
|
|
|
@ -49,7 +49,18 @@ if (DYNAMIC_ARCH)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if (X86_64)
|
if (X86_64)
|
||||||
set(DYNAMIC_CORE PRESCOTT CORE2 PENRYN DUNNINGTON NEHALEM OPTERON OPTERON_SSE3 BARCELONA BOBCAT ATOM NANO)
|
set(DYNAMIC_CORE PRESCOTT CORE2)
|
||||||
|
if (DYNAMIC_OLDER)
|
||||||
|
set (DYNAMIC_CORE ${DYNAMIC_CORE} PENRYN DUNNINGTON)
|
||||||
|
endif ()
|
||||||
|
set (DYNAMIC_CORE ${DYNAMIC_CORE} NEHALEM)
|
||||||
|
if (DYNAMIC_OLDER)
|
||||||
|
set (DYNAMIC_CORE ${DYNAMIC_CORE} OPTERON OPTERON_SSE3)
|
||||||
|
endif ()
|
||||||
|
set (DYNAMIC_CORE ${DYNAMIC_CORE} BARCELONA)
|
||||||
|
if (DYNAMIC_OLDER)
|
||||||
|
set (DYNAMIC_CORE ${DYNAMIC_CORE} BOBCAT ATOM NANO)
|
||||||
|
endif ()
|
||||||
if (NOT NO_AVX)
|
if (NOT NO_AVX)
|
||||||
set(DYNAMIC_CORE ${DYNAMIC_CORE} SANDYBRIDGE BULLDOZER PILEDRIVER STEAMROLLER EXCAVATOR)
|
set(DYNAMIC_CORE ${DYNAMIC_CORE} SANDYBRIDGE BULLDOZER PILEDRIVER STEAMROLLER EXCAVATOR)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||||
includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
|
includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
|
||||||
|
|
||||||
openblas_config=USE_64BITINT=@USE_64BITINT@ NO_CBLAS=@NO_CBLAS@ NO_LAPACK=@NO_LAPACK@ NO_LAPACKE=@NO_LAPACKE@ DYNAMIC_ARCH=@DYNAMIC_ARCH@ NO_AFFINITY=@NO_AFFINITY@ USE_OPENMP=@USE_OPENMP@ @CORE@ MAX_THREADS=@NUM_THREADS@
|
openblas_config=USE_64BITINT=@USE_64BITINT@ NO_CBLAS=@NO_CBLAS@ NO_LAPACK=@NO_LAPACK@ NO_LAPACKE=@NO_LAPACKE@ DYNAMIC_ARCH=@DYNAMIC_ARCH@ DYNAMIC_OLDER=@DYNAMIC_OLDER@ NO_AFFINITY=@NO_AFFINITY@ USE_OPENMP=@USE_OPENMP@ @CORE@ MAX_THREADS=@NUM_THREADS@
|
||||||
Name: OpenBLAS
|
Name: OpenBLAS
|
||||||
Description: OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version
|
Description: OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version
|
||||||
Version: @OPENBLAS_VERSION@
|
Version: @OPENBLAS_VERSION@
|
||||||
|
|
|
@ -163,6 +163,9 @@ endif ()
|
||||||
|
|
||||||
if (DYNAMIC_ARCH)
|
if (DYNAMIC_ARCH)
|
||||||
set(CCOMMON_OPT "${CCOMMON_OPT} -DDYNAMIC_ARCH")
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DDYNAMIC_ARCH")
|
||||||
|
if (DYNAMIC_OLDER)
|
||||||
|
set(CCOMMON_OPT "${CCOMMON_OPT} -DDYNAMIC_OLDER")
|
||||||
|
endif ()
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if (NO_LAPACK)
|
if (NO_LAPACK)
|
||||||
|
|
|
@ -56,16 +56,27 @@ EXTERN gotoblas_t gotoblas_BANIAS;
|
||||||
EXTERN gotoblas_t gotoblas_ATHLON;
|
EXTERN gotoblas_t gotoblas_ATHLON;
|
||||||
|
|
||||||
extern gotoblas_t gotoblas_PRESCOTT;
|
extern gotoblas_t gotoblas_PRESCOTT;
|
||||||
|
extern gotoblas_t gotoblas_CORE2;
|
||||||
|
extern gotoblas_t gotoblas_NEHALEM;
|
||||||
|
extern gotoblas_t gotoblas_BARCELONA;
|
||||||
|
#ifdef DYNAMIC_OLDER
|
||||||
extern gotoblas_t gotoblas_ATOM;
|
extern gotoblas_t gotoblas_ATOM;
|
||||||
extern gotoblas_t gotoblas_NANO;
|
extern gotoblas_t gotoblas_NANO;
|
||||||
extern gotoblas_t gotoblas_CORE2;
|
|
||||||
extern gotoblas_t gotoblas_PENRYN;
|
extern gotoblas_t gotoblas_PENRYN;
|
||||||
extern gotoblas_t gotoblas_DUNNINGTON;
|
extern gotoblas_t gotoblas_DUNNINGTON;
|
||||||
extern gotoblas_t gotoblas_NEHALEM;
|
|
||||||
extern gotoblas_t gotoblas_OPTERON;
|
extern gotoblas_t gotoblas_OPTERON;
|
||||||
extern gotoblas_t gotoblas_OPTERON_SSE3;
|
extern gotoblas_t gotoblas_OPTERON_SSE3;
|
||||||
extern gotoblas_t gotoblas_BARCELONA;
|
|
||||||
extern gotoblas_t gotoblas_BOBCAT;
|
extern gotoblas_t gotoblas_BOBCAT;
|
||||||
|
#else
|
||||||
|
#define gotoblas_ATOM gotoblas_NEHALEM
|
||||||
|
#define gotoblas_NANO gotoblas_NEHALEM
|
||||||
|
#define gotoblas_PENRYN gotoblas_CORE2
|
||||||
|
#define gotoblas_DUNNINGTON gotoblas_CORE2
|
||||||
|
#define gotoblas_OPTERON gotoblas_CORE2
|
||||||
|
#define gotoblas_OPTERON_SSE3 gotoblas_CORE2
|
||||||
|
#define gotoblas_BOBCAT gotoblas_CORE2
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef NO_AVX
|
#ifndef NO_AVX
|
||||||
extern gotoblas_t gotoblas_SANDYBRIDGE;
|
extern gotoblas_t gotoblas_SANDYBRIDGE;
|
||||||
extern gotoblas_t gotoblas_BULLDOZER;
|
extern gotoblas_t gotoblas_BULLDOZER;
|
||||||
|
|
Loading…
Reference in New Issue