mirror of
https://github.com/amd/blis.git
synced 2026-04-19 23:28:52 +00:00
Merge branch 'master' into dev
This commit is contained in:
414
Makefile
414
Makefile
@@ -60,8 +60,8 @@
|
||||
cleantest cleanblastest cleanblistest \
|
||||
changelog \
|
||||
install uninstall uninstall-old \
|
||||
uninstall-libs uninstall-headers uninstall-lib-symlinks \
|
||||
uninstall-old-libs uninstall-old-headers
|
||||
uninstall-libs uninstall-lib-symlinks uninstall-headers \
|
||||
uninstall-old-libs uninstall-lib-symlinks uninstall-old-headers
|
||||
|
||||
|
||||
|
||||
@@ -105,24 +105,6 @@ BASE_OBJ_FRAME_PATH := $(BASE_OBJ_PATH)/$(FRAME_DIR)
|
||||
BASE_OBJ_REFKERN_PATH := $(BASE_OBJ_PATH)/$(REFKERN_DIR)
|
||||
BASE_OBJ_KERNELS_PATH := $(BASE_OBJ_PATH)/$(KERNELS_DIR)
|
||||
|
||||
# Construct the base path for the library.
|
||||
#BASE_LIB_PATH := ./$(LIB_DIR)/$(CONFIG_NAME)
|
||||
|
||||
# Construct the architecture-version string, which will be used to name the
|
||||
# library upon installation.
|
||||
#VERS_CONF := $(VERSION)-$(CONFIG_NAME)
|
||||
|
||||
# --- Library names ---
|
||||
|
||||
# Note: These names will be modified later to include the configuration and
|
||||
# version strings.
|
||||
#BLIS_LIB_NAME := $(LIBBLIS_NAME).a
|
||||
#BLIS_DLL_NAME := $(LIBBLIS_NAME).so
|
||||
|
||||
# Append the base library path to the library names.
|
||||
#BLIS_LIB_PATH := $(BASE_LIB_PATH)/$(BLIS_LIB_NAME)
|
||||
#BLIS_DLL_PATH := $(BASE_LIB_PATH)/$(BLIS_DLL_NAME)
|
||||
|
||||
# --- BLIS framework object variable names ---
|
||||
|
||||
# These hold object filenames corresponding to above.
|
||||
@@ -132,48 +114,40 @@ MK_KERNELS_OBJS :=
|
||||
|
||||
# --- Define install target names for static libraries ---
|
||||
|
||||
#MK_BLIS_LIB := $(LIBBLIS_A_PATH)
|
||||
LIBBLIS_A_INST := $(patsubst $(BASE_LIB_PATH)/%.a, \
|
||||
$(INSTALL_PREFIX)/lib/%.a, \
|
||||
$(LIBBLIS_A_PATH))
|
||||
LIBBLIS_A_INST_W_VERS_CONF := $(patsubst $(BASE_LIB_PATH)/%.a, \
|
||||
$(INSTALL_PREFIX)/lib/%-$(VERS_CONF).a, \
|
||||
$(LIBBLIS_A_PATH))
|
||||
LIBBLIS_A_VERS_CONF_INST := $(INSTALL_LIBDIR)/$(LIBBLIS)-$(VERS_CONF).a
|
||||
LIBBLIS_A_INST := $(INSTALL_LIBDIR)/$(LIBBLIS_A)
|
||||
|
||||
# --- Define install target names for shared libraries ---
|
||||
|
||||
#MK_BLIS_DLL := $(LIBBLIS_SO_PATH)
|
||||
LIBBLIS_SO_INST := $(patsubst $(BASE_LIB_PATH)/%.so, \
|
||||
$(INSTALL_PREFIX)/lib/%.so, \
|
||||
$(LIBBLIS_SO_PATH))
|
||||
LIBBLIS_SO_INST_W_VERS_CONF := $(patsubst $(BASE_LIB_PATH)/%.so, \
|
||||
$(INSTALL_PREFIX)/lib/%-$(VERS_CONF).so, \
|
||||
$(LIBBLIS_SO_PATH))
|
||||
LIBBLIS_SO_VERS_CONF_INST := $(INSTALL_LIBDIR)/$(LIBBLIS)-$(VERS_CONF).$(SO_SUF)
|
||||
LIBBLIS_SO_INST := $(INSTALL_LIBDIR)/$(LIBBLIS_SO)
|
||||
LIBBLIS_SO_MAJ_INST := $(INSTALL_LIBDIR)/$(LIBBLIS_SO).$(SO_MAJOR)
|
||||
LIBBLIS_SO_MMB_INST := $(INSTALL_LIBDIR)/$(LIBBLIS_SO).$(SO_MAJOR).$(SO_MINORB)
|
||||
|
||||
# --- Determine which libraries to build ---
|
||||
|
||||
MK_LIBS :=
|
||||
MK_LIBS_INST :=
|
||||
MK_LIBS_INST_W_VERS_CONF :=
|
||||
MK_LIBS :=
|
||||
MK_LIBS_INST :=
|
||||
MK_LIBS_SYML :=
|
||||
|
||||
ifeq ($(BLIS_ENABLE_STATIC_BUILD),yes)
|
||||
MK_LIBS += $(LIBBLIS_A_PATH)
|
||||
MK_LIBS_INST += $(LIBBLIS_A_INST)
|
||||
MK_LIBS_INST_W_VERS_CONF += $(LIBBLIS_A_INST_W_VERS_CONF)
|
||||
ifeq ($(MK_ENABLE_STATIC),yes)
|
||||
MK_LIBS += $(LIBBLIS_A_PATH)
|
||||
MK_LIBS_INST += $(LIBBLIS_A_INST)
|
||||
MK_LIBS_SYML +=
|
||||
endif
|
||||
|
||||
ifeq ($(BLIS_ENABLE_SHARED_BUILD),yes)
|
||||
MK_LIBS += $(LIBBLIS_SO_PATH)
|
||||
MK_LIBS_INST += $(LIBBLIS_SO_INST)
|
||||
MK_LIBS_INST_W_VERS_CONF += $(LIBBLIS_SO_INST_W_VERS_CONF)
|
||||
ifeq ($(MK_ENABLE_SHARED),yes)
|
||||
MK_LIBS += $(LIBBLIS_SO_PATH)
|
||||
MK_LIBS_INST += $(LIBBLIS_SO_MMB_INST)
|
||||
MK_LIBS_SYML += $(LIBBLIS_SO_INST) \
|
||||
$(LIBBLIS_SO_MAJ_INST)
|
||||
endif
|
||||
|
||||
# Strip leading, internal, and trailing whitespace.
|
||||
MK_LIBS_INST := $(strip $(MK_LIBS_INST))
|
||||
MK_LIBS_INST_W_VERS_CONF := $(strip $(MK_LIBS_INST_W_VERS_CONF))
|
||||
MK_LIBS_INST := $(strip $(MK_LIBS_INST))
|
||||
MK_LIBS_SYML := $(strip $(MK_LIBS_SYML))
|
||||
|
||||
# Set the include directory names
|
||||
MK_INCL_DIR_INST := $(INSTALL_PREFIX)/include/blis
|
||||
# Set the include installation directory subdirectory name.
|
||||
MK_INCL_DIR_INST := $(INSTALL_INCDIR)/blis
|
||||
|
||||
|
||||
|
||||
@@ -273,10 +247,10 @@ MK_BLIS_OBJS := $(MK_CONFIG_OBJS) \
|
||||
# added into the library (and reduces compilation time).
|
||||
BASE_OBJ_BLAS_PATH := $(BASE_OBJ_FRAME_PATH)/compat
|
||||
BASE_OBJ_CBLAS_PATH := $(BASE_OBJ_FRAME_PATH)/compat/cblas
|
||||
ifeq ($(BLIS_ENABLE_CBLAS),no)
|
||||
ifeq ($(MK_ENABLE_CBLAS),no)
|
||||
MK_BLIS_OBJS := $(filter-out $(BASE_OBJ_CBLAS_PATH)/%.o, $(MK_BLIS_OBJS) )
|
||||
endif
|
||||
ifeq ($(BLIS_ENABLE_BLAS2BLIS),no)
|
||||
ifeq ($(MK_ENABLE_BLAS),no)
|
||||
MK_BLIS_OBJS := $(filter-out $(BASE_OBJ_BLAS_PATH)/%.o, $(MK_BLIS_OBJS) )
|
||||
endif
|
||||
|
||||
@@ -292,7 +266,7 @@ HEADERS_TO_INSTALL := $(BLIS_H_FLAT)
|
||||
# If CBLAS is enabled, we also install cblas.h so the user does not need to
|
||||
# change their source code to #include "blis.h" in order to access the CBLAS
|
||||
# function prototypes and enums.
|
||||
ifeq ($(BLIS_ENABLE_CBLAS),yes)
|
||||
ifeq ($(MK_ENABLE_CBLAS),yes)
|
||||
HEADERS_TO_INSTALL += $(CBLAS_H_FLAT)
|
||||
endif
|
||||
|
||||
@@ -380,7 +354,7 @@ MK_TESTSUITE_OBJS := $(sort \
|
||||
)
|
||||
|
||||
# The test suite binary executable filename.
|
||||
TESTSUITE_BIN := test_$(LIBBLIS_NAME).x
|
||||
TESTSUITE_BIN := test_$(LIBBLIS).x
|
||||
|
||||
# The location of the script that checks the BLIS testsuite output.
|
||||
TESTSUITE_CHECK := $(DIST_PATH)/$(BUILD_DIR)/check-blistest.sh
|
||||
@@ -391,19 +365,34 @@ TESTSUITE_CHECK := $(DIST_PATH)/$(BUILD_DIR)/check-blistest.sh
|
||||
# --- Uninstall definitions ----------------------------------------------------
|
||||
#
|
||||
|
||||
# This shell command grabs all files named "libblis-*.a" or "libblis-*.so" in
|
||||
# the installation directory and then filters out the name of the library
|
||||
# archive for the current version/configuration and its symlink. We consider
|
||||
# this remaining set of libraries to be "old" and eligible for removal upon
|
||||
# running of the uninstall-old target.
|
||||
UNINSTALL_LIBS := $(shell $(FIND) $(INSTALL_PREFIX)/lib/ -name "$(LIBBLIS_NAME)-*.a" 2> /dev/null | $(GREP) -v "$(LIBBLIS_NAME)-$(VERS_CONF).a" | $(GREP) -v $(LIBBLIS_A))
|
||||
UNINSTALL_LIBS += $(shell $(FIND) $(INSTALL_PREFIX)/lib/ -name "$(LIBBLIS_NAME)-*.so" 2> /dev/null | $(GREP) -v "$(LIBBLIS_NAME)-$(VERS_CONF).so" | $(GREP) -v $(LIBBLIS_SO))
|
||||
ifeq ($(IS_CONFIGURED),yes)
|
||||
|
||||
# These shell commands gather the filepaths to any library in the current
|
||||
# LIBDIR that might be left over from an old installation. We start with
|
||||
# including nothing for static libraries, since older static libraries are
|
||||
# always overwritten by newer ones. Then we add shared libraries, which are
|
||||
# named with three .so version numbers.
|
||||
UNINSTALL_OLD_LIBS :=
|
||||
|
||||
UNINSTALL_OLD_LIBS += $(shell $(FIND) $(INSTALL_LIBDIR)/ -name "$(LIBBLIS_SO).?.?.?" 2> /dev/null | $(GREP) -v "$(LIBBLIS_SO).$(SO_MMB)")
|
||||
|
||||
# These shell commands gather the filepaths to any library symlink in the
|
||||
# current LIBDIR that might be left over from an old installation. We start
|
||||
# with symlinks named using the .so major version number.
|
||||
UNINSTALL_OLD_SYML := $(shell $(FIND) $(INSTALL_LIBDIR)/ -name "$(LIBBLIS_SO).?" 2> /dev/null | $(GREP) -v "$(LIBBLIS_SO).$(SO_MAJOR)")
|
||||
|
||||
# We also prepare to uninstall older-style symlinks whose names contain the
|
||||
# BLIS version number and configuration family.
|
||||
UNINSTALL_OLD_SYML += $(shell $(FIND) $(INSTALL_LIBDIR)/ -name "$(LIBBLIS)-*.a" 2> /dev/null | $(GREP) -v "$(LIBBLIS)-$(VERS_CONF).a")
|
||||
|
||||
UNINSTALL_OLD_SYML += $(shell $(FIND) $(INSTALL_LIBDIR)/ -name "$(LIBBLIS)-*.$(SO_SUF)" 2> /dev/null | $(GREP) -v "$(LIBBLIS)-$(VERS_CONF).$(SO_SUF)")
|
||||
|
||||
# This shell command grabs all files named "*.h" that are not blis.h or cblas.h
|
||||
# in the installation directory. We consider this set of headers to be "old" and
|
||||
# eligible for removal upon running of the uninstall-old-headers target.
|
||||
UNINSTALL_HEADERS := $(shell $(FIND) $(INSTALL_PREFIX)/include/blis/ -name "*.h" 2> /dev/null | $(GREP) -v "$(BLIS_H)" | $(GREP) -v "$(CBLAS_H)")
|
||||
UNINSTALL_OLD_HEADERS := $(shell $(FIND) $(INSTALL_INCDIR)/blis/ -name "*.h" 2> /dev/null | $(GREP) -v "$(BLIS_H)" | $(GREP) -v "$(CBLAS_H)")
|
||||
|
||||
endif # IS_CONFIGURED
|
||||
|
||||
|
||||
#
|
||||
@@ -420,13 +409,13 @@ test: testblis testblas
|
||||
|
||||
check: checkblis-fast checkblas
|
||||
|
||||
install: libs install-libs install-headers install-lib-symlinks
|
||||
install: libs install-libs install-lib-symlinks install-headers
|
||||
|
||||
uninstall: uninstall-libs uninstall-headers uninstall-lib-symlinks
|
||||
uninstall: uninstall-libs uninstall-lib-symlinks uninstall-headers
|
||||
|
||||
uninstall-old: uninstall-old-libs uninstall-old-headers
|
||||
uninstall-old: uninstall-old-libs uninstall-old-symlinks uninstall-old-headers
|
||||
|
||||
clean: cleanlib cleantest
|
||||
clean: cleanh cleanlib
|
||||
|
||||
|
||||
# --- Environment check rules ---
|
||||
@@ -454,7 +443,7 @@ endif
|
||||
flat-header: check-env $(BLIS_H_FLAT)
|
||||
|
||||
$(BLIS_H_FLAT): $(MK_HEADER_FILES)
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(FLATTEN_H) -c -v1 $(BLIS_H_SRC_PATH) $@ "./$(INCLUDE_DIR)" "$(MK_HEADER_DIR_PATHS)"
|
||||
else
|
||||
@echo -n "Generating monolithic blis.h"
|
||||
@@ -467,7 +456,7 @@ endif
|
||||
flat-cblas-header: check-env $(CBLAS_H_FLAT)
|
||||
|
||||
$(CBLAS_H_FLAT): $(MK_HEADER_FILES)
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(FLATTEN_H) -c -v1 $(CBLAS_H_SRC_PATH) $@ "./$(INCLUDE_DIR)" "$(MK_HEADER_DIR_PATHS)"
|
||||
else
|
||||
@echo -n "Generating monolithic cblas.h"
|
||||
@@ -486,7 +475,7 @@ endif
|
||||
# CFLAGS to use during compilation.
|
||||
define make-config-rule
|
||||
$(BASE_OBJ_CONFIG_PATH)/$(1)/%.o: $(CONFIG_PATH)/$(1)/%.c $(BLIS_H_FLAT) $(MAKE_DEFS_MK_PATHS)
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(CC) $(call get-config-cflags-for,$(1)) -c $$< -o $$@
|
||||
else
|
||||
@echo "Compiling $$@" $(call get-config-text-for,$(1))
|
||||
@@ -498,7 +487,7 @@ endef
|
||||
# config_name, used to look up the CFLAGS to use during compilation.
|
||||
define make-frame-rule
|
||||
$(BASE_OBJ_FRAME_PATH)/%.o: $(FRAME_PATH)/%.c $(BLIS_H_FLAT) $(MAKE_DEFS_MK_PATHS)
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(CC) $(call get-frame-cflags-for,$(1)) -c $$< -o $$@
|
||||
else
|
||||
@echo "Compiling $$@" $(call get-frame-text-for,$(1))
|
||||
@@ -509,7 +498,7 @@ endef
|
||||
# first argument: a kernel set (name) being targeted (e.g. haswell).
|
||||
define make-refinit-rule
|
||||
$(BASE_OBJ_REFKERN_PATH)/$(1)/bli_cntx_$(1)_ref.o: $(REFKERN_PATH)/bli_cntx_ref.c $(BLIS_H_FLAT) $(MAKE_DEFS_MK_PATHS)
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(CC) $(call get-refinit-cflags-for,$(1)) -c $$< -o $$@
|
||||
else
|
||||
@echo "Compiling $$@" $(call get-refinit-text-for,$(1))
|
||||
@@ -520,7 +509,7 @@ endef
|
||||
# first argument: a kernel set (name) being targeted (e.g. haswell).
|
||||
define make-refkern-rule
|
||||
$(BASE_OBJ_REFKERN_PATH)/$(1)/%_$(1)_ref.o: $(REFKERN_PATH)/%_ref.c $(BLIS_H_FLAT) $(MAKE_DEFS_MK_PATHS)
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(CC) $(call get-refkern-cflags-for,$(1)) -c $$< -o $$@
|
||||
else
|
||||
@echo "Compiling $$@" $(call get-refkern-text-for,$(1))
|
||||
@@ -534,7 +523,7 @@ endef
|
||||
#$(BASE_OBJ_KERNELS_PATH)/$(1)/%.o: $(KERNELS_PATH)/$(1)/%.c $(BLIS_H_FLAT) $(MAKE_DEFS_MK_PATHS)
|
||||
define make-kernels-rule
|
||||
$(BASE_OBJ_KERNELS_PATH)/$(1)/%.o: $(KERNELS_PATH)/$(1)/%.$(3) $(BLIS_H_FLAT) $(MAKE_DEFS_MK_PATHS)
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(CC) $(call get-kernel-cflags-for,$(2)) -c $$< -o $$@
|
||||
else
|
||||
@echo "Compiling $$@" $(call get-kernel-text-for,$(2))
|
||||
@@ -588,7 +577,7 @@ libblis: check-env $(MK_LIBS)
|
||||
# --- Static library archiver rules ---
|
||||
|
||||
$(LIBBLIS_A_PATH): $(MK_BLIS_OBJS)
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(AR) $(ARFLAGS) $@ $?
|
||||
$(RANLIB) $@
|
||||
else
|
||||
@@ -601,7 +590,7 @@ endif
|
||||
# --- Dynamic library linker rules ---
|
||||
|
||||
$(LIBBLIS_SO_PATH): $(MK_BLIS_OBJS)
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(LINKER) $(SOFLAGS) $(LDFLAGS) -o $@ $?
|
||||
else
|
||||
@echo "Dynamically linking $@"
|
||||
@@ -621,7 +610,7 @@ blastest-run: $(BLASTEST_DRV_BINS_R)
|
||||
|
||||
# f2c object file rule.
|
||||
$(BASE_OBJ_BLASTEST_PATH)/%.o: $(BLASTEST_F2C_SRC_PATH)/%.c
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(CC) $(CFLAGS) $(BLAT_CFLAGS) -c $< -o $@
|
||||
else
|
||||
@echo "Compiling $@"
|
||||
@@ -630,7 +619,7 @@ endif
|
||||
|
||||
# driver object file rule.
|
||||
$(BASE_OBJ_BLASTEST_PATH)/%.o: $(BLASTEST_DRV_SRC_PATH)/%.c
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(CC) $(CFLAGS) $(BLAT_CFLAGS) -c $< -o $@
|
||||
else
|
||||
@echo "Compiling $@"
|
||||
@@ -639,7 +628,7 @@ endif
|
||||
|
||||
# libf2c library archive rule.
|
||||
$(BLASTEST_F2C_LIB): $(BLASTEST_F2C_OBJS)
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(AR) $(ARFLAGS) $@ $?
|
||||
$(RANLIB) $@
|
||||
else
|
||||
@@ -651,7 +640,7 @@ endif
|
||||
# first argument: the base name of the BLAS test driver.
|
||||
define make-blat-rule
|
||||
$(BASE_OBJ_BLASTEST_PATH)/$(1).x: $(BASE_OBJ_BLASTEST_PATH)/$(1).o $(BLASTEST_F2C_LIB) $(LIBBLIS_LINK)
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(LINKER) $(BASE_OBJ_BLASTEST_PATH)/$(1).o $(BLASTEST_F2C_LIB) $(LIBBLIS_LINK) $(LDFLAGS) -o $$@
|
||||
else
|
||||
@echo "Linking $$(@F) against '$(notdir $(BLASTEST_F2C_LIB)) $(LIBBLIS_LINK) $(LDFLAGS)'"
|
||||
@@ -665,7 +654,7 @@ $(foreach name, $(BLASTEST_DRV_BASES), $(eval $(call make-blat-rule,$(name))))
|
||||
# A rule to run ?blat1.x driver files.
|
||||
define make-run-blat1-rule
|
||||
run-$(1): $(BASE_OBJ_BLASTEST_PATH)/$(1).x
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(BASE_OBJ_BLASTEST_PATH)/$(1).x > out.$(1)
|
||||
else
|
||||
@echo "Running $(1).x > 'out.$(1)'"
|
||||
@@ -679,7 +668,7 @@ $(foreach name, $(BLASTEST_DRV1_BASES), $(eval $(call make-run-blat1-rule,$(name
|
||||
# A rule to run ?blat2.x and ?blat3.x driver files.
|
||||
define make-run-blat23-rule
|
||||
run-$(1): $(BASE_OBJ_BLASTEST_PATH)/$(1).x
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(BASE_OBJ_BLASTEST_PATH)/$(1).x < $(BLASTEST_INPUT_PATH)/$(1).in
|
||||
else
|
||||
@echo "Running $(1).x < '$(BLASTEST_INPUT_PATH)/$(1).in' (output to 'out.$(1)')"
|
||||
@@ -695,7 +684,7 @@ $(foreach name, $(BLASTEST_DRV3_BASES), $(eval $(call make-run-blat23-rule,$(nam
|
||||
|
||||
# Check the results of the BLAS test suite drivers.
|
||||
checkblas: blastest-run
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
- $(BLASTEST_CHECK)
|
||||
else
|
||||
@- $(BLASTEST_CHECK)
|
||||
@@ -713,7 +702,7 @@ testsuite-bin: check-env $(TESTSUITE_BIN)
|
||||
|
||||
# Object file rule.
|
||||
$(BASE_OBJ_TESTSUITE_PATH)/%.o: $(TESTSUITE_SRC_PATH)/%.c
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(CC) $(call get-frame-cflags-for,$(CONFIG_NAME)) -c $< -o $@
|
||||
else
|
||||
@echo "Compiling $@"
|
||||
@@ -722,7 +711,7 @@ endif
|
||||
|
||||
# Testsuite binary rule.
|
||||
$(TESTSUITE_BIN): $(MK_TESTSUITE_OBJS) $(LIBBLIS_LINK)
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(LINKER) $(MK_TESTSUITE_OBJS) $(LIBBLIS_LINK) $(LDFLAGS) -o $@
|
||||
else
|
||||
@echo "Linking $@ against '$(LIBBLIS_LINK) $(LDFLAGS)'"
|
||||
@@ -731,7 +720,7 @@ endif
|
||||
|
||||
# A rule to run the testsuite using the normal input.* files.
|
||||
testsuite-run: testsuite-bin
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
./$(TESTSUITE_BIN) -g $(TESTSUITE_CONF_GEN_PATH) \
|
||||
-o $(TESTSUITE_CONF_OPS_PATH) \
|
||||
> $(TESTSUITE_OUT_FILE)
|
||||
@@ -746,7 +735,7 @@ endif
|
||||
# A rule to run the testsuite using the input.*.fast files, which
|
||||
# run a set of tests designed to finish much more quickly.
|
||||
testsuite-run-fast: testsuite-bin
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
./$(TESTSUITE_BIN) -g $(TESTSUITE_FAST_GEN_PATH) \
|
||||
-o $(TESTSUITE_FAST_OPS_PATH) \
|
||||
> $(TESTSUITE_OUT_FILE)
|
||||
@@ -760,7 +749,7 @@ endif
|
||||
|
||||
# Check the results of the BLIS testsuite.
|
||||
checkblis: testsuite-run
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
- $(TESTSUITE_CHECK) $(TESTSUITE_OUT_FILE)
|
||||
else
|
||||
@- $(TESTSUITE_CHECK) $(TESTSUITE_OUT_FILE)
|
||||
@@ -768,7 +757,7 @@ endif
|
||||
|
||||
# Check the results of the BLIS testsuite (fast).
|
||||
checkblis-fast: testsuite-run-fast
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
- $(TESTSUITE_CHECK) $(TESTSUITE_OUT_FILE)
|
||||
else
|
||||
@- $(TESTSUITE_CHECK) $(TESTSUITE_OUT_FILE)
|
||||
@@ -779,7 +768,7 @@ endif
|
||||
install-headers: check-env $(MK_INCL_DIR_INST)
|
||||
|
||||
$(MK_INCL_DIR_INST): $(HEADERS_TO_INSTALL) $(CONFIG_MK_FILE)
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(MKDIR) $(@)
|
||||
$(INSTALL) -m 0644 $(HEADERS_TO_INSTALL) $(@)
|
||||
else
|
||||
@@ -791,24 +780,26 @@ endif
|
||||
|
||||
# --- Install library rules ---
|
||||
|
||||
install-libs: check-env $(MK_LIBS_INST_W_VERS_CONF)
|
||||
install-libs: check-env $(MK_LIBS_INST)
|
||||
|
||||
$(INSTALL_PREFIX)/lib/%-$(VERS_CONF).a: $(BASE_LIB_PATH)/%.a $(CONFIG_MK_FILE)
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
# Install static library.
|
||||
$(INSTALL_LIBDIR)/%.a: $(BASE_LIB_PATH)/%.a $(CONFIG_MK_FILE)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(MKDIR) $(@D)
|
||||
$(INSTALL) -m 0644 $< $@
|
||||
else
|
||||
@echo "Installing $(@F) into $(INSTALL_PREFIX)/lib/"
|
||||
@echo "Installing $(@F) into $(INSTALL_LIBDIR)/"
|
||||
@$(MKDIR) $(@D)
|
||||
@$(INSTALL) -m 0644 $< $@
|
||||
endif
|
||||
|
||||
$(INSTALL_PREFIX)/lib/%-$(VERS_CONF).so: $(BASE_LIB_PATH)/%.so $(CONFIG_MK_FILE)
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
# Install shared library containing .so major, minor, and build versions.
|
||||
$(INSTALL_LIBDIR)/%.$(SO_SUF).$(SO_MMB): $(BASE_LIB_PATH)/%.$(SO_SUF) $(CONFIG_MK_FILE)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(MKDIR) $(@D)
|
||||
$(INSTALL) -m 0644 $< $@
|
||||
else
|
||||
@echo "Installing $(@F) into $(INSTALL_PREFIX)/lib/"
|
||||
@echo "Installing $(@F) into $(INSTALL_LIBDIR)/"
|
||||
@$(MKDIR) $(@D)
|
||||
@$(INSTALL) -m 0644 $< $@
|
||||
endif
|
||||
@@ -816,26 +807,50 @@ endif
|
||||
|
||||
# --- Install-symlinks rules ---
|
||||
|
||||
install-lib-symlinks: check-env $(MK_LIBS_INST)
|
||||
install-lib-symlinks: check-env $(MK_LIBS_SYML)
|
||||
|
||||
$(INSTALL_PREFIX)/lib/%.a: $(INSTALL_PREFIX)/lib/%-$(VERS_CONF).a
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
# Install generic shared library symlink.
|
||||
$(INSTALL_LIBDIR)/%.$(SO_SUF): $(INSTALL_LIBDIR)/%.$(SO_SUF).$(SO_MMB)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(SYMLINK) $(<F) $(@F)
|
||||
$(MV) $(@F) $(INSTALL_PREFIX)/lib/
|
||||
$(MV) $(@F) $(INSTALL_LIBDIR)/
|
||||
else
|
||||
@echo "Installing symlink $(@F) into $(INSTALL_PREFIX)/lib/"
|
||||
@echo "Installing symlink $(@F) into $(INSTALL_LIBDIR)/"
|
||||
@$(SYMLINK) $(<F) $(@F)
|
||||
@$(MV) $(@F) $(INSTALL_PREFIX)/lib/
|
||||
@$(MV) $(@F) $(INSTALL_LIBDIR)/
|
||||
endif
|
||||
|
||||
$(INSTALL_PREFIX)/lib/%.so: $(INSTALL_PREFIX)/lib/%-$(VERS_CONF).so
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
# Install shared library symlink containing only .so major version.
|
||||
$(INSTALL_LIBDIR)/%.$(SO_SUF).$(SO_MAJOR): $(INSTALL_LIBDIR)/%.$(SO_SUF).$(SO_MMB)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(SYMLINK) $(<F) $(@F)
|
||||
$(MV) $(@F) $(INSTALL_PREFIX)/lib/
|
||||
$(MV) $(@F) $(INSTALL_LIBDIR)/
|
||||
else
|
||||
@echo "Installing symlink $(@F) into $(INSTALL_PREFIX)/lib/"
|
||||
@echo "Installing symlink $(@F) into $(INSTALL_LIBDIR)/"
|
||||
@$(SYMLINK) $(<F) $(@F)
|
||||
@$(MV) $(@F) $(INSTALL_PREFIX)/lib/
|
||||
@$(MV) $(@F) $(INSTALL_LIBDIR)/
|
||||
endif
|
||||
|
||||
# Install static library symlink containing version and config family.
|
||||
$(INSTALL_LIBDIR)/%-$(VERS_CONF).a: $(INSTALL_LIBDIR)/%.a
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(SYMLINK) $(<F) $(@F)
|
||||
$(MV) $(@F) $(INSTALL_LIBDIR)/
|
||||
else
|
||||
@echo "Installing symlink $(@F) into $(INSTALL_LIBDIR)/"
|
||||
@$(SYMLINK) $(<F) $(@F)
|
||||
@$(MV) $(@F) $(INSTALL_LIBDIR)/
|
||||
endif
|
||||
|
||||
# Install shared library symlink containing version and config family.
|
||||
$(INSTALL_LIBDIR)/%-$(VERS_CONF).$(SO_SUF): $(INSTALL_LIBDIR)/%.$(SO_SUF)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(SYMLINK) $(<F) $(@F)
|
||||
$(MV) $(@F) $(INSTALL_LIBDIR)/
|
||||
else
|
||||
@echo "Installing symlink $(@F) into $(INSTALL_LIBDIR)/"
|
||||
@$(SYMLINK) $(<F) $(@F)
|
||||
@$(MV) $(@F) $(INSTALL_LIBDIR)/
|
||||
endif
|
||||
|
||||
|
||||
@@ -848,19 +863,23 @@ showconfig: check-env
|
||||
@echo "kernel-to-config map: $(KCONFIG_MAP)"
|
||||
@echo "-----------------------"
|
||||
@echo "BLIS version string: $(VERSION)"
|
||||
@echo "install prefix: $(INSTALL_PREFIX)"
|
||||
@echo ".so major version: $(SO_MAJOR)"
|
||||
@echo ".so minor.build vers: $(SO_MINORB)"
|
||||
@echo "install libdir: $(INSTALL_LIBDIR)"
|
||||
@echo "install includedir: $(INSTALL_INCDIR)"
|
||||
@echo "debugging status: $(DEBUG_TYPE)"
|
||||
@echo "multithreading status: $(THREADING_MODEL)"
|
||||
@echo "enable BLAS API? $(BLIS_ENABLE_BLAS2BLIS)"
|
||||
@echo "enable CBLAS API? $(BLIS_ENABLE_CBLAS)"
|
||||
@echo "build static library? $(BLIS_ENABLE_STATIC_BUILD)"
|
||||
@echo "build shared library? $(BLIS_ENABLE_SHARED_BUILD)"
|
||||
@echo "enable BLAS API? $(MK_ENABLE_BLAS)"
|
||||
@echo "enable CBLAS API? $(MK_ENABLE_CBLAS)"
|
||||
@echo "build static library? $(MK_ENABLE_STATIC)"
|
||||
@echo "build shared library? $(MK_ENABLE_SHARED)"
|
||||
|
||||
|
||||
# --- Clean rules ---
|
||||
|
||||
cleanmk: check-env
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
cleanmk:
|
||||
ifeq ($(IS_CONFIGURED),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
- $(FIND) $(CONFIG_PATH) -name "$(FRAGMENT_MK)" | $(XARGS) $(RM_F)
|
||||
- $(FIND) $(FRAME_PATH) -name "$(FRAGMENT_MK)" | $(XARGS) $(RM_F)
|
||||
- $(FIND) $(REFKERN_PATH) -name "$(FRAGMENT_MK)" | $(XARGS) $(RM_F)
|
||||
@@ -875,71 +894,129 @@ else
|
||||
@echo "Removing makefile fragments from $(KERNELS_PATH)."
|
||||
@- $(FIND) $(KERNELS_PATH) -name "$(FRAGMENT_MK)" | $(XARGS) $(RM_F)
|
||||
endif
|
||||
|
||||
cleanh: check-env
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
$(RM_F) $(BLIS_H_FLAT)
|
||||
else
|
||||
@echo "Removing blis.h file from $(BASE_INC_PATH)."
|
||||
@$(RM_F) $(BLIS_H_FLAT)
|
||||
endif
|
||||
|
||||
cleanlib: check-env
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
cleanh:
|
||||
ifeq ($(IS_CONFIGURED),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(RM_F) $(BLIS_H_FLAT)
|
||||
$(RM_F) $(CBLAS_H_FLAT)
|
||||
else
|
||||
@echo "Removing flattened header files from $(BASE_INC_PATH)."
|
||||
@$(RM_F) $(BLIS_H_FLAT)
|
||||
@$(RM_F) $(CBLAS_H_FLAT)
|
||||
endif
|
||||
endif
|
||||
|
||||
cleanlib:
|
||||
ifeq ($(IS_CONFIGURED),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
- $(FIND) $(BASE_OBJ_PATH) -name "*.o" | $(XARGS) $(RM_F)
|
||||
- $(RM_F) $(LIBBLIS_A_PATH)
|
||||
- $(RM_F) $(LIBBLIS_SO_PATH)
|
||||
else
|
||||
@echo "Removing .o files from $(BASE_OBJ_PATH)."
|
||||
@echo "Removing object files from $(BASE_OBJ_PATH)."
|
||||
@- $(FIND) $(BASE_OBJ_PATH) -name "*.o" | $(XARGS) $(RM_F)
|
||||
@echo "Removing $(LIBBLIS_A_PATH)."
|
||||
@echo "Removing libraries from $(BASE_LIB_PATH)."
|
||||
@- $(RM_F) $(LIBBLIS_A_PATH)
|
||||
@echo "Removing $(LIBBLIS_SO_PATH)."
|
||||
@- $(RM_F) $(LIBBLIS_SO_PATH)
|
||||
endif
|
||||
endif
|
||||
|
||||
cleantest: cleanblastest cleanblistest
|
||||
|
||||
cleanblastest: check-env
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(BUILDING_OOT),no)
|
||||
cleanblastest: cleanblastesttop cleanblastestdir
|
||||
else
|
||||
cleanblastest: cleanblastesttop
|
||||
endif
|
||||
|
||||
cleanblastesttop:
|
||||
ifeq ($(IS_CONFIGURED),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
- $(RM_F) $(BLASTEST_F2C_OBJS) $(BLASTEST_DRV_OBJS)
|
||||
- $(RM_F) $(BLASTEST_DRV_BIN_PATHS)
|
||||
- $(RM_F) $(BLASTEST_F2C_LIB)
|
||||
- $(RM_F) $(BLASTEST_DRV_BIN_PATHS)
|
||||
- $(RM_F) $(addprefix out.,$(BLASTEST_DRV_BASES))
|
||||
else
|
||||
@echo "Removing object files from $(BASE_OBJ_BLASTEST_PATH)."
|
||||
@- $(RM_F) $(BLASTEST_F2C_OBJS) $(BLASTEST_DRV_OBJS)
|
||||
@echo "Removing binaries from $(BASE_OBJ_BLASTEST_PATH)."
|
||||
@- $(RM_F) $(BLASTEST_DRV_BIN_PATHS)
|
||||
@echo "Removing libf2c.a from $(BASE_OBJ_BLASTEST_PATH)."
|
||||
@- $(RM_F) $(BLASTEST_F2C_LIB)
|
||||
@echo "Removing binaries from $(BASE_OBJ_BLASTEST_PATH)."
|
||||
@- $(RM_F) $(BLASTEST_DRV_BIN_PATHS)
|
||||
@echo "Removing driver output files 'out.*'."
|
||||
@- $(RM_F) $(addprefix out.,$(BLASTEST_DRV_BASES))
|
||||
endif # ENABLE_VERBOSE
|
||||
endif # IS_CONFIGURED
|
||||
|
||||
cleanblastestdir:
|
||||
ifeq ($(IS_CONFIGURED),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
- $(FIND) $(BLASTEST_DIR)/$(OBJ_DIR) -name "*.o" | $(XARGS) $(RM_F)
|
||||
- $(FIND) $(BLASTEST_DIR) -name "*.x" | $(XARGS) $(RM_F)
|
||||
- $(RM_F) $(BLASTEST_DIR)/$(BLASTEST_F2C_LIB_NAME)
|
||||
- $(RM_F) $(addprefix $(BLASTEST_DIR)/out.,$(BLASTEST_DRV_BASES))
|
||||
else
|
||||
@echo "Removing object files from ./$(BLASTEST_DIR)/$(OBJ_DIR)."
|
||||
@- $(FIND) $(BLASTEST_DIR)/$(OBJ_DIR) -name "*.o" | $(XARGS) $(RM_F)
|
||||
@echo "Removing libf2c.a from ./$(BLASTEST_DIR)."
|
||||
@- $(RM_F) $(BLASTEST_DIR)/$(BLASTEST_F2C_LIB_NAME)
|
||||
@echo "Removing binaries from ./$(BLASTEST_DIR)."
|
||||
@- $(FIND) $(BLASTEST_DIR) -name "*.x" | $(XARGS) $(RM_F)
|
||||
@echo "Removing driver output files 'out.*' from ./$(BLASTEST_DIR)."
|
||||
@- $(RM_F) $(addprefix $(BLASTEST_DIR)/out.,$(BLASTEST_DRV_BASES))
|
||||
endif # ENABLE_VERBOSE
|
||||
endif # IS_CONFIGURED
|
||||
|
||||
ifeq ($(BUILDING_OOT),no)
|
||||
cleanblistest: cleanblistesttop cleanblistestdir
|
||||
else
|
||||
cleanblistest: cleanblistesttop
|
||||
endif
|
||||
|
||||
cleanblistest: check-env
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
- $(FIND) $(BASE_OBJ_TESTSUITE_PATH) -name "*.o" | $(XARGS) $(RM_F)
|
||||
- $(RM_RF) $(TESTSUITE_BIN)
|
||||
cleanblistesttop:
|
||||
ifeq ($(IS_CONFIGURED),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
- $(RM_F) $(MK_TESTSUITE_OBJS)
|
||||
- $(RM_F) $(TESTSUITE_BIN)
|
||||
- $(RM_F) $(TESTSUITE_OUT_FILE)
|
||||
else
|
||||
@echo "Removing object files from $(BASE_OBJ_TESTSUITE_PATH)."
|
||||
@- $(FIND) $(BASE_OBJ_TESTSUITE_PATH) -name "*.o" | $(XARGS) $(RM_F)
|
||||
@echo "Removing $(TESTSUITE_BIN) binary."
|
||||
@- $(RM_RF) $(TESTSUITE_BIN)
|
||||
endif
|
||||
@- $(RM_F) $(MK_TESTSUITE_OBJS)
|
||||
@echo "Removing binary $(TESTSUITE_BIN)."
|
||||
@- $(RM_F) $(TESTSUITE_BIN)
|
||||
@echo "Removing $(TESTSUITE_OUT_FILE)."
|
||||
@- $(RM_F) $(TESTSUITE_OUT_FILE)
|
||||
endif # ENABLE_VERBOSE
|
||||
endif # IS_CONFIGURED
|
||||
|
||||
distclean: check-env cleanmk cleanh cleanlib cleantest
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
cleanblistestdir:
|
||||
ifeq ($(IS_CONFIGURED),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
- $(FIND) $(TESTSUITE_DIR)/$(OBJ_DIR) -name "*.o" | $(XARGS) $(RM_F)
|
||||
- $(RM_F) $(TESTSUITE_DIR)/$(TESTSUITE_BIN)
|
||||
else
|
||||
@echo "Removing object files from $(TESTSUITE_DIR)/$(OBJ_DIR)."
|
||||
@- $(FIND) $(TESTSUITE_DIR)/$(OBJ_DIR) -name "*.o" | $(XARGS) $(RM_F)
|
||||
@echo "Removing binary $(TESTSUITE_DIR)/$(TESTSUITE_BIN)."
|
||||
@- $(RM_F) $(TESTSUITE_DIR)/$(TESTSUITE_BIN)
|
||||
endif # ENABLE_VERBOSE
|
||||
endif # IS_CONFIGURED
|
||||
|
||||
distclean: cleanmk cleanh cleanlib cleantest
|
||||
ifeq ($(IS_CONFIGURED),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
- $(RM_F) $(BLIS_CONFIG_H)
|
||||
- $(RM_F) $(CONFIG_MK_FILE)
|
||||
- $(RM_RF) $(TESTSUITE_OUT_FILE)
|
||||
- $(RM_RF) $(OBJ_DIR)
|
||||
- $(RM_RF) $(LIB_DIR)
|
||||
- $(RM_RF) $(INCLUDE_DIR)
|
||||
else
|
||||
@echo "Removing $(BLIS_CONFIG_H)."
|
||||
@$(RM_F) $(BLIS_CONFIG_H)
|
||||
@echo "Removing $(CONFIG_MK_FILE)."
|
||||
@- $(RM_F) $(CONFIG_MK_FILE)
|
||||
@echo "Removing $(TESTSUITE_OUT_FILE)."
|
||||
@- $(RM_F) $(TESTSUITE_OUT_FILE)
|
||||
@echo "Removing $(OBJ_DIR)."
|
||||
@- $(RM_RF) $(OBJ_DIR)
|
||||
@echo "Removing $(LIB_DIR)."
|
||||
@@ -947,11 +1024,12 @@ else
|
||||
@echo "Removing $(INCLUDE_DIR)."
|
||||
@- $(RM_RF) $(INCLUDE_DIR)
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
# --- CHANGELOG rules ---
|
||||
|
||||
changelog: check-env
|
||||
changelog:
|
||||
@echo "Updating '$(DIST_PATH)/$(CHANGELOG)' via '$(GIT_LOG)'."
|
||||
@$(GIT_LOG) > $(DIST_PATH)/$(CHANGELOG)
|
||||
|
||||
@@ -959,53 +1037,47 @@ changelog: check-env
|
||||
# --- Uninstall rules ---
|
||||
|
||||
# NOTE: We can't write these uninstall rules directly in terms of targets
|
||||
# $(MK_LIBS_INST_W_VERS_CONF), $(MK_LIBS_INST), and $(MK_INCL_DIR_INST)
|
||||
# $(MK_LIBS_VERS_CONF_INST), $(MK_LIBS_INST), and $(MK_INCL_DIR_INST)
|
||||
# because those targets are already defined in terms of rules that *build*
|
||||
# those products.
|
||||
|
||||
uninstall-libs: check-env
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
- $(RM_F) $(MK_LIBS_INST_W_VERS_CONF)
|
||||
else
|
||||
@echo "Removing $(MK_LIBS_INST_W_VERS_CONF)."
|
||||
@- $(RM_F) $(MK_LIBS_INST_W_VERS_CONF)
|
||||
endif
|
||||
|
||||
uninstall-lib-symlinks: check-env
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
- $(RM_F) $(MK_LIBS_INST)
|
||||
else
|
||||
@echo "Removing $(MK_LIBS_INST)."
|
||||
@echo "Uninstalling libraries $(notdir $(MK_LIBS_INST)) from $(dir $(firstword $(MK_LIBS_INST)))."
|
||||
@- $(RM_F) $(MK_LIBS_INST)
|
||||
endif
|
||||
|
||||
uninstall-lib-symlinks: check-env
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
- $(RM_F) $(MK_LIBS_SYML)
|
||||
else
|
||||
@echo "Uninstalling symlinks $(notdir $(MK_LIBS_SYML)) from $(dir $(firstword $(MK_LIBS_SYML)))."
|
||||
@- $(RM_F) $(MK_LIBS_SYML)
|
||||
endif
|
||||
|
||||
uninstall-headers: check-env
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
- $(RM_RF) $(MK_INCL_DIR_INST)
|
||||
else
|
||||
@echo "Removing $(MK_INCL_DIR_INST)/."
|
||||
@echo "Uninstalling directory '$(notdir $(MK_INCL_DIR_INST))' from $(dir $(MK_INCL_DIR_INST))."
|
||||
@- $(RM_RF) $(MK_INCL_DIR_INST)
|
||||
endif
|
||||
|
||||
# --- Uninstall old rules ---
|
||||
|
||||
uninstall-old-libs: $(UNINSTALL_LIBS) check-env
|
||||
uninstall-old-libs: $(UNINSTALL_OLD_LIBS) check-env
|
||||
|
||||
uninstall-old-headers: $(UNINSTALL_HEADERS) check-env
|
||||
uninstall-old-symlinks: $(UNINSTALL_OLD_SYML) check-env
|
||||
|
||||
$(UNINSTALL_LIBS): check-env
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
uninstall-old-headers: $(UNINSTALL_OLD_HEADERS) check-env
|
||||
|
||||
$(UNINSTALL_OLD_LIBS) $(UNINSTALL_OLD_SYML) $(UNINSTALL_OLD_HEADERS): check-env
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
- $(RM_F) $@
|
||||
else
|
||||
@echo "Removing $(@F) from $(@D)/."
|
||||
@- $(RM_F) $@
|
||||
endif
|
||||
|
||||
$(UNINSTALL_HEADERS): check-env
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
- $(RM_F) $@
|
||||
else
|
||||
@echo "Removing $(@F) from $(@D)/."
|
||||
@echo "Uninstalling $(@F) from $(@D)/."
|
||||
@- $(RM_F) $@
|
||||
endif
|
||||
|
||||
|
||||
15
README.md
15
README.md
@@ -153,6 +153,11 @@ $ ./configure auto
|
||||
$ make [-j]
|
||||
$ make install
|
||||
```
|
||||
You can then verify your build by running BLAS- and BLIS-specific test
|
||||
drivers via `make check`:
|
||||
```
|
||||
$ make check [-j]
|
||||
```
|
||||
|
||||
A more detailed walkthrough of the build system can be found in our
|
||||
[Build system wiki](https://github.com/flame/blis/wiki/BuildSystem).
|
||||
@@ -195,6 +200,16 @@ is, by default, included in BLIS.
|
||||
This wiki contains a summary of new features provided by each new tagged
|
||||
version (release) of BLIS, along with the date the release.
|
||||
|
||||
External Linux packages
|
||||
-----------------------
|
||||
|
||||
Generally speaking, we highly recommend building from source whenever possible using the latest `git` clone. (Tarballs of each [tagged release](https://github.com/flame/blis/releases) are also available, but are not preferred since they are more difficult to upgrade from than a git clone.)
|
||||
|
||||
If you prefer (or need) binary packages, please check out the following offerings available thanks to generous involvement/contributions from two of our community members.
|
||||
|
||||
* Red Hat/Fedora. Dave Love provides rpm packages for x86_64, which he maintains at [Fedora Copr](https://copr.fedorainfracloud.org/coprs/loveshack/blis/).
|
||||
* Ubuntu/Debian. Nico Schlömer provides PPA apt packages for x86_64, which he maintains at [launchpad.net](https://launchpad.net/%7Enschloe/+archive/ubuntu/blis-devel).
|
||||
|
||||
Discussion
|
||||
----------
|
||||
|
||||
|
||||
@@ -218,7 +218,7 @@ endif
|
||||
# --Object file rules --
|
||||
|
||||
$(TEST_OBJ_PATH)/%.o: $(F2C_PATH)/%.c
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
else
|
||||
@echo "Compiling $@"
|
||||
@@ -226,7 +226,7 @@ else
|
||||
endif
|
||||
|
||||
$(TEST_OBJ_PATH)/%.o: $(DRIVER_PATH)/%.c
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
else
|
||||
@echo "Compiling $@"
|
||||
@@ -237,7 +237,7 @@ endif
|
||||
# -- libf2c library archive rule --
|
||||
|
||||
$(F2C_LIB): $(F2C_OBJS)
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(AR) $(ARFLAGS) $@ $?
|
||||
$(RANLIB) $@
|
||||
else
|
||||
@@ -252,7 +252,7 @@ endif
|
||||
# first argument: the base name of the BLAS test driver.
|
||||
define make-blat-rule
|
||||
$(1).x: $(TEST_OBJ_PATH)/$(1).o $(F2C_LIB) $(LIBBLIS_LINK)
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(LINKER) $(TEST_OBJ_PATH)/$(1).o $(F2C_OBJS) $(LIBBLIS_LINK) $(LDFLAGS) -o $$@
|
||||
else
|
||||
@echo "Linking $$@ against '$(F2C_LIB) $(LIBBLIS_LINK) $(LDFLAGS)'"
|
||||
@@ -271,7 +271,7 @@ run: $(DRIVER_BINS_R)
|
||||
# A rule to run ?blat1.x driver files.
|
||||
define make-run-blat1-rule
|
||||
run-$(1): $(1).x
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
./$(1).x > out.$(1)
|
||||
else
|
||||
@echo "Running $(1).x > 'out.$(1)'"
|
||||
@@ -285,7 +285,7 @@ $(foreach name, $(DRIVER1_BASES), $(eval $(call make-run-blat1-rule,$(name))))
|
||||
# A rule to run ?blat2.x and ?blat3.x driver files.
|
||||
define make-run-blat23-rule
|
||||
run-$(1): $(1).x
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
./$(1).x < $(INPUT_DIR)/$(1).in
|
||||
else
|
||||
@echo "Running $(1).x < '$(INPUT_DIR)/$(1).in' (output to 'out.$(1)')"
|
||||
@@ -300,7 +300,7 @@ $(foreach name, $(DRIVER2_BASES), $(eval $(call make-run-blat23-rule,$(name))))
|
||||
$(foreach name, $(DRIVER3_BASES), $(eval $(call make-run-blat23-rule,$(name))))
|
||||
|
||||
check: run
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
- $(BLASTEST_CHECK)
|
||||
else
|
||||
@- $(BLASTEST_CHECK)
|
||||
|
||||
@@ -51,9 +51,9 @@ extern "C" {
|
||||
#define F2C_LONG_LONG_BITS 64
|
||||
|
||||
#ifdef HAVE_BLIS_H
|
||||
#if BLIS_BLAS2BLIS_INT_TYPE_SIZE == 32
|
||||
#if BLIS_BLAS_INT_TYPE_SIZE == 32
|
||||
typedef int32_t integer;
|
||||
#elif BLIS_BLAS2BLIS_INT_TYPE_SIZE == 64
|
||||
#elif BLIS_BLAS_INT_TYPE_SIZE == 64
|
||||
typedef int64_t integer;
|
||||
#else
|
||||
typedef long int integer;
|
||||
|
||||
@@ -64,20 +64,20 @@
|
||||
// determine automatically
|
||||
#endif
|
||||
|
||||
#if @blas2blis_int_type_size@ == 64
|
||||
#define BLIS_BLAS2BLIS_INT_TYPE_SIZE 64
|
||||
#elif @blas2blis_int_type_size@ == 32
|
||||
#define BLIS_BLAS2BLIS_INT_TYPE_SIZE 32
|
||||
#if @blas_int_type_size@ == 64
|
||||
#define BLIS_BLAS_INT_TYPE_SIZE 64
|
||||
#elif @blas_int_type_size@ == 32
|
||||
#define BLIS_BLAS_INT_TYPE_SIZE 32
|
||||
#else
|
||||
// determine automatically
|
||||
#endif
|
||||
|
||||
#ifndef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifndef BLIS_DISABLE_BLAS2BLIS
|
||||
#if @enable_blas2blis@
|
||||
#define BLIS_ENABLE_BLAS2BLIS
|
||||
#ifndef BLIS_ENABLE_BLAS
|
||||
#ifndef BLIS_DISABLE_BLAS
|
||||
#if @enable_blas@
|
||||
#define BLIS_ENABLE_BLAS
|
||||
#else
|
||||
#define BLIS_DISABLE_BLAS2BLIS
|
||||
#define BLIS_DISABLE_BLAS
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -38,16 +38,21 @@ CONFIG_MK_INCLUDED := yes
|
||||
|
||||
# The version string. This could be the official string or a custom
|
||||
# string forced at configure-time.
|
||||
VERSION := @version@
|
||||
VERSION := @version@
|
||||
|
||||
# The shared library .so major and minor.build version numbers.
|
||||
SO_MAJOR := @so_version_major@
|
||||
SO_MINORB := @so_version_minorbuild@
|
||||
SO_MMB := $(SO_MAJOR).$(SO_MINORB)
|
||||
|
||||
# The name of the configuration family.
|
||||
CONFIG_NAME := @config_name@
|
||||
CONFIG_NAME := @config_name@
|
||||
|
||||
# The list of sub-configurations associated with CONFIG_NAME. Each
|
||||
# sub-configuration in CONFIG_LIST corresponds to a configuration
|
||||
# sub-directory in the 'config' directory. See the 'config_registry'
|
||||
# file for the full list of registered configurations.
|
||||
CONFIG_LIST := @config_list@
|
||||
CONFIG_LIST := @config_list@
|
||||
|
||||
# This list of kernels needed for the configurations in CONFIG_LIST.
|
||||
# Each item in this list corresponds to a sub-directory in the top-level
|
||||
@@ -55,48 +60,61 @@ CONFIG_LIST := @config_list@
|
||||
# but not always. For example, if configuration X and Y use the same
|
||||
# kernel set X, and configuration W uses kernel set Q, and the CONFIG_LIST
|
||||
# might contained "X Y Z W", then the KERNEL_LIST would contain "X Z Q".
|
||||
KERNEL_LIST := @kernel_list@
|
||||
KERNEL_LIST := @kernel_list@
|
||||
|
||||
# This list contains some number of "kernel:config" pairs, where "config"
|
||||
# specifies which configuration's compilation flags (CFLAGS) should be
|
||||
# used to compile the source code for the kernel set named "kernel".
|
||||
KCONFIG_MAP := @kconfig_map@
|
||||
KCONFIG_MAP := @kconfig_map@
|
||||
|
||||
# The operating system name, which should be either 'Linux' or 'Darwin'.
|
||||
OS_NAME := $(shell uname -s)
|
||||
OS_NAME := @os_name@
|
||||
|
||||
# The directory path to the top level of the source distribution.
|
||||
# NOTE: We allow the includer to override this value by setting DIST_PATH
|
||||
# prior to including this file.
|
||||
# prior to including this file. This is employed, for example, when
|
||||
# common.mk (and therefore config.mk) is included by the Makefile local
|
||||
# to the 'testsuite' directory, or the 'test' directory containing
|
||||
# individual test drivers.
|
||||
ifeq ($(strip $(DIST_PATH)),)
|
||||
DIST_PATH := @dist_path@
|
||||
DIST_PATH := @dist_path@
|
||||
endif
|
||||
|
||||
# The level of debugging info to generate.
|
||||
DEBUG_TYPE := @debug_type@
|
||||
|
||||
# The C compiler.
|
||||
CC := @CC@
|
||||
CC := @CC@
|
||||
RANLIB := @RANLIB@
|
||||
|
||||
# The level of debugging info to generate.
|
||||
DEBUG_TYPE := @debug_type@
|
||||
|
||||
# The requested threading model.
|
||||
THREADING_MODEL := @threading_model@
|
||||
THREADING_MODEL := @threading_model@
|
||||
|
||||
# The install prefix tell us where to install the libraries and header file
|
||||
# directory. Notice that we support the use of DESTDIR so that advanced users
|
||||
# may install to a temporary location.
|
||||
INSTALL_PREFIX := $(DESTDIR)@install_prefix@
|
||||
# The install libdir and includedir values from configure tell us where to
|
||||
# install the libraries and header files, respectively. Notice that we
|
||||
# support the use of DESTDIR so that advanced users may install to a
|
||||
# temporary location.
|
||||
INSTALL_LIBDIR := $(DESTDIR)@install_libdir@
|
||||
INSTALL_INCDIR := $(DESTDIR)@install_incdir@
|
||||
|
||||
# Variables corresponding to other configure-time options.
|
||||
BLIS_ENABLE_VERBOSE_MAKE_OUTPUT := @enable_verbose@
|
||||
BLIS_ENABLE_STATIC_BUILD := @enable_static@
|
||||
BLIS_ENABLE_SHARED_BUILD := @enable_shared@
|
||||
# Whether to output verbose command-line feedback as the Makefile is processed.
|
||||
ENABLE_VERBOSE := @enable_verbose@
|
||||
|
||||
# The status of BLAS and CBLAS compatibility layers
|
||||
BLIS_ENABLE_BLAS2BLIS := @enable_blas2blis@
|
||||
BLIS_ENABLE_CBLAS := @enable_cblas@
|
||||
# Whether we are building out-of-tree.
|
||||
BUILDING_OOT := @configured_oot@
|
||||
|
||||
# Whether to build the static and shared libraries.
|
||||
# Note the "MK_" prefix, which helps differentiate these variables from
|
||||
# their corresonding cpp macros that use the BLIS_ prefix.
|
||||
MK_ENABLE_STATIC := @enable_static@
|
||||
MK_ENABLE_SHARED := @enable_shared@
|
||||
|
||||
# Whether to enable either the BLAS or CBLAS compatibility layers.
|
||||
MK_ENABLE_BLAS := @enable_blas@
|
||||
MK_ENABLE_CBLAS := @enable_cblas@
|
||||
|
||||
# Whether libblis will depend on libmemkind for certain memory allocations.
|
||||
BLIS_ENABLE_MEMKIND := @enable_memkind@
|
||||
MK_ENABLE_MEMKIND := @enable_memkind@
|
||||
|
||||
# end of ifndef CONFIG_MK_INCLUDED conditional block
|
||||
endif
|
||||
|
||||
@@ -1,197 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# BLIS
|
||||
# An object-based framework for developing high-performance BLAS-like
|
||||
# libraries.
|
||||
#
|
||||
# Copyright (C) 2014, The University of Texas at Austin
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are
|
||||
# met:
|
||||
# - Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# - Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# - Neither the name of The University of Texas at Austin nor the names
|
||||
# of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
#
|
||||
|
||||
#
|
||||
# update-version-file.sh
|
||||
#
|
||||
# Field G. Van Zee
|
||||
#
|
||||
|
||||
|
||||
print_usage()
|
||||
{
|
||||
#local script_name
|
||||
|
||||
# Get the script name
|
||||
#script_name=${0##*/}
|
||||
|
||||
# Echo usage info
|
||||
echo " "
|
||||
echo " "$script_name
|
||||
echo " "
|
||||
echo " Field G. Van Zee"
|
||||
echo " "
|
||||
echo " Checks whether the current BLIS distribution is a git clone: if so,"
|
||||
echo " it queries git to update the 'version' file with the latest version"
|
||||
echo " string; otherwise, leaves the contents of 'version' unchanged."
|
||||
echo " "
|
||||
echo " Usage:"
|
||||
echo " ${script_name} [options] versfile"
|
||||
echo " "
|
||||
echo " Arguments:"
|
||||
echo " "
|
||||
echo " versfile The file where the version string is stored. If versfile is"
|
||||
echo " is not specified, then it defaults to 'version'."
|
||||
echo " "
|
||||
echo " Options:"
|
||||
echo " "
|
||||
echo " -o SCRIPT output script name"
|
||||
echo " Use SCRIPT when outputting messages instead of the script's"
|
||||
echo " actual name."
|
||||
echo " "
|
||||
|
||||
# Exit with non-zero exit status
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
main()
|
||||
{
|
||||
# -- BEGIN GLOBAL VARIABLE DECLARATIONS --
|
||||
|
||||
# The name of the script, stripped of any preceeding path.
|
||||
script_name=${0##*/}
|
||||
|
||||
# The name of the default version file.
|
||||
version_file_def='version'
|
||||
|
||||
# The name of the specified version file.
|
||||
version_file=''
|
||||
|
||||
# Strings used during version query.
|
||||
git_describe_str=''
|
||||
new_version_str=''
|
||||
|
||||
# The script name to use instead of the $0 when outputting messages.
|
||||
output_name=''
|
||||
|
||||
# The git directory.
|
||||
gitdir='.git'
|
||||
|
||||
# -- END GLOBAL VARIABLE DECLARATIONS --
|
||||
|
||||
|
||||
# Process our command line options.
|
||||
while getopts ":ho:" opt; do
|
||||
case $opt in
|
||||
o ) output_name=$OPTARG ;;
|
||||
h ) print_usage ;;
|
||||
\? ) print_usage
|
||||
esac
|
||||
done
|
||||
shift $(($OPTIND - 1))
|
||||
|
||||
|
||||
# If an output script name was given, overwrite script_name with it.
|
||||
if [ -n "${output_name}" ]; then
|
||||
|
||||
script_name="${output_name}"
|
||||
fi
|
||||
|
||||
|
||||
echo "${script_name}: checking whether we need to update the version file."
|
||||
|
||||
|
||||
|
||||
# Check the number of arguments after command line option processing.
|
||||
if [ $# = "0" ]; then
|
||||
|
||||
version_file=${version_file_def}
|
||||
echo "${script_name}: not sure which version file to update; defaulting to '${version_file}'."
|
||||
|
||||
elif [ $# = "1" ]; then
|
||||
|
||||
version_file=$1
|
||||
echo "${script_name}: checking version file '${version_file}'."
|
||||
|
||||
else
|
||||
print_usage
|
||||
fi
|
||||
|
||||
|
||||
# Check if the .git dir exists; if it does not, we do nothing.
|
||||
if [ -d "${gitdir}" ]; then
|
||||
|
||||
echo "${script_name}: found '${gitdir}' directory; assuming git clone."
|
||||
|
||||
echo "${script_name}: executing: git describe --tags."
|
||||
|
||||
gd_se="git_describe_se.txt"
|
||||
|
||||
# Query git for the version string, which is simply the current tag,
|
||||
# followed by a number signifying how many commits have transpired
|
||||
# since the tag, followed by a 'g' and a shortened hash tab. Capture
|
||||
# stderr to a file.
|
||||
git_describe_str=$(git describe --tags 2> ${gd_se})
|
||||
|
||||
# Pull in whatever error message was generated, if any, and delete
|
||||
# the file.
|
||||
git_error=$(cat ${gd_se})
|
||||
|
||||
# Remove the stderr file.
|
||||
rm -f ${gd_se}
|
||||
|
||||
# If git returned an error, don't do anything.
|
||||
if [ -n "${git_error}" ]; then
|
||||
|
||||
echo "${script_name}: git returned an error: '${git_error}'."
|
||||
echo "${script_name}: leaving version file unchanged."
|
||||
|
||||
else
|
||||
|
||||
echo "${script_name}: got back ${git_describe_str}."
|
||||
|
||||
# Strip off the commit hash label.
|
||||
new_version_str=$(echo ${git_describe_str} | cut -d- -f-2)
|
||||
|
||||
echo "${script_name}: truncating to ${new_version_str}."
|
||||
echo "${script_name}: updating version file '${version_file}'."
|
||||
|
||||
# Write the new version string to the version file.
|
||||
echo "${new_version_str}" > ${version_file}
|
||||
fi
|
||||
|
||||
else
|
||||
|
||||
echo "${script_name}: could not find '${gitdir}' directory; leaving version file unchanged."
|
||||
fi
|
||||
|
||||
|
||||
# Exit peacefully.
|
||||
return 0
|
||||
}
|
||||
|
||||
|
||||
# The script's main entry point, passing all parameters given.
|
||||
main "$@"
|
||||
78
common.mk
78
common.mk
@@ -158,10 +158,30 @@ CONFIG_MK_FILE := config.mk
|
||||
# it is likely that the user has not yet generated it (via configure).
|
||||
ifeq ($(strip $(CONFIG_MK_INCLUDED)),yes)
|
||||
CONFIG_MK_PRESENT := yes
|
||||
IS_CONFIGURED := yes
|
||||
else
|
||||
CONFIG_MK_PRESENT := no
|
||||
IS_CONFIGURED := no
|
||||
endif
|
||||
|
||||
# If we didn't get config.mk, then we need to set some basic variables so
|
||||
# that make will function without error for things like 'make clean'.
|
||||
ifeq ($(IS_CONFIGURED),no)
|
||||
|
||||
# If this makefile fragment is being run and there is no config.mk present,
|
||||
# then it's probably safe to assume that the user is currently located in the
|
||||
# source distribution.
|
||||
DIST_PATH := .
|
||||
|
||||
# Even though they won't be used explicitly, it appears that setting these
|
||||
# INSTALL_* variables to something sane (that is, not allowing them default
|
||||
# to the empty string) is necessary to prevent make from hanging, likely
|
||||
# because the statements that define UNINSTALL_LIBS and UNINSTALL_HEADERS,
|
||||
# when evaluated, result in running 'find' on the root directory--definitely
|
||||
# something we would like to avoid.
|
||||
INSTALL_LIBDIR := $(HOME)/blis/lib
|
||||
INSTALL_INCDIR := $(HOME)/blis/include
|
||||
endif
|
||||
|
||||
|
||||
#
|
||||
@@ -217,25 +237,30 @@ KERNELS_PATH := $(DIST_PATH)/$(KERNELS_DIR)
|
||||
|
||||
|
||||
#
|
||||
# --- Library paths ------------------------------------------------------------
|
||||
# --- Library name and local paths ---------------------------------------------
|
||||
#
|
||||
|
||||
# The base name of the BLIS library that we will build.
|
||||
LIBBLIS_NAME := libblis
|
||||
LIBBLIS := libblis
|
||||
|
||||
# Construct the base path for the library.
|
||||
BASE_LIB_PATH := $(LIB_DIR)/$(CONFIG_NAME)
|
||||
BASE_LIB_PATH := ./$(LIB_DIR)/$(CONFIG_NAME)
|
||||
|
||||
# The shared (dynamic) library file suffix is different for Linux and OS X.
|
||||
ifeq ($(OS_NAME),Linux)
|
||||
SO_SUF := so
|
||||
else
|
||||
SO_SUF := dylib
|
||||
endif
|
||||
|
||||
# Note: These names will be modified later to include the configuration and
|
||||
# version strings.
|
||||
LIBBLIS_A := $(LIBBLIS_NAME).a
|
||||
LIBBLIS_SO := $(LIBBLIS_NAME).so
|
||||
LIBBLIS_A := $(LIBBLIS).a
|
||||
LIBBLIS_SO := $(LIBBLIS).$(SO_SUF)
|
||||
|
||||
# Append the base library path to the library names.
|
||||
#BLIS_LIB_PATH := $(BASE_LIB_PATH)/$(LIBBLIS_A)
|
||||
#BLIS_DLL_PATH := $(BASE_LIB_PATH)/$(LIBBLIS_SO)
|
||||
LIBBLIS_A_PATH := $(BASE_LIB_PATH)/$(LIBBLIS_A)
|
||||
LIBBLIS_SO_PATH := $(BASE_LIB_PATH)/$(LIBBLIS_SO)
|
||||
LIBBLIS_A_PATH := $(BASE_LIB_PATH)/$(LIBBLIS_A)
|
||||
LIBBLIS_SO_PATH := $(BASE_LIB_PATH)/$(LIBBLIS_SO)
|
||||
|
||||
|
||||
|
||||
@@ -253,7 +278,6 @@ FIND := find
|
||||
GREP := grep
|
||||
EGREP := grep -E
|
||||
XARGS := xargs
|
||||
RANLIB := ranlib
|
||||
INSTALL := install -c
|
||||
|
||||
# Script for creating a monolithic header file.
|
||||
@@ -284,7 +308,7 @@ ifeq ($(VENDOR_STRING),)
|
||||
$(error Unable to determine compiler vendor.)
|
||||
endif
|
||||
|
||||
CC_VENDOR := $(firstword $(shell echo '$(VENDOR_STRING)' | $(EGREP) -o 'icc|gcc|clang|ibm'))
|
||||
CC_VENDOR := $(firstword $(shell echo '$(VENDOR_STRING)' | $(EGREP) -o 'icc|gcc|clang|ibm|cc'))
|
||||
ifeq ($(CC_VENDOR),)
|
||||
$(error Unable to determine compiler vendor. Have you run './configure' yet?)
|
||||
endif
|
||||
@@ -313,7 +337,7 @@ LIBPTHREAD := -lpthread
|
||||
LDFLAGS := $(LIBM) $(LIBPTHREAD)
|
||||
|
||||
# Add libmemkind to the link-time flags, if it was enabled at configure-time.
|
||||
ifeq ($(BLIS_ENABLE_MEMKIND),yes)
|
||||
ifeq ($(MK_ENABLE_MEMKIND),yes)
|
||||
LDFLAGS += $(LIBMEMKIND)
|
||||
endif
|
||||
|
||||
@@ -327,15 +351,24 @@ ifeq ($(DEBUG_TYPE),sde)
|
||||
LDFLAGS := $(filter-out $(LIBMEMKIND),$(LDFLAGS))
|
||||
endif
|
||||
|
||||
# Default flag for creating shared objects.
|
||||
# The default flag for creating shared objects is different for Linux and
|
||||
# OS X.
|
||||
ifeq ($(OS_NAME),Linux)
|
||||
SOFLAGS := -shared
|
||||
SOFLAGS += -Wl,-soname,$(LIBBLIS_SO).$(SO_MAJOR)
|
||||
else
|
||||
SOFLAGS := -dynamiclib
|
||||
SOFLAGS += -Wl,-install_name,$(LIBBLIS_SO).$(SO_MAJOR)
|
||||
endif
|
||||
|
||||
# Specify the shared library's 'soname' field.
|
||||
|
||||
# Decide which library to link to for things like the testsuite. Default
|
||||
# to the static library, unless only the shared library was enabled, in
|
||||
# which case we use the shared library.
|
||||
LIBBLIS_LINK := $(LIBBLIS_A_PATH)
|
||||
ifeq ($(BLIS_ENABLE_SHARED_BUILD),yes)
|
||||
ifeq ($(BLIS_ENABLE_STATIC_BUILD),no)
|
||||
ifeq ($(MK_ENABLE_SHARED),yes)
|
||||
ifeq ($(MK_ENABLE_STATIC),no)
|
||||
LIBBLIS_LINK := $(LIBBLIS_SO_PATH)
|
||||
endif
|
||||
endif
|
||||
@@ -484,12 +517,12 @@ endif
|
||||
#
|
||||
|
||||
ifeq ($(V),1)
|
||||
BLIS_ENABLE_VERBOSE_MAKE_OUTPUT := yes
|
||||
ENABLE_VERBOSE := yes
|
||||
BLIS_ENABLE_TEST_OUTPUT := yes
|
||||
endif
|
||||
|
||||
ifeq ($(V),0)
|
||||
BLIS_ENABLE_VERBOSE_MAKE_OUTPUT := no
|
||||
ENABLE_VERBOSE := no
|
||||
BLIS_ENABLE_TEST_OUTPUT := no
|
||||
endif
|
||||
|
||||
@@ -627,7 +660,7 @@ BLIS_H_FLAT := $(BASE_INC_PATH)/$(BLIS_H)
|
||||
# Paths to these files will be needed when compiling with the monolithic
|
||||
# header.
|
||||
REF_KER_SRC := $(DIST_PATH)/$(REFKERN_DIR)/bli_cntx_ref.c
|
||||
REF_KER_HEADERS := $(shell grep "\#include" $(REF_KER_SRC) | sed -e "s/\#include [\"<]\([a-zA-Z0-9\_\.\/\-]*\)[\">].*/\1/g" | grep -v blis.h)
|
||||
REF_KER_HEADERS := $(shell $(GREP) "\#include" $(REF_KER_SRC) | sed -e "s/\#include [\"<]\([a-zA-Z0-9\_\.\/\-]*\)[\">].*/\1/g" | $(GREP) -v blis.h)
|
||||
|
||||
# Match each header found above with the path to that header, and then strip
|
||||
# leading, trailing, and internal whitespace.
|
||||
@@ -655,6 +688,15 @@ CBLAS_H_SRC_PATH := $(filter %/$(CBLAS_H), $(MK_HEADER_FILES))
|
||||
CBLAS_H_FLAT := $(BASE_INC_PATH)/$(CBLAS_H)
|
||||
|
||||
|
||||
#
|
||||
# --- BLIS configuration header definitions ------------------------------------
|
||||
#
|
||||
|
||||
# This file was created by configure, but we need to define it here so we can
|
||||
# remove it as part of the clean targets.
|
||||
BLIS_CONFIG_H := ./bli_config.h
|
||||
|
||||
|
||||
#
|
||||
# --- Special preprocessor macro definitions -----------------------------------
|
||||
#
|
||||
|
||||
@@ -74,7 +74,7 @@ CPPROCFLAGS += -DBLIS_DISABLE_MEMKIND
|
||||
# config.mk, however, the make_defs.mk files (this file) get included
|
||||
# after config.mk, so this definition will override that earlier
|
||||
# definition.
|
||||
BLIS_ENABLE_MEMKIND := no
|
||||
MK_ENABLE_MEMKIND := no
|
||||
endif
|
||||
|
||||
# Flags specific to optimized kernels.
|
||||
|
||||
@@ -111,10 +111,14 @@ void bli_cntx_init_zen( cntx_t* cntx )
|
||||
// s d c z
|
||||
bli_blksz_init_easy( &blkszs[ BLIS_MR ], 6, 6, 3, 3 );
|
||||
bli_blksz_init_easy( &blkszs[ BLIS_NR ], 16, 8, 8, 4 );
|
||||
//bli_blksz_init_easy( &blkszs[ BLIS_MC ], 144, 510, 144, 72 );
|
||||
//bli_blksz_init_easy( &blkszs[ BLIS_KC ], 256, 1024, 256, 256 );
|
||||
#ifdef BLIS_ENABLE_ZEN_BLOCK_SIZES
|
||||
// Zen optmized level 3 cache block sizes
|
||||
bli_blksz_init_easy( &blkszs[ BLIS_MC ], 144, 510, 144, 72 );
|
||||
bli_blksz_init_easy( &blkszs[ BLIS_KC ], 256, 1024, 256, 256 );
|
||||
#else
|
||||
bli_blksz_init_easy( &blkszs[ BLIS_MC ], 144, 72, 144, 72 );
|
||||
bli_blksz_init_easy( &blkszs[ BLIS_KC ], 256, 256, 256, 256 );
|
||||
#endif
|
||||
bli_blksz_init_easy( &blkszs[ BLIS_NC ], 4080, 4080, 4080, 4080 );
|
||||
bli_blksz_init_easy( &blkszs[ BLIS_AF ], 8, 8, -1, -1 );
|
||||
bli_blksz_init_easy( &blkszs[ BLIS_DF ], 8, 8, -1, -1 );
|
||||
|
||||
@@ -42,13 +42,13 @@
|
||||
#define BLIS_DEFAULT_MR_THREAD_MAX 1
|
||||
#define BLIS_DEFAULT_NR_THREAD_MAX 1
|
||||
|
||||
|
||||
//#define BLIS_ENABLE_SMALL_MATRIX
|
||||
#define BLIS_ENABLE_ZEN_BLOCK_SIZES
|
||||
#define BLIS_ENABLE_SMALL_MATRIX
|
||||
|
||||
// This will select the threshold below which small matrix code will be called.
|
||||
//#define BLIS_SMALL_MATRIX_THRES 700
|
||||
//#define BLIS_SMALL_M_RECT_MATRIX_THRES 160
|
||||
//#define BLIS_SMALL_K_RECT_MATRIX_THRES 128
|
||||
#define BLIS_SMALL_MATRIX_THRES 700
|
||||
#define BLIS_SMALL_M_RECT_MATRIX_THRES 160
|
||||
#define BLIS_SMALL_K_RECT_MATRIX_THRES 128
|
||||
|
||||
|
||||
|
||||
|
||||
400
configure
vendored
400
configure
vendored
@@ -38,6 +38,12 @@
|
||||
|
||||
print_usage()
|
||||
{
|
||||
# Use the version string in the 'version' file since we don't have
|
||||
# the patched version string yet.
|
||||
if [ -z "${version}" ]; then
|
||||
version=$(cat "${version_filepath}")
|
||||
fi
|
||||
|
||||
# Echo usage info.
|
||||
echo " "
|
||||
echo " ${script_name} (BLIS ${version})"
|
||||
@@ -65,10 +71,28 @@ print_usage()
|
||||
echo " "
|
||||
echo " -p PREFIX, --prefix=PREFIX"
|
||||
echo " "
|
||||
echo " The path to which make will install buid products."
|
||||
echo " If not given, PREFIX defaults to \$(HOME)/blis. If"
|
||||
echo " the path refers to a directory that does not exist,"
|
||||
echo " it will be created."
|
||||
echo " The path to which make will install all build products."
|
||||
echo " If given, this option implicitly sets LIBDIR to"
|
||||
echo " PREFIX/lib and INCDIR to PREFIX/include (see below); if"
|
||||
echo " not given, PREFIX defaults to \$(HOME)/blis. If PREFIX"
|
||||
echo " refers to a directory that does not exist, it will be"
|
||||
echo " created."
|
||||
echo " "
|
||||
echo " --libdir=LIBDIR"
|
||||
echo " "
|
||||
echo " The path to which make will install libraries. If given,"
|
||||
echo " LIBDIR will override the corresponding directory implied"
|
||||
echo " by --prefix; if not not given, LIBDIR defaults to"
|
||||
echo " PREFIX/lib. If LIBDIR refers to a directory that does not"
|
||||
echo " exist, it will be created."
|
||||
echo " "
|
||||
echo " --includedir=INCDIR"
|
||||
echo " "
|
||||
echo " The path to which make will install development header"
|
||||
echo " files. If given, INCDIR will override the corresponding"
|
||||
echo " directory implied by --prefix; if not given, INCDIR"
|
||||
echo " defaults to PREFIX/include. If INCDIR refers to a"
|
||||
echo " directory that does not exist, it will be created."
|
||||
echo " "
|
||||
echo " -d DEBUG, --enable-debug[=DEBUG]"
|
||||
echo " "
|
||||
@@ -79,18 +103,20 @@ print_usage()
|
||||
echo " "
|
||||
echo " --enable-verbose-make, --disable-verbose-make"
|
||||
echo " "
|
||||
echo " Enable (disabled by default) verbose compilation"
|
||||
echo " output during make."
|
||||
echo " Enable (disabled by default) verbose compilation output"
|
||||
echo " during make."
|
||||
echo " "
|
||||
echo " --disable-static, --enable-static"
|
||||
echo " "
|
||||
echo " Disable (enabled by default) building BLIS as a static"
|
||||
echo " library. May be combined with --enable-shared."
|
||||
echo " library. If the static library build is disabled, the"
|
||||
echo " shared library build must remain enabled."
|
||||
echo " "
|
||||
echo " --enable-shared, --disable-static"
|
||||
echo " --disable-shared, --enable-shared"
|
||||
echo " "
|
||||
echo " Enable (disabled by default) building BLIS as a shared"
|
||||
echo " library. May be combined with --enable-static."
|
||||
echo " Disable (enabled by default) building BLIS as a shared"
|
||||
echo " library. If the shared library build is disabled, the"
|
||||
echo " static library build must remain enabled."
|
||||
echo " "
|
||||
echo " -t MODEL, --enable-threading[=MODEL], --disable-threading"
|
||||
echo " "
|
||||
@@ -172,6 +198,7 @@ print_usage()
|
||||
echo " Environment Variables:"
|
||||
echo " "
|
||||
echo " CC Specifies the C compiler to use."
|
||||
echo " RANLIB Specifies the ranlib executable to use."
|
||||
echo " "
|
||||
echo " Environment variables may also be specified as command line"
|
||||
echo " options, e.g.:"
|
||||
@@ -1039,7 +1066,12 @@ get_compiler_version()
|
||||
# The last part ({ read first rest ; echo $first ; }) is a workaround
|
||||
# to OS X's egrep only returning the first match.
|
||||
cc_vendor=$(echo "${vendor_string}" | egrep -o 'icc|gcc|clang|emcc|pnacl|IBM' | { read first rest ; echo $first ; })
|
||||
cc_version=$(echo "${vendor_string}" | egrep -o '[0-9]+\.[0-9]+\.?[0-9]*' | { read first rest ; echo ${first} ; })
|
||||
if [ "$cc_vendor" = "icc" -o "$cc_vendor" = "gcc" -o "$cc_vendor" = "clang" ]
|
||||
then
|
||||
cc_version=$(${cc} -dumpversion)
|
||||
else
|
||||
cc_version=$(echo "${vendor_string}" | egrep -o '[0-9]+\.[0-9]+\.?[0-9]*' | { read first rest ; echo ${first} ; })
|
||||
fi
|
||||
|
||||
# Parse the version number into its major, minor, and revision
|
||||
# components.
|
||||
@@ -1277,6 +1309,73 @@ try_assemble()
|
||||
echo "${rval}"
|
||||
}
|
||||
|
||||
set_default_version()
|
||||
{
|
||||
local gitdir version_file gd_stderr git_describe_str git_error new_version_str
|
||||
|
||||
gitdir='.git'
|
||||
|
||||
# The path to the version file.
|
||||
version_file=$1
|
||||
|
||||
echo "${script_name}: determining default version string."
|
||||
|
||||
# Check if the .git dir exists; if it does not, we do nothing.
|
||||
if [ -d "${dist_path}/${gitdir}" ]; then
|
||||
|
||||
echo "${script_name}: found '${gitdir}' directory; assuming git clone."
|
||||
|
||||
echo "${script_name}: executing: git describe --tags."
|
||||
|
||||
gd_stderr="git_describe_stderr.txt"
|
||||
|
||||
# Query git for the version string, which is simply the current tag,
|
||||
# followed by a number signifying how many commits have transpired
|
||||
# since the tag, followed by a 'g' and a shortened hash tab. Capture
|
||||
# stderr to a file.
|
||||
git_describe_str=$(git -C ${dist_path} describe --tags 2> ${gd_stderr})
|
||||
|
||||
# Pull in whatever error message was generated, if any, and delete
|
||||
# the file.
|
||||
git_error=$(cat ${gd_stderr})
|
||||
|
||||
# Remove the stderr file.
|
||||
rm -f ${gd_stderr}
|
||||
|
||||
# If git returned an error, don't do anything.
|
||||
if [ -n "${git_error}" ]; then
|
||||
|
||||
echo "${script_name}: git returned an error: '${git_error}'."
|
||||
echo "${script_name}: using string from unmodified version file."
|
||||
|
||||
# Use what's in the version file as-is.
|
||||
version=$(cat "${version_file}")
|
||||
else
|
||||
|
||||
echo "${script_name}: got back ${git_describe_str}."
|
||||
|
||||
# Strip off the commit hash label.
|
||||
new_version_str=$(echo ${git_describe_str} | cut -d- -f-2)
|
||||
|
||||
echo "${script_name}: truncating to ${new_version_str}."
|
||||
|
||||
# Write the new version string to the version file.
|
||||
#echo "${new_version_str}" > ${version_file}
|
||||
|
||||
# Set the version variable.
|
||||
version="${new_version_str}"
|
||||
fi
|
||||
else
|
||||
|
||||
echo "${script_name}: could not find '${gitdir}' directory; using unmodified version file."
|
||||
|
||||
# Use what's in the version file as-is.
|
||||
version=$(cat "${version_file}")
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
|
||||
#
|
||||
# -- main function -------------------------------------------------------------
|
||||
#
|
||||
@@ -1327,9 +1426,6 @@ main()
|
||||
bli_config_h_in_path="${build_dirpath}/${bli_config_h_in}"
|
||||
bli_config_h_out_path="${cur_dirpath}/${bli_config_h_out}"
|
||||
|
||||
# Path to 'update-version-file.sh' script.
|
||||
update_version_file_sh="${build_dirpath}/update-version-file.sh"
|
||||
|
||||
# Path to 'mirror-tree.sh' script.
|
||||
mirror_tree_sh="${build_dirpath}/mirror-tree.sh"
|
||||
|
||||
@@ -1371,12 +1467,20 @@ main()
|
||||
# The name of the directory in which the BLIS test suite is kept.
|
||||
testsuite_dir='testsuite'
|
||||
|
||||
# The install prefix flag.
|
||||
install_prefix_def="${HOME}/blis"
|
||||
install_prefix=''
|
||||
# The user-given install prefix and a flag indicating it was given.
|
||||
#install_prefix_def="${HOME}/blis"
|
||||
install_prefix_user=${HOME}/blis # default to this directory.
|
||||
prefix_flag=''
|
||||
|
||||
# The debug flag.
|
||||
# The user-given install libdir and a flag indicating it was given.
|
||||
install_libdir_user=''
|
||||
libdir_flag=''
|
||||
|
||||
# The user-given install includedir and a flag indicating it was given.
|
||||
install_incdir_user=''
|
||||
incdir_flag=''
|
||||
|
||||
# The user-given debug type and a flag indicating it was given.
|
||||
debug_type=''
|
||||
debug_flag=''
|
||||
|
||||
@@ -1386,19 +1490,30 @@ main()
|
||||
# Option variables.
|
||||
quiet_flag=''
|
||||
show_config_list=''
|
||||
|
||||
|
||||
# Additional flags.
|
||||
enable_verbose='no'
|
||||
enable_static='yes'
|
||||
enable_shared='no'
|
||||
enable_shared='yes'
|
||||
enable_packbuf_pools='yes'
|
||||
int_type_size=0
|
||||
blas2blis_int_type_size=32
|
||||
enable_blas2blis='yes'
|
||||
blas_int_type_size=32
|
||||
enable_blas='yes'
|
||||
enable_cblas='no'
|
||||
enable_memkind='' # The default memkind value is determined later on.
|
||||
force_version='no'
|
||||
|
||||
# The shared library (.so) version file.
|
||||
so_version_file='so_version'
|
||||
so_version_filepath="${dist_path}/${so_version_file}"
|
||||
|
||||
# The major and minor/build .so version numbers.
|
||||
so_version_major=''
|
||||
so_version_minorbuild=''
|
||||
|
||||
# Whether we are building out-of-tree.
|
||||
configured_oot="no"
|
||||
|
||||
# The name of the chosen configuration (the configuration "family").
|
||||
config_name=''
|
||||
|
||||
@@ -1433,7 +1548,15 @@ main()
|
||||
;;
|
||||
prefix=*)
|
||||
prefix_flag=1
|
||||
install_prefix=${OPTARG#*=}
|
||||
install_prefix_user=${OPTARG#*=}
|
||||
;;
|
||||
libdir=*)
|
||||
libdir_flag=1
|
||||
install_libdir_user=${OPTARG#*=}
|
||||
;;
|
||||
includedir=*)
|
||||
incdir_flag=1
|
||||
install_incdir_user=${OPTARG#*=}
|
||||
;;
|
||||
enable-debug)
|
||||
debug_flag=1
|
||||
@@ -1480,13 +1603,13 @@ main()
|
||||
int_type_size=${OPTARG#*=}
|
||||
;;
|
||||
blas-int-size=*)
|
||||
blas2blis_int_type_size=${OPTARG#*=}
|
||||
blas_int_type_size=${OPTARG#*=}
|
||||
;;
|
||||
enable-blas)
|
||||
enable_blas2blis='yes'
|
||||
enable_blas='yes'
|
||||
;;
|
||||
disable-blas)
|
||||
enable_blas2blis='no'
|
||||
enable_blas='no'
|
||||
;;
|
||||
enable-cblas)
|
||||
enable_cblas='yes'
|
||||
@@ -1531,7 +1654,7 @@ main()
|
||||
int_type_size=$OPTARG
|
||||
;;
|
||||
b)
|
||||
blas2blis_int_type_size=$OPTARG
|
||||
blas_int_type_size=$OPTARG
|
||||
;;
|
||||
c)
|
||||
show_config_list=1
|
||||
@@ -1550,6 +1673,10 @@ main()
|
||||
CC=${1#*=}
|
||||
shift
|
||||
;;
|
||||
RANLIB=*)
|
||||
RANLIB=${1#*=}
|
||||
shift
|
||||
;;
|
||||
*=*)
|
||||
print_usage
|
||||
;;
|
||||
@@ -1560,6 +1687,13 @@ main()
|
||||
done
|
||||
|
||||
|
||||
# -- Check the operating system --------------------------------------------
|
||||
|
||||
os_name=$(uname -s)
|
||||
os_vers=$(uname -r)
|
||||
echo "${script_name}: detected ${os_name} kernel version ${os_vers}."
|
||||
|
||||
|
||||
# -- Check the compiler version --------------------------------------------
|
||||
|
||||
# Find a working C compiler.
|
||||
@@ -1618,11 +1752,11 @@ main()
|
||||
|
||||
# -- Acquire the BLIS version ----------------------------------------------
|
||||
|
||||
# Check whether we need to update the version file.
|
||||
${update_version_file_sh} -o "${script_name}" "${version_filepath}"
|
||||
|
||||
# Query which version of BLIS this is.
|
||||
version=$(cat ${version_filepath})
|
||||
# Set the 'version' variable to the default value (the 'git describe'
|
||||
# augmented instance of whatever is in the 'version' file if this is a git
|
||||
# clone, or whatever is in the 'version' file unmodified if it is a bare
|
||||
# source release).
|
||||
set_default_version "${version_filepath}"
|
||||
|
||||
# Initial message.
|
||||
echo "${script_name}: starting configuration of BLIS ${version}."
|
||||
@@ -1636,6 +1770,20 @@ main()
|
||||
fi
|
||||
|
||||
|
||||
# -- Acquire the shared library (.so) versions -----------------------------
|
||||
|
||||
# The first line of the 'so_version' file contains the .so major version.
|
||||
so_version_major=$(cat ${so_version_filepath} | sed -n "1p")
|
||||
|
||||
# The second line contains the minor and build .so version numbers
|
||||
# (separated by a '.').
|
||||
so_version_minorbuild=$(cat ${so_version_filepath} | sed -n "2p")
|
||||
|
||||
echo "${script_name}: found shared library .so version '${so_version_major}.${so_version_minorbuild}'."
|
||||
echo "${script_name}: .so major version: ${so_version_major}"
|
||||
echo "${script_name}: .so minor.build version: ${so_version_minorbuild}"
|
||||
|
||||
|
||||
# -- Various pre-configuration checks --------------------------------------
|
||||
|
||||
# Set config_name based on the number of arguments leftover (after command
|
||||
@@ -1895,15 +2043,43 @@ main()
|
||||
|
||||
# -- Prepare variables for subsitution into template files -----------------
|
||||
|
||||
# Set the install prefix if it was not already set when parsing the install
|
||||
# prefix flag.
|
||||
# Parse the status of the install prefix and echo feedback.
|
||||
if [ -n "${prefix_flag}" ]; then
|
||||
echo "${script_name}: using install prefix '${install_prefix}'."
|
||||
echo "${script_name}: detected --prefix='${install_prefix_user}'."
|
||||
else
|
||||
install_prefix="${install_prefix_def}"
|
||||
echo "${script_name}: no install prefix given; defaulting to '${install_prefix}'."
|
||||
echo "${script_name}: no install prefix option given; defaulting to '${install_prefix_user}'."
|
||||
fi
|
||||
|
||||
# Set initial (candidate) values for the libdir and includedir using the
|
||||
# install prefix that was determined above.
|
||||
install_libdir=${install_prefix_user}/lib
|
||||
install_incdir=${install_prefix_user}/include
|
||||
|
||||
# Set the install libdir, if it was specified. Note that this will override
|
||||
# the default libdir implied by the install prefix, even if both options
|
||||
# were given.
|
||||
if [ -n "${libdir_flag}" ]; then
|
||||
echo "${script_name}: detected --libdir='${install_libdir_user}'."
|
||||
install_libdir=${install_libdir_user}
|
||||
else
|
||||
echo "${script_name}: no install libdir option given; defaulting to PREFIX/lib."
|
||||
fi
|
||||
|
||||
# Set the install includedir, if it was specified. Note that this will
|
||||
# override the default includedir implied by the install prefix, even if
|
||||
# both options were given.
|
||||
if [ -n "${incdir_flag}" ]; then
|
||||
echo "${script_name}: detected --includedir='${install_incdir}'."
|
||||
install_incdir=${install_incdir_user}
|
||||
else
|
||||
echo "${script_name}: no install includedir option given; defaulting to PREFIX/include."
|
||||
fi
|
||||
|
||||
# Echo the installation directories that we settled on.
|
||||
echo "${script_name}: final installation directories:"
|
||||
echo "${script_name}: libdir: ${install_libdir}"
|
||||
echo "${script_name}: includedir: ${install_incdir}"
|
||||
|
||||
# Check if the debug flag was specified.
|
||||
if [ -n "${debug_flag}" ]; then
|
||||
if [ "x${debug_type}" = "xopt" ]; then
|
||||
@@ -1928,18 +2104,15 @@ main()
|
||||
fi
|
||||
|
||||
# Check if the static lib flag was specified.
|
||||
if [ "x${enable_static}" = "xyes" ]; then
|
||||
echo "${script_name}: building BLIS as a static library."
|
||||
fi
|
||||
|
||||
# Check if the shared lib flag was specified.
|
||||
if [ "x${enable_shared}" = "xyes" ]; then
|
||||
echo "${script_name}: building BLIS as a shared library."
|
||||
fi
|
||||
|
||||
# Check if neither flag was specified.
|
||||
if [ "x${enable_static}" = "xno" -a "x${enable_shared}" = "xno" ]; then
|
||||
echo "Neither a shared nor static library build has been requested."
|
||||
if [ "x${enable_static}" = "xyes" -a "x${enable_shared}" = "xyes" ]; then
|
||||
echo "${script_name}: building BLIS as both static and shared libraries."
|
||||
elif [ "x${enable_static}" = "xyes" -a "x${enable_shared}" = "xno" ]; then
|
||||
echo "${script_name}: building BLIS as a static library (shared library disabled)."
|
||||
elif [ "x${enable_static}" = "xno" -a "x${enable_shared}" = "xyes" ]; then
|
||||
echo "${script_name}: building BLIS as a shared library (static library disabled)."
|
||||
else
|
||||
echo "${script_name}: Both static and shared libraries were disabled."
|
||||
echo "${script_name}: Please enable one (or both) to continue."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -2001,18 +2174,18 @@ main()
|
||||
fi
|
||||
enable_memkind_01=0
|
||||
fi
|
||||
if [ "x${enable_blas2blis}" = "xyes" ]; then
|
||||
if [ "x${enable_blas}" = "xyes" ]; then
|
||||
echo "${script_name}: the BLAS compatibility layer is enabled."
|
||||
enable_blas2blis_01=1
|
||||
enable_blas_01=1
|
||||
else
|
||||
echo "${script_name}: the BLAS compatibility layer is disabled."
|
||||
enable_blas2blis_01=0
|
||||
enable_blas_01=0
|
||||
fi
|
||||
if [ "x${enable_cblas}" = "xyes" ]; then
|
||||
echo "${script_name}: the CBLAS compatibility layer is enabled."
|
||||
enable_cblas_01=1
|
||||
# Force BLAS layer when CBLAS is enabled
|
||||
enable_blas2blis='yes'
|
||||
enable_blas='yes'
|
||||
else
|
||||
echo "${script_name}: the CBLAS compatibility layer is disabled."
|
||||
enable_cblas_01=0
|
||||
@@ -2026,9 +2199,9 @@ main()
|
||||
else
|
||||
echo "${script_name}: the internal integer size is automatically determined."
|
||||
fi
|
||||
if [ "x${blas2blis_int_type_size}" = "x32" ]; then
|
||||
if [ "x${blas_int_type_size}" = "x32" ]; then
|
||||
echo "${script_name}: the BLAS/CBLAS interface integer size is 32-bit."
|
||||
elif [ "x${blas2blis_int_type_size}" = "x64" ]; then
|
||||
elif [ "x${blas_int_type_size}" = "x64" ]; then
|
||||
echo "${script_name}: the BLAS/CBLAS interface integer size is 64-bit."
|
||||
else
|
||||
echo "${script_name}: the BLAS/CBLAS interface integer size is automatically determined."
|
||||
@@ -2038,9 +2211,11 @@ main()
|
||||
# Variables that contain forward slashes, such as paths, need extra
|
||||
# escaping when used in sed commands. We insert those extra escape
|
||||
# characters here so that the sed commands below do the right thing.
|
||||
install_prefix_esc=$(echo "${install_prefix}" | sed 's/\//\\\//g')
|
||||
install_libdir_esc=$(echo "${install_libdir}" | sed 's/\//\\\//g')
|
||||
install_incdir_esc=$(echo "${install_incdir}" | sed 's/\//\\\//g')
|
||||
dist_path_esc=$(echo "${dist_path}" | sed 's/\//\\\//g')
|
||||
cc_esc=$(echo "${CC}" | sed 's/\//\\\//g')
|
||||
ranlib_esc=$(echo "${RANLIB:-ranlib}" | sed 's/\//\\\//g')
|
||||
|
||||
# Create a #define for the configuration family (config_name).
|
||||
uconf=$(echo ${config_name} | tr '[:lower:]' '[:upper:]')
|
||||
@@ -2071,6 +2246,30 @@ main()
|
||||
done
|
||||
|
||||
|
||||
# -- Determine whether we are performing an out-of-tree build --------------
|
||||
|
||||
if [ ${dist_path} != "./" ]; then
|
||||
|
||||
# At this point, we know the user did not run "./configure". But we
|
||||
# have not yet ruled out "<fullpath>/configure" or some # equivalent
|
||||
# that uses relative paths. To further rule out these possibilities,
|
||||
# we create a dummy file in the current build directory.
|
||||
touch ./${dummy_file}
|
||||
|
||||
# If the dummy file we just created in the current directory does not
|
||||
# appear in the source distribution path, then we are in a different
|
||||
# directory and thus we must create a symbolic link.
|
||||
if [ ! -f "${dist_path}/${dummy_file}" ]; then
|
||||
configured_oot="yes"
|
||||
else
|
||||
configured_oot="no"
|
||||
fi
|
||||
|
||||
# Remove the dummy file.
|
||||
rm -f "./${dummy_file}"
|
||||
fi
|
||||
|
||||
|
||||
# -- Instantiate config.mk, bli_config.h files from templates --------------
|
||||
|
||||
# Begin substituting information into the config_mk_in file, outputting
|
||||
@@ -2078,19 +2277,25 @@ main()
|
||||
echo "${script_name}: creating ${config_mk_out_path} from ${config_mk_in_path}"
|
||||
cat "${config_mk_in_path}" \
|
||||
| sed -e "s/@version@/${version}/g" \
|
||||
| sed -e "s/@so_version_major@/${so_version_major}/g" \
|
||||
| sed -e "s/@so_version_minorbuild@/${so_version_minorbuild}/g" \
|
||||
| sed -e "s/@config_name@/${config_name}/g" \
|
||||
| sed -e "s/@config_list@/${config_list}/g" \
|
||||
| sed -e "s/@kernel_list@/${kernel_list}/g" \
|
||||
| sed -e "s/@kconfig_map@/${kconfig_map}/g" \
|
||||
| sed -e "s/@os_name@/${os_name}/g" \
|
||||
| sed -e "s/@dist_path@/${dist_path_esc}/g" \
|
||||
| sed -e "s/@CC@/${cc_esc}/g" \
|
||||
| sed -e "s/@RANLIB@/${ranlib_esc}/g" \
|
||||
| sed -e "s/@debug_type@/${debug_type}/g" \
|
||||
| sed -e "s/@install_prefix@/${install_prefix_esc}/g" \
|
||||
| sed -e "s/@threading_model@/${threading_model}/g" \
|
||||
| sed -e "s/@install_libdir@/${install_libdir_esc}/g" \
|
||||
| sed -e "s/@install_incdir@/${install_incdir_esc}/g" \
|
||||
| sed -e "s/@enable_verbose@/${enable_verbose}/g" \
|
||||
| sed -e "s/@configured_oot@/${configured_oot}/g" \
|
||||
| sed -e "s/@enable_static@/${enable_static}/g" \
|
||||
| sed -e "s/@enable_shared@/${enable_shared}/g" \
|
||||
| sed -e "s/@threading_model@/${threading_model}/g" \
|
||||
| sed -e "s/@enable_blas2blis@/${enable_blas2blis}/g" \
|
||||
| sed -e "s/@enable_blas@/${enable_blas}/g" \
|
||||
| sed -e "s/@enable_cblas@/${enable_cblas}/g" \
|
||||
| sed -e "s/@enable_memkind@/${enable_memkind}/g" \
|
||||
> "${config_mk_out_path}"
|
||||
@@ -2110,8 +2315,8 @@ main()
|
||||
| sed -e "s/@enable_pthreads@/${enable_pthreads_01}/g" \
|
||||
| sed -e "s/@enable_packbuf_pools@/${enable_packbuf_pools_01}/g" \
|
||||
| sed -e "s/@int_type_size@/${int_type_size}/g" \
|
||||
| sed -e "s/@blas2blis_int_type_size@/${blas2blis_int_type_size}/g" \
|
||||
| sed -e "s/@enable_blas2blis@/${enable_blas2blis_01}/g" \
|
||||
| sed -e "s/@blas_int_type_size@/${blas_int_type_size}/g" \
|
||||
| sed -e "s/@enable_blas@/${enable_blas_01}/g" \
|
||||
| sed -e "s/@enable_cblas@/${enable_cblas_01}/g" \
|
||||
| sed -e "s/@enable_memkind@/${enable_memkind_01}/g" \
|
||||
> "${bli_config_h_out_path}"
|
||||
@@ -2304,57 +2509,40 @@ main()
|
||||
|
||||
# -- Handle out-of-tree builds ---------------------------------------------
|
||||
|
||||
# Under some circumstances, we need to create a symbolic link to the
|
||||
# Makefile. We only proceed with this if configure was run with a path
|
||||
# other than "./".
|
||||
if [ ${dist_path} != "./" ]; then
|
||||
# Under some circumstances, we need to create some symbolic links to
|
||||
# properly handle out-of-tree builds.
|
||||
if [ "${configured_oot}" = "yes" ]; then
|
||||
|
||||
# At this point, we know the user did not run "./configure". But we
|
||||
# have not yet ruled out "<fullpath>/configure" or some # equivalent
|
||||
# that uses relative paths. To further rule out these possibilities,
|
||||
# we create a dummy file in the current build directory.
|
||||
touch "./${dummy_file}"
|
||||
# If 'Makefile' does not already exist in the current directory,
|
||||
# create a symbolic link to it. If one does exist, we us -f to
|
||||
# force creation of a new link.
|
||||
if [ ! -e "./Makefile" ]; then
|
||||
|
||||
# If the dummy file we just created in the current directory does not
|
||||
# appear in the source distribution path, then we are in a different
|
||||
# directory and thus we must create a symbolic link.
|
||||
if [ ! -f "${dist_path}/${dummy_file}" ]; then
|
||||
echo "${script_name}: creating symbolic link to Makefile."
|
||||
ln -s "${dist_path}/Makefile"
|
||||
|
||||
# If 'Makefile' does not already exist in the current directory,
|
||||
# create a symbolic link to it. If one does exist, we us -f to
|
||||
# force creation of a new link.
|
||||
if [ ! -e "./Makefile" ]; then
|
||||
|
||||
echo "${script_name}: creating symbolic link to Makefile."
|
||||
ln -s "${dist_path}/Makefile"
|
||||
|
||||
else
|
||||
echo "${script_name}: symbolic link to Makefile already exists; forcing creation of new link."
|
||||
ln -sf "${dist_path}/Makefile"
|
||||
fi
|
||||
|
||||
# If 'common.mk' does not already exist in the current directory,
|
||||
# create a symbolic link to it. If one does exist, we us -f to
|
||||
# force creation of a new link.
|
||||
if [ ! -e "./common.mk" ]; then
|
||||
|
||||
echo "${script_name}: creating symbolic link to common.mk."
|
||||
ln -s "${dist_path}/common.mk"
|
||||
|
||||
else
|
||||
echo "${script_name}: symbolic link to common.mk already exists; forcing creation of new link."
|
||||
ln -sf "${dist_path}/common.mk"
|
||||
fi
|
||||
|
||||
echo "${script_name}: configured to build outside of source distribution."
|
||||
else
|
||||
|
||||
# Echo what is happening.
|
||||
echo "${script_name}: configured to build within top-level directory of source distribution."
|
||||
echo "${script_name}: symbolic link to Makefile already exists; forcing creation of new link."
|
||||
ln -sf "${dist_path}/Makefile"
|
||||
fi
|
||||
|
||||
# Remove the dummy file.
|
||||
rm -f "./${dummy_file}"
|
||||
# If 'common.mk' does not already exist in the current directory,
|
||||
# create a symbolic link to it. If one does exist, we us -f to
|
||||
# force creation of a new link.
|
||||
if [ ! -e "./common.mk" ]; then
|
||||
|
||||
echo "${script_name}: creating symbolic link to common.mk."
|
||||
ln -s "${dist_path}/common.mk"
|
||||
|
||||
else
|
||||
echo "${script_name}: symbolic link to common.mk already exists; forcing creation of new link."
|
||||
ln -sf "${dist_path}/common.mk"
|
||||
fi
|
||||
|
||||
echo "${script_name}: configured to build outside of source distribution."
|
||||
else
|
||||
|
||||
echo "${script_name}: configured to build within top-level directory of source distribution."
|
||||
fi
|
||||
|
||||
|
||||
|
||||
@@ -152,7 +152,7 @@ bin: $(TEST_BINS)
|
||||
# --Object file rules --
|
||||
|
||||
$(TEST_OBJ_PATH)/%.o: $(TEST_SRC_PATH)/%.c $(LIBBLIS_LINK)
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
else
|
||||
@echo "Compiling $@"
|
||||
@@ -163,7 +163,7 @@ endif
|
||||
# -- Executable file rules --
|
||||
|
||||
%.x: %.o $(LIBBLIS_LINK)
|
||||
ifeq ($(BLIS_ENABLE_VERBOSE_MAKE_OUTPUT),yes)
|
||||
ifeq ($(ENABLE_VERBOSE),yes)
|
||||
$(LINKER) $< $(LIBBLIS_LINK) $(LDFLAGS) -o $@
|
||||
else
|
||||
@echo "Linking $@ against '$(LIBBLIS_LINK) $(LDFLAGS)'"
|
||||
|
||||
@@ -69,9 +69,9 @@ gint_t bli_info_get_enable_stay_auto_init( void )
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
gint_t bli_info_get_enable_blas2blis( void )
|
||||
gint_t bli_info_get_enable_blas( void )
|
||||
{
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
return 1;
|
||||
#else
|
||||
return 0;
|
||||
@@ -85,7 +85,7 @@ gint_t bli_info_get_enable_cblas( void )
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
gint_t bli_info_get_blas2blis_int_type_size( void ) { return BLIS_BLAS2BLIS_INT_TYPE_SIZE; }
|
||||
gint_t bli_info_get_blas_int_type_size( void ) { return BLIS_BLAS_INT_TYPE_SIZE; }
|
||||
gint_t bli_info_get_enable_packbuf_pools( void )
|
||||
{
|
||||
#ifdef BLIS_ENABLE_PACKBUF_POOLS
|
||||
|
||||
@@ -54,9 +54,9 @@ gint_t bli_info_get_heap_addr_align_size( void );
|
||||
gint_t bli_info_get_heap_stride_align_size( void );
|
||||
gint_t bli_info_get_pool_addr_align_size( void );
|
||||
gint_t bli_info_get_enable_stay_auto_init( void );
|
||||
gint_t bli_info_get_enable_blas2blis( void );
|
||||
gint_t bli_info_get_enable_blas( void );
|
||||
gint_t bli_info_get_enable_cblas( void );
|
||||
gint_t bli_info_get_blas2blis_int_type_size( void );
|
||||
gint_t bli_info_get_blas_int_type_size( void );
|
||||
gint_t bli_info_get_enable_packbuf_pools( void );
|
||||
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ void PASTEF77(ch,blasname)( \
|
||||
bli_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNC_BLAS( gbmv, gbmv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ void PASTEF77(ch,blasname)( \
|
||||
ftype* y, f77_int* incy \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROT_BLAS( gbmv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ void PASTEF77(ch,blasname)( \
|
||||
bli_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCCO_BLAS( hbmv, hbmv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ void PASTEF77(ch,blasname)( \
|
||||
ftype* y, f77_int* incy \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTCO_BLAS( hbmv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ void PASTEF77(ch,blasname)( \
|
||||
bli_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCCO_BLAS( hpmv, hpmv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ void PASTEF77(ch,blasname)( \
|
||||
ftype* y, f77_int* incy \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTCO_BLAS( hpmv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ void PASTEF77(ch,blasname)( \
|
||||
bli_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCCO_BLAS( hpr, hpr )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ void PASTEF77(ch,blasname)( \
|
||||
ftype* a \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTCO_BLAS( hpr )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ void PASTEF77(ch,blasname)( \
|
||||
bli_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCCO_BLAS( hpr2, hpr2 )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ void PASTEF77(ch,blasname)( \
|
||||
ftype* a \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTCO_BLAS( hpr2 )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@ void PASTEF772(chxy,chr,blasname)( \
|
||||
bli_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCR2_BLAS( rot, ROT_KERNEL )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ void PASTEF772(chxy,chr,blasname)( \
|
||||
ftype_r* s \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTR2_BLAS( rot )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ void PASTEF77(chxy,blasname)( \
|
||||
bli_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCR_BLAS( rotg, rotg, ROTG_KERNEL )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ void PASTEF77(chxy,blasname)( \
|
||||
ftype_r* s \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTR_BLAS( rotg, rotg )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ void PASTEF77(ch,blasname)( \
|
||||
bli_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCRO_BLAS( rotm, ROTM_KERNEL )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ void PASTEF77(ch,blasname)( \
|
||||
ftype* dparam \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTRO_BLAS( rotm )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ void PASTEF77(ch,blasname)( \
|
||||
bli_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCRO_BLAS( rotmg, ROTMG_KERNEL )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ void PASTEF77(ch,blasname)( \
|
||||
ftype* dparam \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTRO_BLAS( rotmg )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ void PASTEF77(ch,blasname)( \
|
||||
bli_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCRO_BLAS( sbmv, sbmv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ void PASTEF77(ch,blasname)( \
|
||||
ftype* y, f77_int* incy \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTRO_BLAS( sbmv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ void PASTEF77(ch,blasname)( \
|
||||
bli_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCRO_BLAS( spmv, spmv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ void PASTEF77(ch,blasname)( \
|
||||
ftype* y, f77_int* incy \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTRO_BLAS( spmv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ void PASTEF77(ch,blasname)( \
|
||||
bli_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCRO_BLAS( spr, spr )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ void PASTEF77(ch,blasname)( \
|
||||
ftype* a \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTRO_BLAS( spr )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ void PASTEF77(ch,blasname)( \
|
||||
bli_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCRO_BLAS( spr2, spr2 )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ void PASTEF77(ch,blasname)( \
|
||||
ftype* a \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTRO_BLAS( spr2 )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ void PASTEF77(ch,blasname)( \
|
||||
bli_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNC_BLAS( tbmv, tbmv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ void PASTEF77(ch,blasname)( \
|
||||
ftype* x, f77_int* incx \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROT_BLAS( tbmv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ void PASTEF77(ch,blasname)( \
|
||||
bli_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNC_BLAS( tbsv, tbsv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ void PASTEF77(ch,blasname)( \
|
||||
ftype* x, f77_int* incx \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROT_BLAS( tbsv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ void PASTEF77(ch,blasname)( \
|
||||
bli_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNC_BLAS( tpmv, tpmv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ void PASTEF77(ch,blasname)( \
|
||||
ftype* x, f77_int* incx \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROT_BLAS( tpmv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ void PASTEF77(ch,blasname)( \
|
||||
bli_check_error_code( BLIS_NOT_YET_IMPLEMENTED ); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNC_BLAS( tpsv, tpsv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ void PASTEF77(ch,blasname)( \
|
||||
ftype* x, f77_int* incx \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROT_BLAS( tpsv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ f77_int PASTEF772(i,chx,blasname) \
|
||||
return f77_index; \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNC_BLAS( amax, amaxv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ f77_int PASTEF772(i,chx,blasname) \
|
||||
const ftype_x* x, const f77_int* incx \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROT_BLAS( amax )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@ ftype_r PASTEF772(chr,chx,blasname) \
|
||||
return asum; \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCR2_BLAS( asum, asumv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ ftype_r PASTEF772(chr,chx,blasname) \
|
||||
const ftype_x* x, const f77_int* incx \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTR2_BLAS( asum )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ void PASTEF77(ch,blasname) \
|
||||
bli_finalize_auto(); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNC_BLAS( axpy, axpyv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ void PASTEF77(ch,blasname) \
|
||||
ftype* y, const f77_int* incy \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROT_BLAS( axpy )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ void PASTEF77(ch,blasname) \
|
||||
bli_finalize_auto(); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNC_BLAS( copy, copyv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ void PASTEF77(ch,blasname) \
|
||||
ftype* y, const f77_int* incy \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROT_BLAS( copy )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -84,7 +84,7 @@ ftype PASTEF772(ch,blasname,chc) \
|
||||
return rho; \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCDOT_BLAS( dot, dotv )
|
||||
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ ftype PASTEF772(ch,blasname,chc) \
|
||||
const ftype* y, const f77_int* incy \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTDOT_BLAS( dot )
|
||||
|
||||
|
||||
|
||||
@@ -117,7 +117,7 @@ void PASTEF77(ch,blasname) \
|
||||
bli_finalize_auto(); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNC_BLAS( gemm, gemm )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ void PASTEF77(ch,blasname) \
|
||||
ftype* c, const f77_int* ldc \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROT_BLAS( gemm )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -135,7 +135,7 @@ void PASTEF77(ch,blasname) \
|
||||
bli_finalize_auto(); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNC_BLAS( gemv, gemv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ void PASTEF77(ch,blasname) \
|
||||
ftype* y, const f77_int* incy \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROT_BLAS( gemv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@ void PASTEF772(ch,blasname,chc) \
|
||||
bli_finalize_auto(); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCDOT_BLAS( ger, ger )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ void PASTEF772(chxy,blasname,chc) \
|
||||
ftype* a, const f77_int* lda \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTDOT_BLAS( ger )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -115,7 +115,7 @@ void PASTEF77(ch,blasname) \
|
||||
bli_finalize_auto(); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCCO_BLAS( hemm, hemm )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ void PASTEF77(ch,blasname) \
|
||||
ftype* c, const f77_int* ldc \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTCO_BLAS( hemm )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -109,7 +109,7 @@ void PASTEF77(ch,blasname) \
|
||||
bli_finalize_auto(); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCCO_BLAS( hemv, hemv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ void PASTEF77(ch,blasname) \
|
||||
ftype* y, const f77_int* incy \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTCO_BLAS( hemv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -100,7 +100,7 @@ void PASTEF77(ch,blasname) \
|
||||
bli_finalize_auto(); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCCO_BLAS( her, her )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ void PASTEF77(ch,blasname) \
|
||||
ftype* a, const f77_int* lda \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTCO_BLAS( her )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -107,7 +107,7 @@ void PASTEF77(ch,blasname) \
|
||||
bli_finalize_auto(); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCCO_BLAS( her2, her2 )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ void PASTEF77(ch,blasname) \
|
||||
ftype* a, const f77_int* lda \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTCO_BLAS( her2 )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -131,7 +131,7 @@ void PASTEF77(ch,blasname) \
|
||||
bli_finalize_auto(); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCCO_BLAS( her2k, her2k )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ void PASTEF77(ch,blasname) \
|
||||
ftype* c, const f77_int* ldc \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTCO_BLAS( her2k )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -124,7 +124,7 @@ void PASTEF77(ch,blasname) \
|
||||
bli_finalize_auto(); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCCO_BLAS( herk, herk )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ void PASTEF77(ch,blasname) \
|
||||
ftype* c, const f77_int* ldc \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTCO_BLAS( herk )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@ ftype_r PASTEF772(chr,chx,blasname) \
|
||||
return norm; \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCR2_BLAS( nrm2, normfv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ ftype_r PASTEF772(chr,chx,blasname) \
|
||||
const ftype_x* x, const f77_int* incx \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTR2_BLAS( nrm2 )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@ void PASTEF772(chx,cha,blasname) \
|
||||
bli_finalize_auto(); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCSCAL_BLAS( scal, scalv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ void PASTEF772(chx,cha,blasname) \
|
||||
ftype_x* x, const f77_int* incx \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTSCAL_BLAS( scal )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ void PASTEF77(ch,blasname) \
|
||||
bli_finalize_auto(); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNC_BLAS( swap, swapv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ void PASTEF77(ch,blasname) \
|
||||
ftype* y, const f77_int* incy \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROT_BLAS( swap )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -115,7 +115,7 @@ void PASTEF77(ch,blasname) \
|
||||
bli_finalize_auto(); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNC_BLAS( symm, symm )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ void PASTEF77(ch,blasname) \
|
||||
ftype* c, const f77_int* ldc \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROT_BLAS( symm )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -109,7 +109,7 @@ void PASTEF77(ch,blasname) \
|
||||
bli_finalize_auto(); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCRO_BLAS( symv, symv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ void PASTEF77(ch,blasname) \
|
||||
ftype* y, const f77_int* incy \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTRO_BLAS( symv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -100,7 +100,7 @@ void PASTEF77(ch,blasname) \
|
||||
bli_finalize_auto(); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCRO_BLAS( syr, syr )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ void PASTEF77(ch,blasname) \
|
||||
ftype* a, const f77_int* lda \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTRO_BLAS( syr )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -108,7 +108,7 @@ void PASTEF77(ch,blasname) \
|
||||
bli_finalize_auto(); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNCRO_BLAS( syr2, syr2 )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ void PASTEF77(ch,blasname) \
|
||||
ftype* a, const f77_int* lda \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROTRO_BLAS( syr2 )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -123,7 +123,7 @@ void PASTEF77(ch,blasname) \
|
||||
bli_finalize_auto(); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNC_BLAS( syr2k, syr2k )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ void PASTEF77(ch,blasname) \
|
||||
ftype* c, const f77_int* ldc \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROT_BLAS( syr2k )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -116,7 +116,7 @@ void PASTEF77(ch,blasname) \
|
||||
bli_finalize_auto(); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNC_BLAS( syrk, syrk )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ void PASTEF77(ch,blasname) \
|
||||
ftype* c, const f77_int* ldc \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROT_BLAS( syrk )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -115,7 +115,7 @@ void PASTEF77(ch,blasname) \
|
||||
bli_finalize_auto(); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNC_BLAS( trmm, trmm )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ void PASTEF77(ch,blasname) \
|
||||
ftype* b, const f77_int* ldb \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROT_BLAS( trmm )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -112,7 +112,7 @@ void PASTEF77(ch,blasname) \
|
||||
bli_finalize_auto(); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNC_BLAS( trmv, trmv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ void PASTEF77(ch,blasname) \
|
||||
ftype* x, const f77_int* incx \
|
||||
);
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTPROT_BLAS( trmv )
|
||||
#endif
|
||||
|
||||
|
||||
@@ -115,7 +115,7 @@ void PASTEF77(ch,blasname) \
|
||||
bli_finalize_auto(); \
|
||||
}
|
||||
|
||||
#ifdef BLIS_ENABLE_BLAS2BLIS
|
||||
#ifdef BLIS_ENABLE_BLAS
|
||||
INSERT_GENTFUNC_BLAS( trsm, trsm )
|
||||
#endif
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user