Merge branch 'develop'
This commit is contained in:
commit
f773f492f3
|
@ -1,4 +1,15 @@
|
|||
OpenBLAS ChangeLog
|
||||
====================================================================
|
||||
Version 0.2.9
|
||||
10-Jun-2014
|
||||
common:
|
||||
* Improved the result for LAPACK testing. (#372)
|
||||
* Installed DLL to prefix/bin instead of prefix/lib. (#366)
|
||||
* Build import library on Windows.(#374)
|
||||
x86/x86-64:
|
||||
* To improve LAPACK testing, we fallback some kernels. (#372)
|
||||
https://github.com/xianyi/OpenBLAS/wiki/Fixed-optimized-kernels-To-do-List
|
||||
|
||||
====================================================================
|
||||
Version 0.2.9.rc2
|
||||
06-Mar-2014
|
||||
|
@ -51,7 +62,7 @@ common:
|
|||
parallelization model is used by OpenBLAS. (Thank grisuthedragon)
|
||||
* Detect LLVM/Clang compiler. The default compiler is Clang on Mac OS X.
|
||||
* Change LIBSUFFIX from .lib to .a on windows.
|
||||
* A walk round for dtrti_U single thread bug. Replace it with LAPACK codes. (#191)
|
||||
* A work-around for dtrti_U single thread bug. Replace it with LAPACK codes. (#191)
|
||||
|
||||
x86/x86-64:
|
||||
* Optimize c/zgemm, trsm, dgemv_n, ddot, daxpy, dcopy on
|
||||
|
@ -284,7 +295,7 @@ x86/x86_64:
|
|||
* Fixed #28 a wrong result of dsdot on x86_64.
|
||||
* Fixed #32 a SEGFAULT bug of zdotc with gcc-4.6.
|
||||
* Fixed #33 ztrmm bug on Nehalem.
|
||||
* Walk round #27 the low performance axpy issue with small imput size & multithreads.
|
||||
* Work-around #27 the low performance axpy issue with small imput size & multithreads.
|
||||
|
||||
MIPS64:
|
||||
* Fixed #28 a wrong result of dsdot on Loongson3A/MIPS64.
|
||||
|
@ -308,7 +319,7 @@ common:
|
|||
|
||||
x86/x86_64:
|
||||
* On x86 32bits, fixed a bug in zdot_sse2.S line 191. This would casue
|
||||
zdotu & zdotc failures.Instead,Walk around it. (Refs issue #8 #9 on github)
|
||||
zdotu & zdotc failures. Instead, work-around it. (Refs issue #8 #9 on github)
|
||||
* Modified ?axpy functions to return same netlib BLAS results
|
||||
when incx==0 or incy==0 (Refs issue #7 on github)
|
||||
* Modified ?swap functions to return same netlib BLAS results
|
||||
|
|
57
Makefile
57
Makefile
|
@ -57,7 +57,7 @@ endif
|
|||
|
||||
ifeq ($(USE_OPENMP), 1)
|
||||
@echo
|
||||
@echo " Use OpenMP in the multithreading. Becasue of ignoring OPENBLAS_NUM_THREADS and GOTO_NUM_THREADS flags, "
|
||||
@echo " Use OpenMP in the multithreading. Because of ignoring OPENBLAS_NUM_THREADS and GOTO_NUM_THREADS flags, "
|
||||
@echo " you should use OMP_NUM_THREADS environment variable to control the number of threads."
|
||||
@echo
|
||||
endif
|
||||
|
@ -128,6 +128,11 @@ ifeq ($(CORE), UNKOWN)
|
|||
endif
|
||||
ifeq ($(NOFORTRAN), 1)
|
||||
$(error OpenBLAS: Detecting fortran compiler failed. Please install fortran compiler, e.g. gfortran, ifort, openf90.)
|
||||
endif
|
||||
ifeq ($(NO_STATIC), 1)
|
||||
ifeq ($(NO_SHARED), 1)
|
||||
$(error OpenBLAS: neither static nor shared are enabled.)
|
||||
endif
|
||||
endif
|
||||
@-ln -fs $(LIBNAME) $(LIBPREFIX).$(LIBSUFFIX)
|
||||
@for d in $(SUBDIRS) ; \
|
||||
|
@ -207,6 +212,7 @@ else
|
|||
netlib : lapack_prebuild
|
||||
ifndef NOFORTRAN
|
||||
@$(MAKE) -C $(NETLIB_LAPACK_DIR) lapacklib
|
||||
@$(MAKE) -C $(NETLIB_LAPACK_DIR) tmglib
|
||||
endif
|
||||
ifndef NO_LAPACKE
|
||||
@$(MAKE) -C $(NETLIB_LAPACK_DIR) lapackelib
|
||||
|
@ -230,45 +236,21 @@ ifndef NOFORTRAN
|
|||
-@echo "ARCHFLAGS = -ru" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
-@echo "RANLIB = $(RANLIB)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
-@echo "LAPACKLIB = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
-@echo "TMGLIB = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
-@echo "BLASLIB = ../../../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
-@echo "LAPACKELIB = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
-@echo "LAPACKLIB_P = ../$(LIBNAME_P)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
-@echo "SUFFIX = $(SUFFIX)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
-@echo "PSUFFIX = $(PSUFFIX)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
-@echo "CEXTRALIB = $(EXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
ifeq ($(F_COMPILER), GFORTRAN)
|
||||
-@echo "TIMER = INT_ETIME" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
else
|
||||
-@echo "TIMER = NONE" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
endif
|
||||
-@cat make.inc >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||
endif
|
||||
|
||||
lapack-3.4.2 : lapack-3.4.2.tgz
|
||||
ifndef NOFORTRAN
|
||||
ifndef NO_LAPACK
|
||||
@if test `$(MD5SUM) $< | $(AWK) '{print $$1}'` = 61bf1a8a4469d4bdb7604f5897179478; then \
|
||||
echo $(TAR) zxf $< ;\
|
||||
$(TAR) zxf $< && (cd $(NETLIB_LAPACK_DIR); $(PATCH) -p1 < ../patch.for_lapack-3.4.2) ;\
|
||||
rm -f $(NETLIB_LAPACK_DIR)/lapacke/make.inc ;\
|
||||
else \
|
||||
rm -rf $(NETLIB_LAPACK_DIR) ;\
|
||||
echo " Cannot download lapack-3.4.2.tgz or the MD5 check sum is wrong (Please use orignal)."; \
|
||||
exit 1; \
|
||||
fi
|
||||
endif
|
||||
endif
|
||||
|
||||
LAPACK_URL=http://www.netlib.org/lapack/lapack-3.4.2.tgz
|
||||
|
||||
lapack-3.4.2.tgz :
|
||||
ifndef NOFORTRAN
|
||||
#http://stackoverflow.com/questions/7656425/makefile-ifeq-logical-or
|
||||
ifeq ($(OSNAME), $(filter $(OSNAME),Darwin NetBSD))
|
||||
curl -O $(LAPACK_URL);
|
||||
else
|
||||
ifeq ($(OSNAME), FreeBSD)
|
||||
fetch $(LAPACK_URL);
|
||||
else
|
||||
wget -O $@ $(LAPACK_URL);
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
large.tgz :
|
||||
ifndef NOFORTRAN
|
||||
if [ ! -a $< ]; then
|
||||
|
@ -287,17 +269,15 @@ lapack-timing : large.tgz timing.tgz
|
|||
ifndef NOFORTRAN
|
||||
(cd $(NETLIB_LAPACK_DIR); $(TAR) zxf ../timing.tgz TIMING)
|
||||
(cd $(NETLIB_LAPACK_DIR)/TIMING; $(TAR) zxf ../../large.tgz )
|
||||
make -C $(NETLIB_LAPACK_DIR) tmglib
|
||||
make -C $(NETLIB_LAPACK_DIR)/TIMING
|
||||
endif
|
||||
|
||||
|
||||
lapack-test :
|
||||
$(MAKE) -C $(NETLIB_LAPACK_DIR) tmglib
|
||||
$(MAKE) -C $(NETLIB_LAPACK_DIR)/TESTING xeigtstc xeigtstd xeigtsts xeigtstz xlintstc xlintstd xlintstds xlintsts xlintstz xlintstzc
|
||||
@rm -f $(NETLIB_LAPACK_DIR)/TESTING/*.out
|
||||
$(MAKE) -j 1 -C $(NETLIB_LAPACK_DIR)/TESTING
|
||||
$(GREP) failed $(NETLIB_LAPACK_DIR)/TESTING/*.out
|
||||
(cd $(NETLIB_LAPACK_DIR)/TESTING && rm -f x* *.out)
|
||||
make -j 1 -C $(NETLIB_LAPACK_DIR)/TESTING xeigtstc xeigtstd xeigtsts xeigtstz xlintstc xlintstd xlintstds xlintstrfd xlintstrfz xlintsts xlintstz xlintstzc xlintstrfs xlintstrfc
|
||||
(cd $(NETLIB_LAPACK_DIR); ./lapack_testing.py -r )
|
||||
|
||||
|
||||
dummy :
|
||||
|
||||
|
@ -323,4 +303,5 @@ endif
|
|||
@$(MAKE) -C $(NETLIB_LAPACK_DIR) clean
|
||||
@rm -f $(NETLIB_LAPACK_DIR)/make.inc $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke_mangling.h
|
||||
@rm -f *.grd Makefile.conf_last config_last.h
|
||||
@(cd $(NETLIB_LAPACK_DIR)/TESTING && rm -f x* *.out testing_results.txt)
|
||||
@echo Done.
|
||||
|
|
|
@ -10,3 +10,9 @@ FCOMMON_OPT += -marm -mfpu=vfp -mfloat-abi=hard -march=armv6
|
|||
endif
|
||||
|
||||
|
||||
ifeq ($(CORE), ARMV5)
|
||||
CCOMMON_OPT += -marm -mfpu=vfp -mfloat-abi=hard -march=armv6
|
||||
FCOMMON_OPT += -marm -mfpu=vfp -mfloat-abi=hard -march=armv6
|
||||
endif
|
||||
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@ PREFIX ?= /opt/OpenBLAS
|
|||
|
||||
OPENBLAS_INCLUDE_DIR := $(PREFIX)/include
|
||||
OPENBLAS_LIBRARY_DIR := $(PREFIX)/lib
|
||||
OPENBLAS_BINARY_DIR := $(PREFIX)/bin
|
||||
OPENBLAS_BUILD_DIR := $(CURDIR)
|
||||
|
||||
.PHONY : install
|
||||
|
@ -19,6 +20,7 @@ install : lib.grd
|
|||
@-mkdir -p $(DESTDIR)$(PREFIX)
|
||||
@-mkdir -p $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)
|
||||
@-mkdir -p $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
|
||||
@-mkdir -p $(DESTDIR)$(OPENBLAS_BINARY_DIR)
|
||||
@echo Generating openblas_config.h in $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)
|
||||
#for inc
|
||||
@echo \#ifndef OPENBLAS_CONFIG_H > $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/openblas_config.h
|
||||
|
@ -49,10 +51,12 @@ ifndef NO_LAPACKE
|
|||
endif
|
||||
|
||||
#for install static library
|
||||
ifndef NO_STATIC
|
||||
@echo Copying the static library to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
|
||||
@install -pm644 $(LIBNAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
|
||||
@cd $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) ; \
|
||||
ln -fs $(LIBNAME) $(LIBPREFIX).$(LIBSUFFIX)
|
||||
endif
|
||||
#for install shared library
|
||||
ifndef NO_SHARED
|
||||
@echo Copying the shared library to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
|
||||
|
@ -78,10 +82,11 @@ ifeq ($(OSNAME), Darwin)
|
|||
@-ln -fs $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)/$(LIBDYNNAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)/$(LIBPREFIX).dylib
|
||||
endif
|
||||
ifeq ($(OSNAME), WINNT)
|
||||
@-cp $(LIBDLLNAME) $(OPENBLAS_LIBRARY_DIR)
|
||||
@-cp $(LIBDLLNAME) $(OPENBLAS_BINARY_DIR)
|
||||
@-cp $(LIBPREFIX).lib $(OPENBLAS_LIBRARY_DIR)
|
||||
endif
|
||||
ifeq ($(OSNAME), CYGWIN_NT)
|
||||
@-cp $(LIBDLLNAME) $(OPENBLAS_LIBRARY_DIR)
|
||||
@-cp $(LIBDLLNAME) $(OPENBLAS_BINARY_DIR)
|
||||
endif
|
||||
endif
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
|
||||
# This library's version
|
||||
VERSION = 0.2.9.rc2
|
||||
VERSION = 0.2.9
|
||||
|
||||
# If you set the suffix, the library name will be libopenblas_$(LIBNAMESUFFIX).a
|
||||
# and libopenblas_$(LIBNAMESUFFIX).so. Meanwhile, the soname in shared library
|
||||
|
@ -48,6 +48,9 @@ VERSION = 0.2.9.rc2
|
|||
# automatically detected by the the script.
|
||||
# NUM_THREADS = 24
|
||||
|
||||
# if you don't need to install the static library, please comment it in.
|
||||
# NO_STATIC = 1
|
||||
|
||||
# if you don't need generate the shared library, please comment it in.
|
||||
# NO_SHARED = 1
|
||||
|
||||
|
@ -76,10 +79,10 @@ VERSION = 0.2.9.rc2
|
|||
# Unfortunately most of kernel won't give us high quality buffer.
|
||||
# BLAS tries to find the best region before entering main function,
|
||||
# but it will consume time. If you don't like it, you can disable one.
|
||||
# NO_WARMUP = 1
|
||||
NO_WARMUP = 1
|
||||
|
||||
# If you want to disable CPU/Memory affinity on Linux.
|
||||
# NO_AFFINITY = 1
|
||||
NO_AFFINITY = 1
|
||||
|
||||
# Don't use AVX kernel on Sandy Bridge. It is compatible with old compilers
|
||||
# and OS. However, the performance is low.
|
||||
|
@ -129,6 +132,9 @@ VERSION = 0.2.9.rc2
|
|||
# The default -O2 is enough.
|
||||
# COMMON_OPT = -O2
|
||||
|
||||
# gfortran option for LAPACK
|
||||
FCOMMON_OPT = -frecursive
|
||||
|
||||
# Profiling flags
|
||||
COMMON_PROF = -pg
|
||||
|
||||
|
|
|
@ -158,6 +158,7 @@ endif
|
|||
|
||||
ifeq ($(OSNAME), Linux)
|
||||
EXTRALIB += -lm
|
||||
NO_EXPRECISION = 1
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME), AIX)
|
||||
|
@ -846,19 +847,6 @@ ifeq ($(DEBUG), 1)
|
|||
COMMON_OPT += -g
|
||||
endif
|
||||
|
||||
ifndef COMMON_OPT
|
||||
ifeq ($(ARCH), arm)
|
||||
COMMON_OPT = -O3
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef COMMON_OPT
|
||||
ifeq ($(ARCH), arm64)
|
||||
COMMON_OPT = -O3
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
ifndef COMMON_OPT
|
||||
COMMON_OPT = -O2
|
||||
endif
|
||||
|
|
9
common.h
9
common.h
|
@ -310,10 +310,17 @@ typedef int blasint;
|
|||
#define YIELDING SwitchToThread()
|
||||
#endif
|
||||
|
||||
#if defined(ARMV7) || defined(ARMV6) || defined(ARMV8)
|
||||
#if defined(ARMV7) || defined(ARMV6) || defined(ARMV8) || defined(ARMV5)
|
||||
#define YIELDING asm volatile ("nop;nop;nop;nop;nop;nop;nop;nop; \n");
|
||||
#endif
|
||||
|
||||
#ifdef BULLDOZER
|
||||
#ifndef YIELDING
|
||||
#define YIELDING __asm__ __volatile__ ("nop;nop;nop;nop;nop;nop;nop;nop;\n");
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef PILEDRIVER
|
||||
#ifndef YIELDING
|
||||
#define YIELDING __asm__ __volatile__ ("nop;nop;nop;nop;nop;nop;nop;nop;\n");
|
||||
|
|
2
ctest.c
2
ctest.c
|
@ -125,7 +125,7 @@ ARCH_IA64
|
|||
BINARY_64
|
||||
#endif
|
||||
|
||||
#if defined(__ARM_ARCH) || defined(__ARM_ARCH_7A__)
|
||||
#if defined(__ARM_ARCH) || defined(__ARM_ARCH_7A__) || defined(__arm__)
|
||||
ARCH_ARM
|
||||
#endif
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ include ../../Makefile.system
|
|||
|
||||
COMMONOBJS = memory.$(SUFFIX) xerbla.$(SUFFIX) c_abs.$(SUFFIX) z_abs.$(SUFFIX) openblas_set_num_threads.$(SUFFIX) openblas_get_config.$(SUFFIX) openblas_get_parallel.$(SUFFIX) openblas_error_handle.$(SUFFIX)
|
||||
|
||||
COMMONOBJS += slamch.$(SUFFIX) slamc3.$(SUFFIX) dlamch.$(SUFFIX) dlamc3.$(SUFFIX)
|
||||
#COMMONOBJS += slamch.$(SUFFIX) slamc3.$(SUFFIX) dlamch.$(SUFFIX) dlamc3.$(SUFFIX)
|
||||
|
||||
ifdef SMP
|
||||
COMMONOBJS += blas_server.$(SUFFIX) divtable.$(SUFFIX) blasL1thread.$(SUFFIX)
|
||||
|
|
|
@ -75,9 +75,6 @@ zip : dll
|
|||
zip $(LIBZIPNAME) $(LIBDLLNAME) $(LIBNAME)
|
||||
|
||||
dll : ../$(LIBDLLNAME)
|
||||
#libgoto2.dll
|
||||
|
||||
dll2 : libgoto2_shared.dll
|
||||
|
||||
# On Windows, we only generate a DLL without a version suffix. This is because
|
||||
# applications which link against the dynamic library reference a fixed DLL name
|
||||
|
@ -86,36 +83,19 @@ dll2 : libgoto2_shared.dll
|
|||
# For more details see: https://github.com/xianyi/OpenBLAS/issues/127.
|
||||
../$(LIBDLLNAME) : ../$(LIBNAME) libopenblas.def dllinit.$(SUFFIX)
|
||||
$(RANLIB) ../$(LIBNAME)
|
||||
ifeq ($(BINARY32), 1)
|
||||
$(DLLWRAP) -o ../$(LIBDLLNAME) --def libopenblas.def \
|
||||
--entry _dllinit@12 -s dllinit.$(SUFFIX) --dllname $(@F) ../$(LIBNAME) $(EXTRALIB)
|
||||
-lib /machine:i386 /def:libopenblas.def
|
||||
else
|
||||
$(DLLWRAP) -o ../$(LIBDLLNAME) --def libopenblas.def \
|
||||
--entry $(FU)dllinit -s dllinit.$(SUFFIX) --dllname $(@F) ../$(LIBNAME) $(EXTRALIB)
|
||||
-lib /machine:X64 /def:libopenblas.def
|
||||
endif
|
||||
|
||||
libgoto2_shared.dll : ../$(LIBNAME) libgoto2_shared.def
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) libgoto2_shared.def -shared -o $(@F) \
|
||||
-Wl,--whole-archive ../$(LIBNAME) -Wl,--no-whole-archive \
|
||||
-Wl,--out-implib,libgoto2_shared.lib $(FEXTRALIB)
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) libopenblas.def dllinit.$(SUFFIX) \
|
||||
-shared -o ../$(LIBDLLNAME) -Wl,--out-implib,../$(LIBPREFIX).lib \
|
||||
-Wl,--whole-archive ../$(LIBNAME) -Wl,--no-whole-archive $(FEXTRALIB)
|
||||
|
||||
libopenblas.def : gensymbol
|
||||
perl ./gensymbol win2k $(ARCH) dummy $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) $(NO_LAPACKE) $(NEED2UNDERSCORES) $(ONLY_CBLAS) > $(@F)
|
||||
|
||||
libgoto2_shared.def : gensymbol
|
||||
perl ./gensymbol win2k $(ARCH) dummy $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) $(NO_LAPACKE) $(NEED2UNDERSCORES) $(ONLY_CBLAS) > $(@F)
|
||||
|
||||
libgoto_hpl.def : gensymbol
|
||||
perl ./gensymbol win2khpl $(ARCH) dummy $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) $(NO_LAPACKE) $(NEED2UNDERSCORES) $(ONLY_CBLAS) > $(@F)
|
||||
|
||||
$(LIBDYNNAME) : ../$(LIBNAME) osx.def
|
||||
$(FC) $(FFLAGS) -all_load -headerpad_max_install_names -install_name $(CURDIR)/../$(LIBDYNNAME) -dynamiclib -o ../$(LIBDYNNAME) $< -Wl,-exported_symbols_list,osx.def $(FEXTRALIB)
|
||||
|
||||
symbol.$(SUFFIX) : symbol.S
|
||||
$(CC) $(CFLAGS) -c -o $(@F) $^
|
||||
|
||||
dllinit.$(SUFFIX) : dllinit.c
|
||||
$(CC) $(CFLAGS) -c -o $(@F) -s $<
|
||||
|
||||
|
@ -123,7 +103,7 @@ ifeq ($(OSNAME), Linux)
|
|||
|
||||
so : ../$(LIBSONAME)
|
||||
|
||||
../$(LIBSONAME) : ../$(LIBNAME) linux.def linktest.c
|
||||
../$(LIBSONAME) : ../$(LIBNAME) linktest.c
|
||||
ifneq ($(C_COMPILER), LSB)
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) -shared -o ../$(LIBSONAME) \
|
||||
-Wl,--whole-archive ../$(LIBNAME) -Wl,--no-whole-archive \
|
||||
|
@ -145,7 +125,7 @@ ifeq ($(OSNAME), $(filter $(OSNAME),FreeBSD NetBSD))
|
|||
|
||||
so : ../$(LIBSONAME)
|
||||
|
||||
../$(LIBSONAME) : ../$(LIBNAME) linux.def linktest.c
|
||||
../$(LIBSONAME) : ../$(LIBNAME) linktest.c
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) -shared -o ../$(LIBSONAME) \
|
||||
-Wl,--whole-archive ../$(LIBNAME) -Wl,--no-whole-archive \
|
||||
$(FEXTRALIB) $(EXTRALIB)
|
||||
|
@ -197,18 +177,12 @@ static : ../$(LIBNAME)
|
|||
$(AR) -cq ../$(LIBNAME) goto.$(SUFFIX)
|
||||
rm -f goto.$(SUFFIX)
|
||||
|
||||
linux.def : gensymbol ../Makefile.system ../getarch.c
|
||||
perl ./gensymbol linux $(ARCH) $(BU) $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) $(NO_LAPACKE) $(NEED2UNDERSCORES) $(ONLY_CBLAS) > $(@F)
|
||||
|
||||
osx.def : gensymbol ../Makefile.system ../getarch.c
|
||||
perl ./gensymbol osx $(ARCH) $(BU) $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) $(NO_LAPACKE) $(NEED2UNDERSCORES) $(ONLY_CBLAS) > $(@F)
|
||||
|
||||
aix.def : gensymbol ../Makefile.system ../getarch.c
|
||||
perl ./gensymbol aix $(ARCH) $(BU) $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) $(NO_LAPACKE) $(NEED2UNDERSCORES) $(ONLY_CBLAS) > $(@F)
|
||||
|
||||
symbol.S : gensymbol
|
||||
perl ./gensymbol win2kasm noarch dummy $(EXPRECISION) $(NO_CBLAS) $(NO_LAPACK) $(NO_LAPACKE) $(NEED2UNDERSCORES) $(ONLY_CBLAS) > symbol.S
|
||||
|
||||
test : linktest.c
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) -w -o linktest linktest.c ../$(LIBSONAME) -lm && echo OK.
|
||||
rm -f linktest
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
void gotoblas_init(void);
|
||||
void gotoblas_quit(void);
|
||||
|
||||
BOOL APIENTRY dllinit(HINSTANCE hInst, DWORD reason, LPVOID reserved) {
|
||||
BOOL APIENTRY DllMain(HINSTANCE hInst, DWORD reason, LPVOID reserved) {
|
||||
|
||||
if (reason == DLL_PROCESS_ATTACH) {
|
||||
gotoblas_init();
|
||||
|
|
|
@ -2667,34 +2667,34 @@
|
|||
## @(MATGEN_OBJ) from `lapack-3.4.1/lapacke/src/Makefile`
|
||||
## Not exported: requires LAPACKE_TESTING to be set and depends on libtmg
|
||||
## (see `lapack-3.4.1/TESTING/MATGEN`).
|
||||
#LAPACKE_clatms,
|
||||
#LAPACKE_clatms_work,
|
||||
#LAPACKE_dlatms,
|
||||
#LAPACKE_dlatms_work,
|
||||
#LAPACKE_slatms,
|
||||
#LAPACKE_slatms_work,
|
||||
#LAPACKE_zlatms,
|
||||
#LAPACKE_zlatms_work,
|
||||
#LAPACKE_clagge,
|
||||
#LAPACKE_clagge_work,
|
||||
#LAPACKE_dlagge,
|
||||
#LAPACKE_dlagge_work,
|
||||
#LAPACKE_slagge,
|
||||
#LAPACKE_slagge_work,
|
||||
#LAPACKE_zlagge,
|
||||
#LAPACKE_zlagge_work,
|
||||
#LAPACKE_claghe,
|
||||
#LAPACKE_claghe_work,
|
||||
#LAPACKE_zlaghe,
|
||||
#LAPACKE_zlaghe_work,
|
||||
#LAPACKE_clagsy,
|
||||
#LAPACKE_clagsy_work,
|
||||
#LAPACKE_dlagsy,
|
||||
#LAPACKE_dlagsy_work,
|
||||
#LAPACKE_slagsy,
|
||||
#LAPACKE_slagsy_work,
|
||||
#LAPACKE_zlagsy,
|
||||
#LAPACKE_zlagsy_work,
|
||||
LAPACKE_clatms,
|
||||
LAPACKE_clatms_work,
|
||||
LAPACKE_dlatms,
|
||||
LAPACKE_dlatms_work,
|
||||
LAPACKE_slatms,
|
||||
LAPACKE_slatms_work,
|
||||
LAPACKE_zlatms,
|
||||
LAPACKE_zlatms_work,
|
||||
LAPACKE_clagge,
|
||||
LAPACKE_clagge_work,
|
||||
LAPACKE_dlagge,
|
||||
LAPACKE_dlagge_work,
|
||||
LAPACKE_slagge,
|
||||
LAPACKE_slagge_work,
|
||||
LAPACKE_zlagge,
|
||||
LAPACKE_zlagge_work,
|
||||
LAPACKE_claghe,
|
||||
LAPACKE_claghe_work,
|
||||
LAPACKE_zlaghe,
|
||||
LAPACKE_zlaghe_work,
|
||||
LAPACKE_clagsy,
|
||||
LAPACKE_clagsy_work,
|
||||
LAPACKE_dlagsy,
|
||||
LAPACKE_dlagsy_work,
|
||||
LAPACKE_slagsy,
|
||||
LAPACKE_slagsy_work,
|
||||
LAPACKE_zlagsy,
|
||||
LAPACKE_zlagsy_work,
|
||||
);
|
||||
|
||||
#These function may need 2 underscores.
|
||||
|
@ -2725,8 +2725,7 @@ if ($ARGV[8] == 1) {
|
|||
} elsif ($ARGV[5] == 1) {
|
||||
#NO_LAPACK=1
|
||||
@underscore_objs = (@blasobjs, @misc_underscore_objs);
|
||||
} elsif (-d "../lapack-3.1.1" || -d "../lapack-3.4.0" || -d "../lapack-3.4.1" ||
|
||||
-d "../lapack-3.4.2" || -d "../lapack-netlib") {
|
||||
} elsif (-d "../lapack-netlib") {
|
||||
|
||||
if ($ARGV[7] == 0){
|
||||
# NEED2UNDERSCORES=0
|
||||
|
@ -2771,14 +2770,6 @@ if ($ARGV[6] == 1) {
|
|||
@no_underscore_objs = (@no_underscore_objs, @lapackeobjs);
|
||||
}
|
||||
|
||||
@linuxobjs = ('__strtol_internal', 'exit', 'free', 'getenv', 'malloc',
|
||||
'mmap', 'printf', 'sqrt',
|
||||
'pthread_cond_broadcast', 'pthread_cond_destroy',
|
||||
'pthread_cond_init', 'pthread_cond_signal', 'pthread_cond_wait',
|
||||
'pthread_create', 'pthread_exit', 'pthread_join',
|
||||
'pthread_mutex_destroy', 'pthread_mutex_init',
|
||||
'pthread_mutex_lock', 'pthread_mutex_unlock');
|
||||
|
||||
@hplobjs = (daxpy, dcopy, dscal, idamax, dgemv, dtrsv, dger, dgemm, dtrsm);
|
||||
@hplobjs2 = (HPL_dlaswp00N, HPL_dlaswp01N, HPL_dlaswp01T);
|
||||
|
||||
|
@ -2786,31 +2777,6 @@ $bu = $ARGV[2];
|
|||
|
||||
$bu = "" if (($bu eq "0") || ($bu eq "1"));
|
||||
|
||||
if ($ARGV[0] eq "linux"){
|
||||
|
||||
@underscore_objs = (@underscore_objs, @misc_common_objs);
|
||||
@no_underscore_objs = (@no_underscore_objs, @misc_common_objs);
|
||||
|
||||
foreach $objs (@underscore_objs) {
|
||||
print $objs, $bu, "\n";
|
||||
}
|
||||
|
||||
foreach $objs (@need_2underscore_objs) {
|
||||
print $objs, $bu, $bu, "\n";
|
||||
}
|
||||
|
||||
# if ($ARGV[4] == 0) {
|
||||
foreach $objs (@no_underscore_objs) {
|
||||
print $objs, "\n";
|
||||
}
|
||||
# }
|
||||
|
||||
foreach $objs (@linuxobjs) {
|
||||
print $objs, "\n";
|
||||
}
|
||||
exit(0);
|
||||
}
|
||||
|
||||
if ($ARGV[0] eq "osx"){
|
||||
|
||||
@underscore_objs = (@underscore_objs, @misc_common_objs);
|
||||
|
@ -2956,32 +2922,6 @@ if ($ARGV[0] eq "microsoft"){
|
|||
exit(0);
|
||||
}
|
||||
|
||||
if ($ARGV[0] eq "win2kasm"){
|
||||
|
||||
@underscore_objs = (@underscore_objs, @misc_common_objs);
|
||||
|
||||
print "\t.text\n";
|
||||
foreach $objs (@underscore_objs) {
|
||||
$uppercase = $objs;
|
||||
$uppercase =~ tr/[a-z]/[A-Z]/;
|
||||
print "\t.align 16\n";
|
||||
print "\t.globl _", $uppercase, "_\n";
|
||||
print "_", $uppercase, "_:\n";
|
||||
print "\tjmp\t_", $objs, "_\n";
|
||||
}
|
||||
|
||||
foreach $objs (@need_2underscore_objs) {
|
||||
$uppercase = $objs;
|
||||
$uppercase =~ tr/[a-z]/[A-Z]/;
|
||||
print "\t.align 16\n";
|
||||
print "\t.globl _", $uppercase, "__\n";
|
||||
print "_", $uppercase, "__:\n";
|
||||
print "\tjmp\t_", $objs, "__\n";
|
||||
}
|
||||
|
||||
exit(0);
|
||||
}
|
||||
|
||||
if ($ARGV[0] eq "linktest"){
|
||||
|
||||
@underscore_objs = (@underscore_objs, @misc_common_objs);
|
||||
|
|
16
getarch.c
16
getarch.c
|
@ -724,6 +724,22 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||
#else
|
||||
#endif
|
||||
|
||||
#ifdef FORCE_ARMV5
|
||||
#define FORCE
|
||||
#define ARCHITECTURE "ARM"
|
||||
#define SUBARCHITECTURE "ARMV5"
|
||||
#define SUBDIRNAME "arm"
|
||||
#define ARCHCONFIG "-DARMV5 " \
|
||||
"-DL1_DATA_SIZE=65536 -DL1_DATA_LINESIZE=32 " \
|
||||
"-DL2_SIZE=512488 -DL2_LINESIZE=32 " \
|
||||
"-DDTB_DEFAULT_ENTRIES=64 -DDTB_SIZE=4096 -DL2_ASSOCIATIVE=4 " \
|
||||
"-DHAVE_VFP"
|
||||
#define LIBNAME "armv5"
|
||||
#define CORENAME "ARMV5"
|
||||
#else
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef FORCE_ARMV8
|
||||
#define FORCE
|
||||
#define ARCHITECTURE "ARM64"
|
||||
|
|
|
@ -2,11 +2,11 @@ TOPDIR = ..
|
|||
include $(TOPDIR)/Makefile.system
|
||||
|
||||
ifeq ($(ARCH), x86)
|
||||
SUPPORT_GEMM3M = 1
|
||||
SUPPORT_GEMM3M = 0
|
||||
endif
|
||||
|
||||
ifeq ($(ARCH), x86_64)
|
||||
SUPPORT_GEMM3M = 1
|
||||
SUPPORT_GEMM3M = 0
|
||||
endif
|
||||
|
||||
ifeq ($(ARCH), ia64)
|
||||
|
@ -342,30 +342,56 @@ CBLASOBJS = $(CBLAS1OBJS) $(CBLAS2OBJS) $(CBLAS3OBJS)
|
|||
ZBLASOBJS = $(ZBLAS1OBJS) $(ZBLAS2OBJS) $(ZBLAS3OBJS)
|
||||
XBLASOBJS = $(XBLAS1OBJS) $(XBLAS2OBJS) $(XBLAS3OBJS)
|
||||
|
||||
#SLAPACKOBJS = \
|
||||
# sgetf2.$(SUFFIX) sgetrf.$(SUFFIX) slauu2.$(SUFFIX) slauum.$(SUFFIX) \
|
||||
# spotf2.$(SUFFIX) spotrf.$(SUFFIX) strti2.$(SUFFIX) strtri.$(SUFFIX) \
|
||||
# slaswp.$(SUFFIX) sgetrs.$(SUFFIX) sgesv.$(SUFFIX) spotri.$(SUFFIX) \
|
||||
|
||||
SLAPACKOBJS = \
|
||||
sgetf2.$(SUFFIX) sgetrf.$(SUFFIX) slauu2.$(SUFFIX) slauum.$(SUFFIX) \
|
||||
spotf2.$(SUFFIX) spotrf.$(SUFFIX) strti2.$(SUFFIX) strtri.$(SUFFIX) \
|
||||
slaswp.$(SUFFIX) sgetrs.$(SUFFIX) sgesv.$(SUFFIX) spotri.$(SUFFIX) \
|
||||
sgetrf.$(SUFFIX) sgetrs.$(SUFFIX) spotrf.$(SUFFIX) sgetf2.$(SUFFIX) \
|
||||
spotf2.$(SUFFIX) slaswp.$(SUFFIX) sgesv.$(SUFFIX) slauu2.$(SUFFIX) \
|
||||
slauum.$(SUFFIX) strti2.$(SUFFIX) strtri.$(SUFFIX) spotri.$(SUFFIX)
|
||||
|
||||
|
||||
#DLAPACKOBJS = \
|
||||
# dgetf2.$(SUFFIX) dgetrf.$(SUFFIX) dlauu2.$(SUFFIX) dlauum.$(SUFFIX) \
|
||||
# dpotf2.$(SUFFIX) dpotrf.$(SUFFIX) dtrti2.$(SUFFIX) dtrtri.$(SUFFIX) \
|
||||
# dlaswp.$(SUFFIX) dgetrs.$(SUFFIX) dgesv.$(SUFFIX) dpotri.$(SUFFIX) \
|
||||
|
||||
DLAPACKOBJS = \
|
||||
dgetf2.$(SUFFIX) dgetrf.$(SUFFIX) dlauu2.$(SUFFIX) dlauum.$(SUFFIX) \
|
||||
dpotf2.$(SUFFIX) dpotrf.$(SUFFIX) dtrti2.$(SUFFIX) dtrtri.$(SUFFIX) \
|
||||
dlaswp.$(SUFFIX) dgetrs.$(SUFFIX) dgesv.$(SUFFIX) dpotri.$(SUFFIX) \
|
||||
dgetrf.$(SUFFIX) dgetrs.$(SUFFIX) dpotrf.$(SUFFIX) dgetf2.$(SUFFIX) \
|
||||
dpotf2.$(SUFFIX) dlaswp.$(SUFFIX) dgesv.$(SUFFIX) dlauu2.$(SUFFIX) \
|
||||
dlauum.$(SUFFIX) dtrti2.$(SUFFIX) dtrtri.$(SUFFIX) dpotri.$(SUFFIX)
|
||||
|
||||
|
||||
QLAPACKOBJS = \
|
||||
qgetf2.$(SUFFIX) qgetrf.$(SUFFIX) qlauu2.$(SUFFIX) qlauum.$(SUFFIX) \
|
||||
qpotf2.$(SUFFIX) qpotrf.$(SUFFIX) qtrti2.$(SUFFIX) qtrtri.$(SUFFIX) \
|
||||
qlaswp.$(SUFFIX) qgetrs.$(SUFFIX) qgesv.$(SUFFIX) qpotri.$(SUFFIX) \
|
||||
|
||||
#CLAPACKOBJS = \
|
||||
# cgetf2.$(SUFFIX) cgetrf.$(SUFFIX) clauu2.$(SUFFIX) clauum.$(SUFFIX) \
|
||||
# cpotf2.$(SUFFIX) cpotrf.$(SUFFIX) ctrti2.$(SUFFIX) ctrtri.$(SUFFIX) \
|
||||
# claswp.$(SUFFIX) cgetrs.$(SUFFIX) cgesv.$(SUFFIX) cpotri.$(SUFFIX) \
|
||||
|
||||
CLAPACKOBJS = \
|
||||
cgetf2.$(SUFFIX) cgetrf.$(SUFFIX) clauu2.$(SUFFIX) clauum.$(SUFFIX) \
|
||||
cpotf2.$(SUFFIX) cpotrf.$(SUFFIX) ctrti2.$(SUFFIX) ctrtri.$(SUFFIX) \
|
||||
claswp.$(SUFFIX) cgetrs.$(SUFFIX) cgesv.$(SUFFIX) cpotri.$(SUFFIX) \
|
||||
cgetrf.$(SUFFIX) cgetrs.$(SUFFIX) cpotrf.$(SUFFIX) cgetf2.$(SUFFIX) \
|
||||
cpotf2.$(SUFFIX) claswp.$(SUFFIX) cgesv.$(SUFFIX) clauu2.$(SUFFIX) \
|
||||
clauum.$(SUFFIX) ctrti2.$(SUFFIX) ctrtri.$(SUFFIX) cpotri.$(SUFFIX)
|
||||
|
||||
|
||||
#ZLAPACKOBJS = \
|
||||
# zgetf2.$(SUFFIX) zgetrf.$(SUFFIX) zlauu2.$(SUFFIX) zlauum.$(SUFFIX) \
|
||||
# zpotf2.$(SUFFIX) zpotrf.$(SUFFIX) ztrti2.$(SUFFIX) ztrtri.$(SUFFIX) \
|
||||
# zlaswp.$(SUFFIX) zgetrs.$(SUFFIX) zgesv.$(SUFFIX) zpotri.$(SUFFIX) \
|
||||
|
||||
ZLAPACKOBJS = \
|
||||
zgetf2.$(SUFFIX) zgetrf.$(SUFFIX) zlauu2.$(SUFFIX) zlauum.$(SUFFIX) \
|
||||
zpotf2.$(SUFFIX) zpotrf.$(SUFFIX) ztrti2.$(SUFFIX) ztrtri.$(SUFFIX) \
|
||||
zlaswp.$(SUFFIX) zgetrs.$(SUFFIX) zgesv.$(SUFFIX) zpotri.$(SUFFIX) \
|
||||
zgetrf.$(SUFFIX) zgetrs.$(SUFFIX) zpotrf.$(SUFFIX) zgetf2.$(SUFFIX) \
|
||||
zpotf2.$(SUFFIX) zlaswp.$(SUFFIX) zgesv.$(SUFFIX) zlauu2.$(SUFFIX) \
|
||||
zlauum.$(SUFFIX) ztrti2.$(SUFFIX) ztrtri.$(SUFFIX) zpotri.$(SUFFIX)
|
||||
|
||||
|
||||
|
||||
|
||||
XLAPACKOBJS = \
|
||||
xgetf2.$(SUFFIX) xgetrf.$(SUFFIX) xlauu2.$(SUFFIX) xlauum.$(SUFFIX) \
|
||||
|
@ -375,10 +401,10 @@ XLAPACKOBJS = \
|
|||
ifneq ($(NO_LAPACK), 1)
|
||||
SBLASOBJS += $(SLAPACKOBJS)
|
||||
DBLASOBJS += $(DLAPACKOBJS)
|
||||
QBLASOBJS += $(QLAPACKOBJS)
|
||||
#QBLASOBJS += $(QLAPACKOBJS)
|
||||
CBLASOBJS += $(CLAPACKOBJS)
|
||||
ZBLASOBJS += $(ZLAPACKOBJS)
|
||||
XBLASOBJS += $(XLAPACKOBJS)
|
||||
#XBLASOBJS += $(XLAPACKOBJS)
|
||||
|
||||
endif
|
||||
|
||||
|
@ -1731,217 +1757,217 @@ cblas_cher2k.$(SUFFIX) cblas_cher2k.$(PSUFFIX) : syr2k.c
|
|||
cblas_zher2k.$(SUFFIX) cblas_zher2k.$(PSUFFIX) : syr2k.c
|
||||
$(CC) -DCBLAS -c $(CFLAGS) -DHEMM $< -o $(@F)
|
||||
|
||||
sgetf2.$(SUFFIX) sgetf2.$(PSUFFIX) : getf2.c
|
||||
sgetf2.$(SUFFIX) sgetf2.$(PSUFFIX) : lapack/getf2.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
dgetf2.$(SUFFIX) dgetf2.$(PSUFFIX) : getf2.c
|
||||
dgetf2.$(SUFFIX) dgetf2.$(PSUFFIX) : lapack/getf2.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
qgetf2.$(SUFFIX) qgetf2.$(PSUFFIX) : getf2.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
cgetf2.$(SUFFIX) cgetf2.$(PSUFFIX) : zgetf2.c
|
||||
cgetf2.$(SUFFIX) cgetf2.$(PSUFFIX) : lapack/zgetf2.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
zgetf2.$(SUFFIX) zgetf2.$(PSUFFIX) : zgetf2.c
|
||||
zgetf2.$(SUFFIX) zgetf2.$(PSUFFIX) : lapack/zgetf2.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
xgetf2.$(SUFFIX) xgetf2.$(PSUFFIX) : zgetf2.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
sgetrf.$(SUFFIX) sgetrf.$(PSUFFIX) : getrf.c
|
||||
sgetrf.$(SUFFIX) sgetrf.$(PSUFFIX) : lapack/getrf.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
dgetrf.$(SUFFIX) dgetrf.$(PSUFFIX) : getrf.c
|
||||
dgetrf.$(SUFFIX) dgetrf.$(PSUFFIX) : lapack/getrf.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
qgetrf.$(SUFFIX) qgetrf.$(PSUFFIX) : getrf.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
cgetrf.$(SUFFIX) cgetrf.$(PSUFFIX) : zgetrf.c
|
||||
cgetrf.$(SUFFIX) cgetrf.$(PSUFFIX) : lapack/zgetrf.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
zgetrf.$(SUFFIX) zgetrf.$(PSUFFIX) : zgetrf.c
|
||||
zgetrf.$(SUFFIX) zgetrf.$(PSUFFIX) : lapack/zgetrf.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
xgetrf.$(SUFFIX) xgetrf.$(PSUFFIX) : zgetrf.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
slauu2.$(SUFFIX) slauu2.$(PSUFFIX) : lauu2.c
|
||||
slauu2.$(SUFFIX) slauu2.$(PSUFFIX) : lapack/lauu2.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
dlauu2.$(SUFFIX) dlauu2.$(PSUFFIX) : lauu2.c
|
||||
dlauu2.$(SUFFIX) dlauu2.$(PSUFFIX) : lapack/lauu2.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
qlauu2.$(SUFFIX) qlauu2.$(PSUFFIX) : lauu2.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
clauu2.$(SUFFIX) clauu2.$(PSUFFIX) : zlauu2.c
|
||||
clauu2.$(SUFFIX) clauu2.$(PSUFFIX) : lapack/zlauu2.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
zlauu2.$(SUFFIX) zlauu2.$(PSUFFIX) : zlauu2.c
|
||||
zlauu2.$(SUFFIX) zlauu2.$(PSUFFIX) : lapack/zlauu2.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
xlauu2.$(SUFFIX) xlauu2.$(PSUFFIX) : zlauu2.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
slauum.$(SUFFIX) slauum.$(PSUFFIX) : lauum.c
|
||||
slauum.$(SUFFIX) slauum.$(PSUFFIX) : lapack/lauum.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
dlauum.$(SUFFIX) dlauum.$(PSUFFIX) : lauum.c
|
||||
dlauum.$(SUFFIX) dlauum.$(PSUFFIX) : lapack/lauum.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
qlauum.$(SUFFIX) qlauum.$(PSUFFIX) : lauum.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
clauum.$(SUFFIX) clauum.$(PSUFFIX) : zlauum.c
|
||||
clauum.$(SUFFIX) clauum.$(PSUFFIX) : lapack/zlauum.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
zlauum.$(SUFFIX) zlauum.$(PSUFFIX) : zlauum.c
|
||||
zlauum.$(SUFFIX) zlauum.$(PSUFFIX) : lapack/zlauum.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
xlauum.$(SUFFIX) xlauum.$(PSUFFIX) : zlauum.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
spotf2.$(SUFFIX) spotf2.$(PSUFFIX) : potf2.c
|
||||
spotf2.$(SUFFIX) spotf2.$(PSUFFIX) : lapack/potf2.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
dpotf2.$(SUFFIX) dpotf2.$(PSUFFIX) : potf2.c
|
||||
dpotf2.$(SUFFIX) dpotf2.$(PSUFFIX) : lapack/potf2.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
qpotf2.$(SUFFIX) qpotf2.$(PSUFFIX) : potf2.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
cpotf2.$(SUFFIX) cpotf2.$(PSUFFIX) : zpotf2.c
|
||||
cpotf2.$(SUFFIX) cpotf2.$(PSUFFIX) : lapack/zpotf2.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
zpotf2.$(SUFFIX) zpotf2.$(PSUFFIX) : zpotf2.c
|
||||
zpotf2.$(SUFFIX) zpotf2.$(PSUFFIX) : lapack/zpotf2.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
xpotf2.$(SUFFIX) xpotf2.$(PSUFFIX) : zpotf2.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
spotrf.$(SUFFIX) spotrf.$(PSUFFIX) : potrf.c
|
||||
spotrf.$(SUFFIX) spotrf.$(PSUFFIX) : lapack/potrf.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
dpotrf.$(SUFFIX) dpotrf.$(PSUFFIX) : potrf.c
|
||||
dpotrf.$(SUFFIX) dpotrf.$(PSUFFIX) : lapack/potrf.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
qpotrf.$(SUFFIX) qpotrf.$(PSUFFIX) : potrf.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
cpotrf.$(SUFFIX) cpotrf.$(PSUFFIX) : zpotrf.c
|
||||
cpotrf.$(SUFFIX) cpotrf.$(PSUFFIX) : lapack/zpotrf.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
zpotrf.$(SUFFIX) zpotrf.$(PSUFFIX) : zpotrf.c
|
||||
zpotrf.$(SUFFIX) zpotrf.$(PSUFFIX) : lapack/zpotrf.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
xpotrf.$(SUFFIX) xpotrf.$(PSUFFIX) : zpotrf.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
strti2.$(SUFFIX) strti2.$(PSUFFIX) : trti2.c
|
||||
strti2.$(SUFFIX) strti2.$(PSUFFIX) : lapack/trti2.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
dtrti2.$(SUFFIX) dtrti2.$(PSUFFIX) : trti2.c
|
||||
dtrti2.$(SUFFIX) dtrti2.$(PSUFFIX) : lapack/trti2.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
qtrti2.$(SUFFIX) qtrti2.$(PSUFFIX) : trti2.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
ctrti2.$(SUFFIX) ctrti2.$(PSUFFIX) : ztrti2.c
|
||||
ctrti2.$(SUFFIX) ctrti2.$(PSUFFIX) : lapack/ztrti2.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
ztrti2.$(SUFFIX) ztrti2.$(PSUFFIX) : ztrti2.c
|
||||
ztrti2.$(SUFFIX) ztrti2.$(PSUFFIX) : lapack/ztrti2.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
xtrti2.$(SUFFIX) xtrti2.$(PSUFFIX) : ztrti2.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
strtri.$(SUFFIX) strtri.$(PSUFFIX) : trtri.c
|
||||
strtri.$(SUFFIX) strtri.$(PSUFFIX) : lapack/trtri.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
dtrtri.$(SUFFIX) dtrtri.$(PSUFFIX) : trtri.c
|
||||
dtrtri.$(SUFFIX) dtrtri.$(PSUFFIX) : lapack/trtri.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
qtrtri.$(SUFFIX) qtrtri.$(PSUFFIX) : trtri.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
ctrtri.$(SUFFIX) ctrtri.$(PSUFFIX) : ztrtri.c
|
||||
ctrtri.$(SUFFIX) ctrtri.$(PSUFFIX) : lapack/ztrtri.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
ztrtri.$(SUFFIX) ztrtri.$(PSUFFIX) : ztrtri.c
|
||||
ztrtri.$(SUFFIX) ztrtri.$(PSUFFIX) : lapack/ztrtri.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
xtrtri.$(SUFFIX) xtrtri.$(PSUFFIX) : ztrtri.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
slaswp.$(SUFFIX) slaswp.$(PSUFFIX) : laswp.c
|
||||
slaswp.$(SUFFIX) slaswp.$(PSUFFIX) : lapack/laswp.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
dlaswp.$(SUFFIX) dlaswp.$(PSUFFIX) : laswp.c
|
||||
dlaswp.$(SUFFIX) dlaswp.$(PSUFFIX) : lapack/laswp.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
qlaswp.$(SUFFIX) qlaswp.$(PSUFFIX) : laswp.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
claswp.$(SUFFIX) claswp.$(PSUFFIX) : zlaswp.c
|
||||
claswp.$(SUFFIX) claswp.$(PSUFFIX) : lapack/zlaswp.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
zlaswp.$(SUFFIX) zlaswp.$(PSUFFIX) : zlaswp.c
|
||||
zlaswp.$(SUFFIX) zlaswp.$(PSUFFIX) : lapack/zlaswp.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
xlaswp.$(SUFFIX) xlaswp.$(PSUFFIX) : zlaswp.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
sgetrs.$(SUFFIX) sgetrs.$(PSUFFIX) : getrs.c
|
||||
sgetrs.$(SUFFIX) sgetrs.$(PSUFFIX) : lapack/getrs.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
dgetrs.$(SUFFIX) dgetrs.$(PSUFFIX) : getrs.c
|
||||
dgetrs.$(SUFFIX) dgetrs.$(PSUFFIX) : lapack/getrs.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
qgetrs.$(SUFFIX) qgetrs.$(PSUFFIX) : getrs.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
cgetrs.$(SUFFIX) cgetrs.$(PSUFFIX) : zgetrs.c
|
||||
cgetrs.$(SUFFIX) cgetrs.$(PSUFFIX) : lapack/zgetrs.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
zgetrs.$(SUFFIX) zgetrs.$(PSUFFIX) : zgetrs.c
|
||||
zgetrs.$(SUFFIX) zgetrs.$(PSUFFIX) : lapack/zgetrs.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
xgetrs.$(SUFFIX) xgetrs.$(PSUFFIX) : zgetrs.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
sgesv.$(SUFFIX) sgesv.$(PSUFFIX) : gesv.c
|
||||
sgesv.$(SUFFIX) sgesv.$(PSUFFIX) : lapack/gesv.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
dgesv.$(SUFFIX) dgesv.$(PSUFFIX) : gesv.c
|
||||
dgesv.$(SUFFIX) dgesv.$(PSUFFIX) : lapack/gesv.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
qgesv.$(SUFFIX) qgesv.$(PSUFFIX) : gesv.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
cgesv.$(SUFFIX) cgesv.$(PSUFFIX) : gesv.c
|
||||
cgesv.$(SUFFIX) cgesv.$(PSUFFIX) : lapack/gesv.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
zgesv.$(SUFFIX) zgesv.$(PSUFFIX) : gesv.c
|
||||
zgesv.$(SUFFIX) zgesv.$(PSUFFIX) : lapack/gesv.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
xgesv.$(SUFFIX) xgesv.$(PSUFFIX) : gesv.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
spotri.$(SUFFIX) spotri.$(PSUFFIX) : potri.c
|
||||
spotri.$(SUFFIX) spotri.$(PSUFFIX) : lapack/potri.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
dpotri.$(SUFFIX) dpotri.$(PSUFFIX) : potri.c
|
||||
dpotri.$(SUFFIX) dpotri.$(PSUFFIX) : lapack/potri.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
qpotri.$(SUFFIX) qpotri.$(PSUFFIX) : potri.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
cpotri.$(SUFFIX) cpotri.$(PSUFFIX) : zpotri.c
|
||||
cpotri.$(SUFFIX) cpotri.$(PSUFFIX) : lapack/zpotri.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
zpotri.$(SUFFIX) zpotri.$(PSUFFIX) : zpotri.c
|
||||
zpotri.$(SUFFIX) zpotri.$(PSUFFIX) : lapack/zpotri.c
|
||||
$(CC) -c $(CFLAGS) $< -o $(@F)
|
||||
|
||||
xpotri.$(SUFFIX) xpotri.$(PSUFFIX) : zpotri.c
|
||||
|
|
|
@ -86,7 +86,8 @@ void CNAME(blasint n, FLOAT alpha, FLOAT *x, blasint incx, FLOAT *y, blasint inc
|
|||
if (incx == 0 || incy == 0)
|
||||
nthreads = 1;
|
||||
|
||||
//Temporarily walk around the low performance issue with small imput size & multithreads.
|
||||
//Temporarily work-around the low performance issue with small imput size &
|
||||
//multithreads.
|
||||
if (n <= 10000)
|
||||
nthreads = 1;
|
||||
|
||||
|
|
|
@ -149,7 +149,10 @@ int NAME(char *UPLO, blasint *N, FLOAT *a, blasint *ldA, blasint *Info){
|
|||
blas_memory_free(buffer);
|
||||
#endif
|
||||
|
||||
FUNCTION_PROFILE_END(COMPSIZE * COMPSIZE, args.m * args.n, 2. / 3. * args.m * args.n * args.n);
|
||||
FUNCTION_PROFILE_END(COMPSIZE * COMPSIZE, .5 * args.n * args.n,
|
||||
args.n * (1./3. + args.n * ( 1./2. + args.n * 1./6.))
|
||||
+ args.n * (1./3. + args.n * (-1./2. + args.n * 1./6.)));
|
||||
|
||||
|
||||
IDEBUG_END;
|
||||
|
|
@ -26,7 +26,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||
*****************************************************************************/
|
||||
|
||||
/**************************************************************************************
|
||||
* 2014/02/28 Saar
|
||||
* 2014/05/02 Saar
|
||||
* fixed two bugs as reported by Brendan Tracey
|
||||
* Test with lapack-3.5.0 : OK
|
||||
*
|
||||
**************************************************************************************/
|
||||
|
@ -145,9 +146,12 @@ void CNAME(FLOAT *dd1, FLOAT *dd2, FLOAT *dx1, FLOAT dy1, FLOAT *dparam){
|
|||
}
|
||||
else
|
||||
{
|
||||
dh21 = -ONE;
|
||||
dh12 = ONE;
|
||||
dflag = -ONE;
|
||||
if(dflag == ONE)
|
||||
{
|
||||
dh21 = -ONE;
|
||||
dh12 = ONE;
|
||||
dflag = -ONE;
|
||||
}
|
||||
}
|
||||
if( *dd1 <= RGAMSQ )
|
||||
{
|
||||
|
@ -178,9 +182,12 @@ void CNAME(FLOAT *dd1, FLOAT *dd2, FLOAT *dx1, FLOAT dy1, FLOAT *dparam){
|
|||
}
|
||||
else
|
||||
{
|
||||
dh21 = -ONE;
|
||||
dh12 = ONE;
|
||||
dflag = -ONE;
|
||||
if(dflag == ONE)
|
||||
{
|
||||
dh21 = -ONE;
|
||||
dh12 = ONE;
|
||||
dflag = -ONE;
|
||||
}
|
||||
}
|
||||
if( ABS(*dd2) <= RGAMSQ )
|
||||
{
|
||||
|
|
|
@ -61,7 +61,7 @@ static int (*sbmv[])(BLASLONG, BLASLONG, FLOAT, FLOAT *, BLASLONG, FLOAT *, BLA
|
|||
#endif
|
||||
};
|
||||
|
||||
#ifdef SMP
|
||||
#ifdef SMPBUG
|
||||
static int (*sbmv_thread[])(BLASLONG, BLASLONG, FLOAT, FLOAT *, BLASLONG, FLOAT *, BLASLONG, FLOAT *, BLASLONG, FLOAT *, int) = {
|
||||
#ifdef XDOUBLE
|
||||
qsbmv_thread_U, qsbmv_thread_L,
|
||||
|
@ -90,7 +90,7 @@ void NAME(char *UPLO, blasint *N, blasint *K, FLOAT *ALPHA, FLOAT *a, blasint *
|
|||
blasint info;
|
||||
int uplo;
|
||||
FLOAT *buffer;
|
||||
#ifdef SMP
|
||||
#ifdef SMPBUG
|
||||
int nthreads;
|
||||
#endif
|
||||
|
||||
|
@ -130,7 +130,7 @@ void CNAME(enum CBLAS_ORDER order,
|
|||
FLOAT *buffer;
|
||||
int uplo;
|
||||
blasint info;
|
||||
#ifdef SMP
|
||||
#ifdef SMPBUG
|
||||
int nthreads;
|
||||
#endif
|
||||
|
||||
|
@ -189,7 +189,7 @@ void CNAME(enum CBLAS_ORDER order,
|
|||
|
||||
buffer = (FLOAT *)blas_memory_alloc(1);
|
||||
|
||||
#ifdef SMP
|
||||
#ifdef SMPBUG
|
||||
nthreads = num_cpu_avail(2);
|
||||
|
||||
if (nthreads == 1) {
|
||||
|
@ -197,7 +197,7 @@ void CNAME(enum CBLAS_ORDER order,
|
|||
|
||||
(sbmv[uplo])(n, k, alpha, a, lda, x, incx, y, incy, buffer);
|
||||
|
||||
#ifdef SMP
|
||||
#ifdef SMPBUG
|
||||
} else {
|
||||
|
||||
(sbmv_thread[uplo])(n, k, alpha, a, lda, x, incx, y, incy, buffer, nthreads);
|
||||
|
|
|
@ -61,7 +61,7 @@ static int (*spmv[])(BLASLONG, FLOAT, FLOAT *, FLOAT *, BLASLONG, FLOAT *, BLAS
|
|||
#endif
|
||||
};
|
||||
|
||||
#ifdef SMP
|
||||
#ifdef SMPTEST
|
||||
static int (*spmv_thread[])(BLASLONG, FLOAT, FLOAT *, FLOAT *, BLASLONG, FLOAT *, BLASLONG, FLOAT *, int) = {
|
||||
#ifdef XDOUBLE
|
||||
qspmv_thread_U, qspmv_thread_L,
|
||||
|
@ -88,7 +88,7 @@ void NAME(char *UPLO, blasint *N, FLOAT *ALPHA, FLOAT *a,
|
|||
blasint info;
|
||||
int uplo;
|
||||
FLOAT *buffer;
|
||||
#ifdef SMP
|
||||
#ifdef SMPTEST
|
||||
int nthreads;
|
||||
#endif
|
||||
|
||||
|
@ -126,7 +126,7 @@ void CNAME(enum CBLAS_ORDER order,
|
|||
FLOAT *buffer;
|
||||
int uplo;
|
||||
blasint info;
|
||||
#ifdef SMP
|
||||
#ifdef SMPTEST
|
||||
int nthreads;
|
||||
#endif
|
||||
|
||||
|
@ -181,7 +181,7 @@ void CNAME(enum CBLAS_ORDER order,
|
|||
|
||||
buffer = (FLOAT *)blas_memory_alloc(1);
|
||||
|
||||
#ifdef SMP
|
||||
#ifdef SMPTEST
|
||||
nthreads = num_cpu_avail(2);
|
||||
|
||||
if (nthreads == 1) {
|
||||
|
@ -189,7 +189,7 @@ void CNAME(enum CBLAS_ORDER order,
|
|||
|
||||
(spmv[uplo])(n, alpha, a, x, incx, y, incy, buffer);
|
||||
|
||||
#ifdef SMP
|
||||
#ifdef SMPTEST
|
||||
} else {
|
||||
|
||||
(spmv_thread[uplo])(n, alpha, a, x, incx, y, incy, buffer, nthreads);
|
||||
|
|
|
@ -145,12 +145,21 @@ void NAME(char *UPLO, char *TRANS,
|
|||
if (uplo_arg == 'U') uplo = 0;
|
||||
if (uplo_arg == 'L') uplo = 1;
|
||||
|
||||
#ifndef COMPLEX
|
||||
if (trans_arg == 'N') trans = 0;
|
||||
#ifndef HEMM
|
||||
if (trans_arg == 'T') trans = 1;
|
||||
if (trans_arg == 'R') trans = 0;
|
||||
#endif
|
||||
if (trans_arg == 'C') trans = 1;
|
||||
#else
|
||||
#ifdef HEMM
|
||||
if (trans_arg == 'N') trans = 0;
|
||||
if (trans_arg == 'C') trans = 1;
|
||||
#else
|
||||
if (trans_arg == 'N') trans = 0;
|
||||
if (trans_arg == 'T') trans = 1;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
nrowa = args.n;
|
||||
if (trans & 1) nrowa = args.k;
|
||||
|
|
|
@ -148,12 +148,21 @@ void NAME(char *UPLO, char *TRANS,
|
|||
if (uplo_arg == 'U') uplo = 0;
|
||||
if (uplo_arg == 'L') uplo = 1;
|
||||
|
||||
|
||||
#ifndef COMPLEX
|
||||
if (trans_arg == 'N') trans = 0;
|
||||
#ifndef HEMM
|
||||
if (trans_arg == 'T') trans = 1;
|
||||
if (trans_arg == 'R') trans = 0;
|
||||
#endif
|
||||
if (trans_arg == 'C') trans = 1;
|
||||
#else
|
||||
#ifdef HEMM
|
||||
if (trans_arg == 'N') trans = 0;
|
||||
if (trans_arg == 'C') trans = 1;
|
||||
#else
|
||||
if (trans_arg == 'N') trans = 0;
|
||||
if (trans_arg == 'T') trans = 1;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
nrowa = args.n;
|
||||
if (trans & 1) nrowa = args.k;
|
||||
|
|
|
@ -61,7 +61,7 @@ static int (*hbmv[])(BLASLONG, BLASLONG, FLOAT, FLOAT, FLOAT *, BLASLONG, FLOAT
|
|||
#endif
|
||||
};
|
||||
|
||||
#ifdef SMP
|
||||
#ifdef SMPBUG
|
||||
static int (*hbmv_thread[])(BLASLONG, BLASLONG, FLOAT *, FLOAT *, BLASLONG, FLOAT *, BLASLONG, FLOAT *, BLASLONG, FLOAT *, int) = {
|
||||
#ifdef XDOUBLE
|
||||
xhbmv_thread_U, xhbmv_thread_L, xhbmv_thread_V, xhbmv_thread_M,
|
||||
|
@ -92,7 +92,7 @@ void NAME(char *UPLO, blasint *N, blasint *K, FLOAT *ALPHA, FLOAT *a, blasint *
|
|||
blasint info;
|
||||
int uplo;
|
||||
FLOAT *buffer;
|
||||
#ifdef SMP
|
||||
#ifdef SMPBUG
|
||||
int nthreads;
|
||||
#endif
|
||||
|
||||
|
@ -138,7 +138,7 @@ void CNAME(enum CBLAS_ORDER order,
|
|||
FLOAT *buffer;
|
||||
int uplo;
|
||||
blasint info;
|
||||
#ifdef SMP
|
||||
#ifdef SMPBUG
|
||||
int nthreads;
|
||||
#endif
|
||||
|
||||
|
@ -197,7 +197,7 @@ void CNAME(enum CBLAS_ORDER order,
|
|||
|
||||
buffer = (FLOAT *)blas_memory_alloc(1);
|
||||
|
||||
#ifdef SMP
|
||||
#ifdef SMPBUG
|
||||
nthreads = num_cpu_avail(2);
|
||||
|
||||
if (nthreads == 1) {
|
||||
|
@ -205,7 +205,7 @@ void CNAME(enum CBLAS_ORDER order,
|
|||
|
||||
(hbmv[uplo])(n, k, alpha_r, alpha_i, a, lda, x, incx, y, incy, buffer);
|
||||
|
||||
#ifdef SMP
|
||||
#ifdef SMPBUG
|
||||
} else {
|
||||
|
||||
(hbmv_thread[uplo])(n, k, ALPHA, a, lda, x, incx, y, incy, buffer, nthreads);
|
||||
|
|
|
@ -61,7 +61,7 @@ static int (*sbmv[])(BLASLONG, BLASLONG, FLOAT, FLOAT, FLOAT *, BLASLONG, FLOAT
|
|||
#endif
|
||||
};
|
||||
|
||||
#ifdef SMP
|
||||
#ifdef SMPBUG
|
||||
static int (*sbmv_thread[])(BLASLONG, BLASLONG, FLOAT *, FLOAT *, BLASLONG, FLOAT *, BLASLONG, FLOAT *, BLASLONG, FLOAT *, int) = {
|
||||
#ifdef XDOUBLE
|
||||
xsbmv_thread_U, xsbmv_thread_L,
|
||||
|
@ -90,7 +90,7 @@ void NAME(char *UPLO, blasint *N, blasint *K, FLOAT *ALPHA, FLOAT *a, blasint *
|
|||
blasint info;
|
||||
int uplo;
|
||||
FLOAT *buffer;
|
||||
#ifdef SMP
|
||||
#ifdef SMPBUG
|
||||
int nthreads;
|
||||
#endif
|
||||
|
||||
|
@ -131,7 +131,7 @@ void NAME(char *UPLO, blasint *N, blasint *K, FLOAT *ALPHA, FLOAT *a, blasint *
|
|||
|
||||
buffer = (FLOAT *)blas_memory_alloc(1);
|
||||
|
||||
#ifdef SMP
|
||||
#ifdef SMPBUG
|
||||
nthreads = num_cpu_avail(2);
|
||||
|
||||
if (nthreads == 1) {
|
||||
|
@ -139,7 +139,7 @@ void NAME(char *UPLO, blasint *N, blasint *K, FLOAT *ALPHA, FLOAT *a, blasint *
|
|||
|
||||
(sbmv[uplo])(n, k, alpha_r, alpha_i, a, lda, b, incx, c, incy, buffer);
|
||||
|
||||
#ifdef SMP
|
||||
#ifdef SMPBUG
|
||||
} else {
|
||||
|
||||
(sbmv_thread[uplo])(n, k, ALPHA, a, lda, b, incx, c, incy, buffer, nthreads);
|
||||
|
|
|
@ -61,7 +61,7 @@ static int (*spmv[])(BLASLONG, FLOAT, FLOAT, FLOAT *, FLOAT *, BLASLONG, FLOAT
|
|||
#endif
|
||||
};
|
||||
|
||||
#ifdef SMP
|
||||
#ifdef SMPTEST
|
||||
static int (*spmv_thread[])(BLASLONG, FLOAT *, FLOAT *, FLOAT *, BLASLONG, FLOAT *, BLASLONG, FLOAT *, int) = {
|
||||
#ifdef XDOUBLE
|
||||
xspmv_thread_U, xspmv_thread_L,
|
||||
|
@ -88,7 +88,7 @@ void NAME(char *UPLO, blasint *N, FLOAT *ALPHA, FLOAT *a,
|
|||
blasint info;
|
||||
int uplo;
|
||||
FLOAT *buffer;
|
||||
#ifdef SMP
|
||||
#ifdef SMPTEST
|
||||
int nthreads;
|
||||
#endif
|
||||
|
||||
|
@ -127,7 +127,7 @@ void NAME(char *UPLO, blasint *N, FLOAT *ALPHA, FLOAT *a,
|
|||
|
||||
buffer = (FLOAT *)blas_memory_alloc(1);
|
||||
|
||||
#ifdef SMP
|
||||
#ifdef SMPTEST
|
||||
nthreads = num_cpu_avail(2);
|
||||
|
||||
if (nthreads == 1) {
|
||||
|
@ -135,7 +135,7 @@ void NAME(char *UPLO, blasint *N, FLOAT *ALPHA, FLOAT *a,
|
|||
|
||||
(spmv[uplo])(n, alpha_r, alpha_i, a, b, incx, c, incy, buffer);
|
||||
|
||||
#ifdef SMP
|
||||
#ifdef SMPTEST
|
||||
|
||||
} else {
|
||||
|
||||
|
|
|
@ -0,0 +1,134 @@
|
|||
SAMAXKERNEL = ../arm/amax.c
|
||||
DAMAXKERNEL = ../arm/amax.c
|
||||
CAMAXKERNEL = ../arm/zamax.c
|
||||
ZAMAXKERNEL = ../arm/zamax.c
|
||||
|
||||
SAMINKERNEL = ../arm/amin.c
|
||||
DAMINKERNEL = ../arm/amin.c
|
||||
CAMINKERNEL = ../arm/zamin.c
|
||||
ZAMINKERNEL = ../arm/zamin.c
|
||||
|
||||
SMAXKERNEL = ../arm/max.c
|
||||
DMAXKERNEL = ../arm/max.c
|
||||
|
||||
SMINKERNEL = ../arm/min.c
|
||||
DMINKERNEL = ../arm/min.c
|
||||
|
||||
ISAMAXKERNEL = ../arm/iamax.c
|
||||
IDAMAXKERNEL = ../arm/iamax.c
|
||||
ICAMAXKERNEL = ../arm/izamax.c
|
||||
IZAMAXKERNEL = ../arm/izamax.c
|
||||
|
||||
ISAMINKERNEL = ../arm/iamin.c
|
||||
IDAMINKERNEL = ../arm/iamin.c
|
||||
ICAMINKERNEL = ../arm/izamin.c
|
||||
IZAMINKERNEL = ../arm/izamin.c
|
||||
|
||||
ISMAXKERNEL = ../arm/imax.c
|
||||
IDMAXKERNEL = ../arm/imax.c
|
||||
|
||||
ISMINKERNEL = ../arm/imin.c
|
||||
IDMINKERNEL = ../arm/imin.c
|
||||
|
||||
SASUMKERNEL = ../arm/asum.c
|
||||
DASUMKERNEL = ../arm/asum.c
|
||||
CASUMKERNEL = ../arm/zasum.c
|
||||
ZASUMKERNEL = ../arm/zasum.c
|
||||
|
||||
SAXPYKERNEL = ../arm/axpy.c
|
||||
DAXPYKERNEL = ../arm/axpy.c
|
||||
CAXPYKERNEL = ../arm/zaxpy.c
|
||||
ZAXPYKERNEL = ../arm/zaxpy.c
|
||||
|
||||
SCOPYKERNEL = ../arm/copy.c
|
||||
DCOPYKERNEL = ../arm/copy.c
|
||||
CCOPYKERNEL = ../arm/zcopy.c
|
||||
ZCOPYKERNEL = ../arm/zcopy.c
|
||||
|
||||
SDOTKERNEL = ../arm/dot.c
|
||||
DDOTKERNEL = ../arm/dot.c
|
||||
CDOTKERNEL = ../arm/zdot.c
|
||||
ZDOTKERNEL = ../arm/zdot.c
|
||||
|
||||
SNRM2KERNEL = ../arm/nrm2.c
|
||||
DNRM2KERNEL = ../arm/nrm2.c
|
||||
CNRM2KERNEL = ../arm/znrm2.c
|
||||
ZNRM2KERNEL = ../arm/znrm2.c
|
||||
|
||||
SROTKERNEL = ../arm/rot.c
|
||||
DROTKERNEL = ../arm/rot.c
|
||||
CROTKERNEL = ../arm/zrot.c
|
||||
ZROTKERNEL = ../arm/zrot.c
|
||||
|
||||
SSCALKERNEL = ../arm/scal.c
|
||||
DSCALKERNEL = ../arm/scal.c
|
||||
CSCALKERNEL = ../arm/zscal.c
|
||||
ZSCALKERNEL = ../arm/zscal.c
|
||||
|
||||
SSWAPKERNEL = ../arm/swap.c
|
||||
DSWAPKERNEL = ../arm/swap.c
|
||||
CSWAPKERNEL = ../arm/zswap.c
|
||||
ZSWAPKERNEL = ../arm/zswap.c
|
||||
|
||||
SGEMVNKERNEL = ../arm/gemv_n.c
|
||||
DGEMVNKERNEL = ../arm/gemv_n.c
|
||||
CGEMVNKERNEL = ../arm/zgemv_n.c
|
||||
ZGEMVNKERNEL = ../arm/zgemv_n.c
|
||||
|
||||
SGEMVTKERNEL = ../arm/gemv_t.c
|
||||
DGEMVTKERNEL = ../arm/gemv_t.c
|
||||
CGEMVTKERNEL = ../arm/zgemv_t.c
|
||||
ZGEMVTKERNEL = ../arm/zgemv_t.c
|
||||
|
||||
STRMMKERNEL = ../generic/trmmkernel_2x2.c
|
||||
DTRMMKERNEL = ../generic/trmmkernel_2x2.c
|
||||
CTRMMKERNEL = ../generic/ztrmmkernel_2x2.c
|
||||
ZTRMMKERNEL = ../generic/ztrmmkernel_2x2.c
|
||||
|
||||
SGEMMKERNEL = ../generic/gemmkernel_2x2.c
|
||||
SGEMMONCOPY = ../generic/gemm_ncopy_2.c
|
||||
SGEMMOTCOPY = ../generic/gemm_tcopy_2.c
|
||||
SGEMMONCOPYOBJ = sgemm_oncopy.o
|
||||
SGEMMOTCOPYOBJ = sgemm_otcopy.o
|
||||
|
||||
DGEMMKERNEL = ../generic/gemmkernel_2x2.c
|
||||
DGEMMONCOPY = ../generic/gemm_ncopy_2.c
|
||||
DGEMMOTCOPY = ../generic/gemm_tcopy_2.c
|
||||
DGEMMONCOPYOBJ = dgemm_oncopy.o
|
||||
DGEMMOTCOPYOBJ = dgemm_otcopy.o
|
||||
|
||||
CGEMMKERNEL = ../generic/zgemmkernel_2x2.c
|
||||
CGEMMONCOPY = ../generic/zgemm_ncopy_2.c
|
||||
CGEMMOTCOPY = ../generic/zgemm_tcopy_2.c
|
||||
CGEMMONCOPYOBJ = cgemm_oncopy.o
|
||||
CGEMMOTCOPYOBJ = cgemm_otcopy.o
|
||||
|
||||
ZGEMMKERNEL = ../generic/zgemmkernel_2x2.c
|
||||
ZGEMMONCOPY = ../generic/zgemm_ncopy_2.c
|
||||
ZGEMMOTCOPY = ../generic/zgemm_tcopy_2.c
|
||||
ZGEMMONCOPYOBJ = zgemm_oncopy.o
|
||||
ZGEMMOTCOPYOBJ = zgemm_otcopy.o
|
||||
|
||||
STRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
|
||||
STRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
|
||||
STRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
|
||||
STRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
|
||||
|
||||
DTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
|
||||
DTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
|
||||
DTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
|
||||
DTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
|
||||
|
||||
CTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
|
||||
CTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
|
||||
CTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
|
||||
CTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
|
||||
|
||||
ZTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
|
||||
ZTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
|
||||
ZTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
|
||||
ZTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,3 +1,27 @@
|
|||
SGEMVNKERNEL = ../arm/gemv_n.c
|
||||
SGEMVTKERNEL = ../arm/gemv_t.c
|
||||
|
||||
DGEMVNKERNEL = ../arm/gemv_n.c
|
||||
DGEMVTKERNEL = ../arm/gemv_t.c
|
||||
|
||||
CTRMMKERNEL = ../generic/ztrmmkernel_2x2.c
|
||||
CGEMMKERNEL = ../generic/zgemmkernel_2x2.c
|
||||
CGEMMONCOPY = ../generic/zgemm_ncopy_2.c
|
||||
CGEMMOTCOPY = ../generic/zgemm_tcopy_2.c
|
||||
|
||||
#ZTRMMKERNEL = ../generic/ztrmmkernel_2x2.c
|
||||
#ZGEMMKERNEL = ../generic/zgemmkernel_2x2.c
|
||||
#ZGEMMONCOPY = ../generic/zgemm_ncopy_2.c
|
||||
#ZGEMMOTCOPY = ../generic/zgemm_tcopy_2.c
|
||||
|
||||
|
||||
#STRMMKERNEL = ../generic/trmmkernel_2x2.c
|
||||
#SGEMMKERNEL = ../generic/gemmkernel_2x2.c
|
||||
#SGEMMONCOPY = ../generic/gemm_ncopy_2.c
|
||||
#SGEMMOTCOPY = ../generic/gemm_tcopy_2.c
|
||||
|
||||
|
||||
###############################################################################
|
||||
SAMAXKERNEL = iamax_vfp.S
|
||||
DAMAXKERNEL = iamax_vfp.S
|
||||
CAMAXKERNEL = iamax_vfp.S
|
||||
|
@ -60,29 +84,29 @@ DROTKERNEL = rot_vfp.S
|
|||
CROTKERNEL = rot_vfp.S
|
||||
ZROTKERNEL = rot_vfp.S
|
||||
|
||||
SSCALKERNEL = scal_vfp.S
|
||||
DSCALKERNEL = scal_vfp.S
|
||||
CSCALKERNEL = scal_vfp.S
|
||||
ZSCALKERNEL = scal_vfp.S
|
||||
SSCALKERNEL = scal.c
|
||||
DSCALKERNEL = scal.c
|
||||
CSCALKERNEL = zscal.c
|
||||
ZSCALKERNEL = zscal.c
|
||||
|
||||
SSWAPKERNEL = swap_vfp.S
|
||||
DSWAPKERNEL = swap_vfp.S
|
||||
CSWAPKERNEL = swap_vfp.S
|
||||
ZSWAPKERNEL = swap_vfp.S
|
||||
|
||||
SGEMVNKERNEL = gemv_n_vfp.S
|
||||
DGEMVNKERNEL = gemv_n_vfp.S
|
||||
# BAD SGEMVNKERNEL = gemv_n_vfp.S
|
||||
# BAD DGEMVNKERNEL = gemv_n_vfp.S
|
||||
CGEMVNKERNEL = cgemv_n_vfp.S
|
||||
ZGEMVNKERNEL = zgemv_n_vfp.S
|
||||
|
||||
SGEMVTKERNEL = gemv_t_vfp.S
|
||||
DGEMVTKERNEL = gemv_t_vfp.S
|
||||
# BAD SGEMVTKERNEL = gemv_t_vfp.S
|
||||
# BAD DGEMVTKERNEL = gemv_t_vfp.S
|
||||
CGEMVTKERNEL = cgemv_t_vfp.S
|
||||
ZGEMVTKERNEL = zgemv_t_vfp.S
|
||||
|
||||
STRMMKERNEL = strmm_kernel_4x2_vfp.S
|
||||
DTRMMKERNEL = dtrmm_kernel_4x2_vfp.S
|
||||
CTRMMKERNEL = ctrmm_kernel_2x2_vfp.S
|
||||
#CTRMMKERNEL = ctrmm_kernel_2x2_vfp.S
|
||||
ZTRMMKERNEL = ztrmm_kernel_2x2_vfp.S
|
||||
|
||||
SGEMMKERNEL = sgemm_kernel_4x2_vfp.S
|
||||
|
@ -105,9 +129,9 @@ DGEMMOTCOPY = ../generic/gemm_tcopy_2.c
|
|||
DGEMMONCOPYOBJ = dgemm_oncopy.o
|
||||
DGEMMOTCOPYOBJ = dgemm_otcopy.o
|
||||
|
||||
CGEMMKERNEL = cgemm_kernel_2x2_vfp.S
|
||||
CGEMMONCOPY = cgemm_ncopy_2_vfp.S
|
||||
CGEMMOTCOPY = cgemm_tcopy_2_vfp.S
|
||||
#CGEMMKERNEL = cgemm_kernel_2x2_vfp.S
|
||||
#CGEMMONCOPY = cgemm_ncopy_2_vfp.S
|
||||
#CGEMMOTCOPY = cgemm_tcopy_2_vfp.S
|
||||
CGEMMONCOPYOBJ = cgemm_oncopy.o
|
||||
CGEMMOTCOPYOBJ = cgemm_otcopy.o
|
||||
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
SGEMVNKERNEL = ../arm/gemv_n.c
|
||||
SGEMVTKERNEL = ../arm/gemv_t.c
|
||||
|
||||
|
||||
#################################################################################
|
||||
SAMAXKERNEL = iamax_vfp.S
|
||||
DAMAXKERNEL = iamax_vfp.S
|
||||
CAMAXKERNEL = iamax_vfp.S
|
||||
|
@ -65,17 +70,17 @@ DROTKERNEL = rot_vfp.S
|
|||
CROTKERNEL = rot_vfp.S
|
||||
ZROTKERNEL = rot_vfp.S
|
||||
|
||||
SSCALKERNEL = scal_vfp.S
|
||||
SSCALKERNEL = scal.c
|
||||
DSCALKERNEL = scal.c
|
||||
CSCALKERNEL = scal_vfp.S
|
||||
ZSCALKERNEL = scal_vfp.S
|
||||
CSCALKERNEL = zscal.c
|
||||
ZSCALKERNEL = zscal.c
|
||||
|
||||
SGEMVNKERNEL = gemv_n_vfp.S
|
||||
DGEMVNKERNEL = gemv_n.c
|
||||
# BAD SGEMVNKERNEL = gemv_n_vfp.S
|
||||
DGEMVNKERNEL = gemv_n_vfp.S
|
||||
CGEMVNKERNEL = cgemv_n_vfp.S
|
||||
ZGEMVNKERNEL = zgemv_n_vfp.S
|
||||
|
||||
SGEMVTKERNEL = gemv_t_vfp.S
|
||||
# BAD SGEMVTKERNEL = gemv_t_vfp.S
|
||||
DGEMVTKERNEL = gemv_t_vfp.S
|
||||
CGEMVTKERNEL = cgemv_t_vfp.S
|
||||
ZGEMVTKERNEL = zgemv_t_vfp.S
|
||||
|
|
|
@ -38,20 +38,21 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||
|
||||
int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLASLONG inc_y, FLOAT *dummy, BLASLONG dummy2)
|
||||
{
|
||||
BLASLONG i=0;
|
||||
BLASLONG i=0,j=0;
|
||||
|
||||
if ( n < 0 || inc_x < 1 ) return(0);
|
||||
if ( da == 1.0 ) return(0);
|
||||
|
||||
n *= inc_x;
|
||||
while(i < n)
|
||||
while(j < n)
|
||||
{
|
||||
|
||||
x[i] = da * x[i] ;
|
||||
if ( da == 0.0 )
|
||||
x[i]=0.0;
|
||||
else
|
||||
x[i] = da * x[i] ;
|
||||
|
||||
i += inc_x ;
|
||||
j++;
|
||||
|
||||
}
|
||||
return(0);
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -43,19 +43,39 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da_r,FLOAT da_i, F
|
|||
BLASLONG ip = 0;
|
||||
FLOAT temp;
|
||||
|
||||
if ( n < 0 || inc_x < 1 ) return(0);
|
||||
|
||||
inc_x2 = 2 * inc_x;
|
||||
for ( i=0; i<n; i++ )
|
||||
{
|
||||
|
||||
temp = da_r * x[ip] - da_i * x[ip+1] ;
|
||||
x[ip+1] = da_r * x[ip+1] + da_i * x[ip] ;
|
||||
if ( da_r == 0.0 )
|
||||
{
|
||||
if ( da_i == 0.0 )
|
||||
{
|
||||
temp = 0.0;
|
||||
x[ip+1] = 0.0 ;
|
||||
}
|
||||
else
|
||||
{
|
||||
temp = - da_i * x[ip+1] ;
|
||||
x[ip+1] = da_i * x[ip] ;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( da_i == 0.0 )
|
||||
{
|
||||
temp = da_r * x[ip] ;
|
||||
x[ip+1] = da_r * x[ip+1];
|
||||
}
|
||||
else
|
||||
{
|
||||
temp = da_r * x[ip] - da_i * x[ip+1] ;
|
||||
x[ip+1] = da_r * x[ip+1] + da_i * x[ip] ;
|
||||
}
|
||||
}
|
||||
x[ip] = temp;
|
||||
|
||||
ip += inc_x2;
|
||||
}
|
||||
|
||||
|
||||
return(0);
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@ CASUMKERNEL = zasum_sse.S
|
|||
endif
|
||||
|
||||
ifndef SDOTKERNEL
|
||||
SDOTKERNEL = dot_sse.S
|
||||
SDOTKERNEL = ../arm/dot.c
|
||||
endif
|
||||
|
||||
ifndef CDOTKERNEL
|
||||
|
@ -107,11 +107,11 @@ CSWAPKERNEL = zswap_sse.S
|
|||
endif
|
||||
|
||||
ifndef SGEMVNKERNEL
|
||||
SGEMVNKERNEL = gemv_n_sse.S
|
||||
SGEMVNKERNEL = ../arm/gemv_n.c
|
||||
endif
|
||||
|
||||
ifndef SGEMVTKERNEL
|
||||
SGEMVTKERNEL = gemv_t_sse.S
|
||||
SGEMVTKERNEL = ../arm/gemv_t.c
|
||||
endif
|
||||
|
||||
ifndef CGEMVNKERNEL
|
||||
|
|
|
@ -119,7 +119,7 @@ XCOPYKERNEL = zcopy.S
|
|||
endif
|
||||
|
||||
ifndef SDOTKERNEL
|
||||
SDOTKERNEL = dot_sse.S
|
||||
SDOTKERNEL = ../arm/dot.c
|
||||
endif
|
||||
|
||||
ifndef DDOTKERNEL
|
||||
|
@ -369,11 +369,11 @@ endif
|
|||
GEMVDEP = ../l2param.h
|
||||
|
||||
ifndef SGEMVNKERNEL
|
||||
SGEMVNKERNEL = sgemv_n.S
|
||||
SGEMVNKERNEL = ../arm/gemv_n.c
|
||||
endif
|
||||
|
||||
ifndef SGEMVTKERNEL
|
||||
SGEMVTKERNEL = sgemv_t.S
|
||||
SGEMVTKERNEL = ../arm/gemv_t.c
|
||||
endif
|
||||
|
||||
ifndef DGEMVNKERNEL
|
||||
|
|
|
@ -7,15 +7,19 @@ SGEMMINCOPYOBJ = sgemm_incopy$(TSUFFIX).$(SUFFIX)
|
|||
SGEMMITCOPYOBJ = sgemm_itcopy$(TSUFFIX).$(SUFFIX)
|
||||
SGEMMONCOPYOBJ = sgemm_oncopy$(TSUFFIX).$(SUFFIX)
|
||||
SGEMMOTCOPYOBJ = sgemm_otcopy$(TSUFFIX).$(SUFFIX)
|
||||
DGEMMKERNEL = gemm_kernel_2x8_nehalem.S
|
||||
DGEMMINCOPY = dgemm_ncopy_2.S
|
||||
DGEMMITCOPY = dgemm_tcopy_2.S
|
||||
DGEMMONCOPY = ../generic/gemm_ncopy_8.c
|
||||
DGEMMOTCOPY = dgemm_tcopy_8.S
|
||||
DGEMMINCOPYOBJ = dgemm_incopy$(TSUFFIX).$(SUFFIX)
|
||||
DGEMMITCOPYOBJ = dgemm_itcopy$(TSUFFIX).$(SUFFIX)
|
||||
|
||||
|
||||
DGEMMKERNEL = gemm_kernel_4x4_core2.S
|
||||
DGEMMINCOPY =
|
||||
DGEMMITCOPY =
|
||||
DGEMMONCOPY = gemm_ncopy_4.S
|
||||
DGEMMOTCOPY = gemm_tcopy_4.S
|
||||
DGEMMINCOPYOBJ =
|
||||
DGEMMITCOPYOBJ =
|
||||
DGEMMONCOPYOBJ = dgemm_oncopy$(TSUFFIX).$(SUFFIX)
|
||||
DGEMMOTCOPYOBJ = dgemm_otcopy$(TSUFFIX).$(SUFFIX)
|
||||
|
||||
|
||||
CGEMMKERNEL = zgemm_kernel_2x4_nehalem.S
|
||||
CGEMMINCOPY = zgemm_ncopy_2.S
|
||||
CGEMMITCOPY = zgemm_tcopy_2.S
|
||||
|
@ -40,10 +44,11 @@ STRSMKERNEL_LT = trsm_kernel_LT_4x8_nehalem.S
|
|||
STRSMKERNEL_RN = trsm_kernel_LT_4x8_nehalem.S
|
||||
STRSMKERNEL_RT = trsm_kernel_RT_4x8_nehalem.S
|
||||
|
||||
DTRSMKERNEL_LN = trsm_kernel_LN_2x8_nehalem.S
|
||||
DTRSMKERNEL_LT = trsm_kernel_LT_2x8_nehalem.S
|
||||
DTRSMKERNEL_RN = trsm_kernel_LT_2x8_nehalem.S
|
||||
DTRSMKERNEL_RT = trsm_kernel_RT_2x8_nehalem.S
|
||||
DTRSMKERNEL_LN = trsm_kernel_LN_4x4_core2.S
|
||||
DTRSMKERNEL_LT = trsm_kernel_LT_4x4_core2.S
|
||||
DTRSMKERNEL_RN = trsm_kernel_LT_4x4_core2.S
|
||||
DTRSMKERNEL_RT = trsm_kernel_RT_4x4_core2.S
|
||||
|
||||
|
||||
CTRSMKERNEL_LN = ztrsm_kernel_LN_2x4_nehalem.S
|
||||
CTRSMKERNEL_LT = ztrsm_kernel_LT_2x4_nehalem.S
|
||||
|
|
|
@ -1,34 +1,35 @@
|
|||
SGEMMKERNEL = sgemm_kernel_8x8_sandy.S
|
||||
SGEMMINCOPY =
|
||||
SGEMMITCOPY =
|
||||
SGEMMKERNEL = gemm_kernel_4x8_nehalem.S
|
||||
SGEMMINCOPY = gemm_ncopy_4.S
|
||||
SGEMMITCOPY = gemm_tcopy_4.S
|
||||
SGEMMONCOPY = ../generic/gemm_ncopy_8.c
|
||||
SGEMMOTCOPY = ../generic/gemm_tcopy_8.c
|
||||
SGEMMINCOPYOBJ =
|
||||
SGEMMITCOPYOBJ =
|
||||
SGEMMINCOPYOBJ = sgemm_incopy$(TSUFFIX).$(SUFFIX)
|
||||
SGEMMITCOPYOBJ = sgemm_itcopy$(TSUFFIX).$(SUFFIX)
|
||||
SGEMMONCOPYOBJ = sgemm_oncopy$(TSUFFIX).$(SUFFIX)
|
||||
SGEMMOTCOPYOBJ = sgemm_otcopy$(TSUFFIX).$(SUFFIX)
|
||||
|
||||
|
||||
DGEMMKERNEL = dgemm_kernel_4x8_sandy.S
|
||||
DGEMMINCOPY = ../generic/gemm_ncopy_8.c
|
||||
DGEMMITCOPY = ../generic/gemm_tcopy_8.c
|
||||
#DGEMMONCOPY = gemm_ncopy_4.S
|
||||
DGEMMONCOPY = ../generic/gemm_ncopy_4.c
|
||||
DGEMMOTCOPY = ../generic/gemm_tcopy_4.c
|
||||
#DGEMMOTCOPY = gemm_tcopy_4.S
|
||||
DGEMMINCOPYOBJ = dgemm_incopy$(TSUFFIX).$(SUFFIX)
|
||||
DGEMMITCOPYOBJ = dgemm_itcopy$(TSUFFIX).$(SUFFIX)
|
||||
DGEMMONCOPYOBJ = dgemm_oncopy$(TSUFFIX).$(SUFFIX)
|
||||
DGEMMOTCOPYOBJ = dgemm_otcopy$(TSUFFIX).$(SUFFIX)
|
||||
#CGEMMKERNEL = zgemm_kernel_2x4_nehalem.S
|
||||
CGEMMKERNEL = cgemm_kernel_4x8_sandy.S
|
||||
CGEMMINCOPY = ../generic/zgemm_ncopy_8_sandy.c
|
||||
CGEMMITCOPY = ../generic/zgemm_tcopy_8_sandy.c
|
||||
CGEMMONCOPY = ../generic/zgemm_ncopy_4_sandy.c
|
||||
CGEMMOTCOPY = ../generic/zgemm_tcopy_4_sandy.c
|
||||
|
||||
CGEMMKERNEL = zgemm_kernel_2x4_nehalem.S
|
||||
CGEMMINCOPY = zgemm_ncopy_2.S
|
||||
CGEMMITCOPY = zgemm_tcopy_2.S
|
||||
CGEMMONCOPY = ../generic/zgemm_ncopy_4.c
|
||||
CGEMMOTCOPY = ../generic/zgemm_tcopy_4.c
|
||||
CGEMMINCOPYOBJ = cgemm_incopy$(TSUFFIX).$(SUFFIX)
|
||||
CGEMMITCOPYOBJ = cgemm_itcopy$(TSUFFIX).$(SUFFIX)
|
||||
CGEMMONCOPYOBJ = cgemm_oncopy$(TSUFFIX).$(SUFFIX)
|
||||
CGEMMOTCOPYOBJ = cgemm_otcopy$(TSUFFIX).$(SUFFIX)
|
||||
#ZGEMMKERNEL = zgemm_kernel_1x4_nehalem.S
|
||||
|
||||
|
||||
ZGEMMKERNEL = zgemm_kernel_4x4_sandy.S
|
||||
ZGEMMINCOPY =
|
||||
ZGEMMITCOPY =
|
||||
|
@ -58,6 +59,7 @@ ZGEMMOTCOPYOBJ = zgemm_otcopy$(TSUFFIX).$(SUFFIX)
|
|||
#ZTRSMKERNEL_LT = ztrsm_kernel_LT_1x4_nehalem.S
|
||||
#ZTRSMKERNEL_RN = ztrsm_kernel_LT_1x4_nehalem.S
|
||||
#ZTRSMKERNEL_RT = ztrsm_kernel_RT_1x4_nehalem.S
|
||||
|
||||
STRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
|
||||
STRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
|
||||
STRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
|
||||
|
|
|
@ -80,10 +80,12 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||
#ifndef WINDOWS_ABI
|
||||
|
||||
#define STACKSIZE 96
|
||||
#define L_BUFFER_SIZE 256*8*12+4096
|
||||
|
||||
#else
|
||||
|
||||
#define STACKSIZE 256
|
||||
#define L_BUFFER_SIZE 128*8*12+4096
|
||||
|
||||
#define OLD_A 40 + STACKSIZE(%rsp)
|
||||
#define OLD_B 48 + STACKSIZE(%rsp)
|
||||
|
@ -93,7 +95,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||
|
||||
#endif
|
||||
|
||||
#define L_BUFFER_SIZE 512*8*12
|
||||
|
||||
#define Ndiv12 24(%rsp)
|
||||
#define Nmod12 32(%rsp)
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
========================================================================================
|
||||
2014/05/07 Saar
|
||||
|
||||
Platform: BULLDOZER single thread
|
||||
|
||||
|
||||
--> LAPACK TESTING SUMMARY <--
|
||||
Processing LAPACK Testing output found in the TESTING direcory
|
||||
SUMMARY nb test run numerical error other error
|
||||
================ =========== ================= ================
|
||||
REAL 1079349 0 (0.000%) 0 (0.000%)
|
||||
DOUBLE PRECISION 1080161 0 (0.000%) 0 (0.000%)
|
||||
COMPLEX 556022 0 (0.000%) 0 (0.000%)
|
||||
COMPLEX16 556834 0 (0.000%) 0 (0.000%)
|
||||
|
||||
--> ALL PRECISIONS 3272366 0 (0.000%) 0 (0.000%)
|
||||
|
||||
========================================================================================
|
||||
|
|
@ -56,7 +56,7 @@ include ../make.inc
|
|||
|
||||
ALLAUX = ilaenv.o ieeeck.o lsamen.o xerbla_array.o iparmq.o \
|
||||
ilaprec.o ilatrans.o ilauplo.o iladiag.o chla_transtype.o \
|
||||
../INSTALL/ilaver.o
|
||||
../INSTALL/ilaver.o ../INSTALL/slamch.o
|
||||
|
||||
SCLAUX = \
|
||||
sbdsdc.o \
|
||||
|
@ -92,7 +92,7 @@ DZLAUX = \
|
|||
dlasr.o dlasrt.o dlassq.o dlasv2.o dpttrf.o dstebz.o dstedc.o \
|
||||
dsteqr.o dsterf.o dlaisnan.o disnan.o \
|
||||
dlartgp.o dlartgs.o \
|
||||
../INSTALL/dsecnd_$(TIMER).o
|
||||
../INSTALL/dlamch.o ../INSTALL/dsecnd_$(TIMER).o
|
||||
|
||||
SLASRC = \
|
||||
sgbbrd.o sgbcon.o sgbequ.o sgbrfs.o sgbsv.o \
|
||||
|
@ -101,7 +101,7 @@ SLASRC = \
|
|||
sgegs.o sgegv.o sgehd2.o sgehrd.o sgelq2.o sgelqf.o \
|
||||
sgels.o sgelsd.o sgelss.o sgelsx.o sgelsy.o sgeql2.o sgeqlf.o \
|
||||
sgeqp3.o sgeqpf.o sgeqr2.o sgeqr2p.o sgeqrf.o sgeqrfp.o sgerfs.o \
|
||||
sgerq2.o sgerqf.o sgesc2.o sgesdd.o sgesv.o sgesvd.o sgesvx.o \
|
||||
sgerq2.o sgerqf.o sgesc2.o sgesdd.o sgesvd.o sgesvx.o \
|
||||
sgetc2.o sgetri.o \
|
||||
sggbak.o sggbal.o sgges.o sggesx.o sggev.o sggevx.o \
|
||||
sggglm.o sgghrd.o sgglse.o sggqrf.o \
|
||||
|
@ -127,7 +127,7 @@ SLASRC = \
|
|||
sormr3.o sormrq.o sormrz.o sormtr.o spbcon.o spbequ.o spbrfs.o \
|
||||
spbstf.o spbsv.o spbsvx.o \
|
||||
spbtf2.o spbtrf.o spbtrs.o spocon.o spoequ.o sporfs.o sposv.o \
|
||||
sposvx.o spotri.o spstrf.o spstf2.o \
|
||||
sposvx.o spstrf.o spstf2.o \
|
||||
sppcon.o sppequ.o \
|
||||
spprfs.o sppsv.o sppsvx.o spptrf.o spptri.o spptrs.o sptcon.o \
|
||||
spteqr.o sptrfs.o sptsv.o sptsvx.o spttrs.o sptts2.o srscl.o \
|
||||
|
@ -157,7 +157,7 @@ SLASRC = \
|
|||
sgeqrt.o sgeqrt2.o sgeqrt3.o sgemqrt.o \
|
||||
stpqrt.o stpqrt2.o stpmqrt.o stprfb.o
|
||||
|
||||
DSLASRC = spotrs.o
|
||||
DSLASRC = spotrs.o
|
||||
|
||||
ifdef USEXBLAS
|
||||
SXLASRC = sgesvxx.o sgerfsx.o sla_gerfsx_extended.o sla_geamv.o \
|
||||
|
@ -176,7 +176,7 @@ CLASRC = \
|
|||
cgegs.o cgegv.o cgehd2.o cgehrd.o cgelq2.o cgelqf.o \
|
||||
cgels.o cgelsd.o cgelss.o cgelsx.o cgelsy.o cgeql2.o cgeqlf.o cgeqp3.o \
|
||||
cgeqpf.o cgeqr2.o cgeqr2p.o cgeqrf.o cgeqrfp.o cgerfs.o \
|
||||
cgerq2.o cgerqf.o cgesc2.o cgesdd.o cgesv.o cgesvd.o \
|
||||
cgerq2.o cgerqf.o cgesc2.o cgesdd.o cgesvd.o \
|
||||
cgesvx.o cgetc2.o cgetri.o \
|
||||
cggbak.o cggbal.o cgges.o cggesx.o cggev.o cggevx.o cggglm.o \
|
||||
cgghrd.o cgglse.o cggqrf.o cggrqf.o \
|
||||
|
@ -210,14 +210,14 @@ CLASRC = \
|
|||
clasyf.o clasyf_rook.o clatbs.o clatdf.o clatps.o clatrd.o clatrs.o clatrz.o \
|
||||
clatzm.o cpbcon.o cpbequ.o cpbrfs.o cpbstf.o cpbsv.o \
|
||||
cpbsvx.o cpbtf2.o cpbtrf.o cpbtrs.o cpocon.o cpoequ.o cporfs.o \
|
||||
cposv.o cposvx.o cpotri.o cpstrf.o cpstf2.o \
|
||||
cposv.o cposvx.o cpstrf.o cpstf2.o \
|
||||
cppcon.o cppequ.o cpprfs.o cppsv.o cppsvx.o cpptrf.o cpptri.o cpptrs.o \
|
||||
cptcon.o cpteqr.o cptrfs.o cptsv.o cptsvx.o cpttrf.o cpttrs.o cptts2.o \
|
||||
crot.o cspcon.o cspmv.o cspr.o csprfs.o cspsv.o \
|
||||
crot.o cspcon.o csprfs.o cspsv.o \
|
||||
cspsvx.o csptrf.o csptri.o csptrs.o csrscl.o cstedc.o \
|
||||
cstegr.o cstein.o csteqr.o \
|
||||
csycon.o csymv.o \
|
||||
csyr.o csyrfs.o csysv.o csysvx.o csytf2.o csytrf.o csytri.o csytri2.o csytri2x.o \
|
||||
csycon.o \
|
||||
csyrfs.o csysv.o csysvx.o csytf2.o csytrf.o csytri.o csytri2.o csytri2x.o \
|
||||
csyswapr.o csytrs.o csytrs2.o csyconv.o \
|
||||
csytf2_rook.o csytrf_rook.o csytrs_rook.o \
|
||||
csytri_rook.o csycon_rook.o csysv_rook.o \
|
||||
|
@ -252,7 +252,7 @@ CXLASRC = cgesvxx.o cgerfsx.o cla_gerfsx_extended.o cla_geamv.o \
|
|||
cla_lin_berr.o clarscl2.o clascl2.o cla_wwaddw.o
|
||||
endif
|
||||
|
||||
ZCLASRC = cpotrs.o
|
||||
ZCLASRC = cpotrs.o
|
||||
|
||||
DLASRC = \
|
||||
dgbbrd.o dgbcon.o dgbequ.o dgbrfs.o dgbsv.o \
|
||||
|
@ -261,7 +261,7 @@ DLASRC = \
|
|||
dgegs.o dgegv.o dgehd2.o dgehrd.o dgelq2.o dgelqf.o \
|
||||
dgels.o dgelsd.o dgelss.o dgelsx.o dgelsy.o dgeql2.o dgeqlf.o \
|
||||
dgeqp3.o dgeqpf.o dgeqr2.o dgeqr2p.o dgeqrf.o dgeqrfp.o dgerfs.o \
|
||||
dgerq2.o dgerqf.o dgesc2.o dgesdd.o dgesv.o dgesvd.o dgesvx.o \
|
||||
dgerq2.o dgerqf.o dgesc2.o dgesdd.o dgesvd.o dgesvx.o \
|
||||
dgetc2.o dgetri.o \
|
||||
dggbak.o dggbal.o dgges.o dggesx.o dggev.o dggevx.o \
|
||||
dggglm.o dgghrd.o dgglse.o dggqrf.o \
|
||||
|
@ -287,7 +287,7 @@ DLASRC = \
|
|||
dormr3.o dormrq.o dormrz.o dormtr.o dpbcon.o dpbequ.o dpbrfs.o \
|
||||
dpbstf.o dpbsv.o dpbsvx.o \
|
||||
dpbtf2.o dpbtrf.o dpbtrs.o dpocon.o dpoequ.o dporfs.o dposv.o \
|
||||
dposvx.o dpotri.o dpotrs.o dpstrf.o dpstf2.o \
|
||||
dposvx.o dpotrs.o dpstrf.o dpstf2.o \
|
||||
dppcon.o dppequ.o \
|
||||
dpprfs.o dppsv.o dppsvx.o dpptrf.o dpptri.o dpptrs.o dptcon.o \
|
||||
dpteqr.o dptrfs.o dptsv.o dptsvx.o dpttrs.o dptts2.o drscl.o \
|
||||
|
@ -335,8 +335,8 @@ ZLASRC = \
|
|||
zgegs.o zgegv.o zgehd2.o zgehrd.o zgelq2.o zgelqf.o \
|
||||
zgels.o zgelsd.o zgelss.o zgelsx.o zgelsy.o zgeql2.o zgeqlf.o zgeqp3.o \
|
||||
zgeqpf.o zgeqr2.o zgeqr2p.o zgeqrf.o zgeqrfp.o zgerfs.o zgerq2.o zgerqf.o \
|
||||
zgesc2.o zgesdd.o zgesv.o zgesvd.o zgesvx.o zgetc2.o \
|
||||
zgetri.o \
|
||||
zgesc2.o zgesdd.o zgesvd.o zgesvx.o zgetc2.o \
|
||||
zgetri.o \
|
||||
zggbak.o zggbal.o zgges.o zggesx.o zggev.o zggevx.o zggglm.o \
|
||||
zgghrd.o zgglse.o zggqrf.o zggrqf.o \
|
||||
zggsvd.o zggsvp.o \
|
||||
|
@ -369,17 +369,17 @@ ZLASRC = \
|
|||
zlarfx.o zlargv.o zlarnv.o zlarrv.o zlartg.o zlartv.o \
|
||||
zlarz.o zlarzb.o zlarzt.o zlascl.o zlaset.o zlasr.o \
|
||||
zlassq.o zlasyf.o zlasyf_rook.o \
|
||||
zlatbs.o zlatdf.o zlatps.o zlatrd.o zlatrs.o zlatrz.o zlatzm.o zlauu2.o \
|
||||
zlatbs.o zlatdf.o zlatps.o zlatrd.o zlatrs.o zlatrz.o zlatzm.o \
|
||||
zpbcon.o zpbequ.o zpbrfs.o zpbstf.o zpbsv.o \
|
||||
zpbsvx.o zpbtf2.o zpbtrf.o zpbtrs.o zpocon.o zpoequ.o zporfs.o \
|
||||
zposv.o zposvx.o zpotri.o zpotrs.o zpstrf.o zpstf2.o \
|
||||
zposv.o zposvx.o zpotrs.o zpstrf.o zpstf2.o \
|
||||
zppcon.o zppequ.o zpprfs.o zppsv.o zppsvx.o zpptrf.o zpptri.o zpptrs.o \
|
||||
zptcon.o zpteqr.o zptrfs.o zptsv.o zptsvx.o zpttrf.o zpttrs.o zptts2.o \
|
||||
zrot.o zspcon.o zspmv.o zspr.o zsprfs.o zspsv.o \
|
||||
zrot.o zspcon.o zsprfs.o zspsv.o \
|
||||
zspsvx.o zsptrf.o zsptri.o zsptrs.o zdrscl.o zstedc.o \
|
||||
zstegr.o zstein.o zsteqr.o \
|
||||
zsycon.o zsymv.o \
|
||||
zsyr.o zsyrfs.o zsysv.o zsysvx.o zsytf2.o zsytrf.o zsytri.o zsytri2.o zsytri2x.o \
|
||||
zsycon.o \
|
||||
zsyrfs.o zsysv.o zsysvx.o zsytf2.o zsytrf.o zsytri.o zsytri2.o zsytri2x.o \
|
||||
zsyswapr.o zsytrs.o zsytrs2.o zsyconv.o \
|
||||
zsytf2_rook.o zsytrf_rook.o zsytrs_rook.o \
|
||||
zsytri_rook.o zsycon_rook.o zsysv_rook.o \
|
||||
|
@ -417,8 +417,6 @@ endif
|
|||
ALLOBJ = $(SLASRC) $(DLASRC) $(DSLASRC) $(CLASRC) $(ZLASRC) $(ZCLASRC) \
|
||||
$(SCLAUX) $(DZLAUX) $(ALLAUX)
|
||||
|
||||
ALLOBJ_P = $(ALLOBJ:.o=.$(PSUFFIX))
|
||||
|
||||
ifdef USEXBLAS
|
||||
ALLXOBJ = $(SXLASRC) $(DXLASRC) $(CXLASRC) $(ZXLASRC)
|
||||
endif
|
||||
|
@ -435,6 +433,7 @@ lapacklib: $(ALLOBJ) $(ALLXOBJ)
|
|||
$(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ_P)
|
||||
$(RANLIB) $@
|
||||
|
||||
|
||||
single: $(SLASRC) $(DSLASRC) $(SXLASRC) $(SCLAUX) $(ALLAUX)
|
||||
$(ARCH) $(ARCHFLAGS) ../$(LAPACKLIB) $(SLASRC) $(DSLASRC) \
|
||||
$(SXLASRC) $(SCLAUX) $(ALLAUX) $(ALLXAUX)
|
||||
|
@ -483,16 +482,11 @@ clean:
|
|||
%.$(PSUFFIX): %.f
|
||||
$(FORTRAN) $(POPTS) -c $< -o $@
|
||||
|
||||
slaruv.o: slaruv.f ; $(FORTRAN) $(NOOPT) -O0 -c $< -o $@
|
||||
dlaruv.o: dlaruv.f ; $(FORTRAN) $(NOOPT) -O0 -c $< -o $@
|
||||
sla_wwaddw.o: sla_wwaddw.f ; $(FORTRAN) $(NOOPT) -O0 -c $< -o $@
|
||||
dla_wwaddw.o: dla_wwaddw.f ; $(FORTRAN) $(NOOPT) -O0 -c $< -o $@
|
||||
cla_wwaddw.o: cla_wwaddw.f ; $(FORTRAN) $(NOOPT) -O0 -c $< -o $@
|
||||
zla_wwaddw.o: zla_wwaddw.f ; $(FORTRAN) $(NOOPT) -O0 -c $< -o $@
|
||||
|
||||
slaruv.$(PSUFFIX): slaruv.f ; $(FORTRAN) $(PNOOPT) -O0 -c $< -o $@
|
||||
dlaruv.$(PSUFFIX): dlaruv.f ; $(FORTRAN) $(PNOOPT) -O0 -c $< -o $@
|
||||
sla_wwaddw.$(PSUFFIX): sla_wwaddw.f ; $(FORTRAN) $(PNOOPT) -O0 -c $< -o $@
|
||||
dla_wwaddw.$(PSUFFIX): dla_wwaddw.f ; $(FORTRAN) $(PNOOPT) -O0 -c $< -o $@
|
||||
cla_wwaddw.$(PSUFFIX): cla_wwaddw.f ; $(FORTRAN) $(PNOOPT) -O0 -c $< -o $@
|
||||
zla_wwaddw.$(PSUFFIX): zla_wwaddw.f ; $(FORTRAN) $(PNOOPT) -O0 -c $< -o $@
|
||||
slaruv.o: slaruv.f ; $(FORTRAN) $(NOOPT) -c $< -o $@
|
||||
dlaruv.o: dlaruv.f ; $(FORTRAN) $(NOOPT) -c $< -o $@
|
||||
sla_wwaddw.o: sla_wwaddw.f ; $(FORTRAN) $(NOOPT) -c $< -o $@
|
||||
dla_wwaddw.o: dla_wwaddw.f ; $(FORTRAN) $(NOOPT) -c $< -o $@
|
||||
cla_wwaddw.o: cla_wwaddw.f ; $(FORTRAN) $(NOOPT) -c $< -o $@
|
||||
zla_wwaddw.o: zla_wwaddw.f ; $(FORTRAN) $(NOOPT) -c $< -o $@
|
||||
|
||||
|
|
|
@ -5,5 +5,5 @@ Data file for testing COMPLEX LAPACK linear equation routines RFP format
|
|||
1 2 15 Values of NRHS (number of right hand sides)
|
||||
9 Number of matrix types (list types on next line if 0 < NTYPES < 9)
|
||||
1 2 3 4 5 6 7 8 9 Matrix Types
|
||||
30.0 Threshold value of test ratio
|
||||
50.0 Threshold value of test ratio
|
||||
T Put T to test the error exits
|
||||
|
|
|
@ -5,7 +5,7 @@ SEP: Data file for testing Symmetric Eigenvalue Problem routines
|
|||
1 3 3 3 10 Values of NB (blocksize)
|
||||
2 2 2 2 2 Values of NBMIN (minimum blocksize)
|
||||
1 0 5 9 1 Values of NX (crossover point)
|
||||
50.0 Threshold value
|
||||
60.0 Threshold value
|
||||
T Put T to test the LAPACK routines
|
||||
T Put T to test the driver routines
|
||||
T Put T to test the error exits
|
||||
|
|
|
@ -7,7 +7,7 @@ SVD: Data file for testing Singular Value Decomposition routines
|
|||
2 2 2 2 2 Values of NBMIN (minimum blocksize)
|
||||
1 0 5 9 1 Values of NX (crossover point)
|
||||
2 0 2 2 2 Values of NRHS
|
||||
50.0 Threshold value
|
||||
54.0 Threshold value
|
||||
T Put T to test the LAPACK routines
|
||||
T Put T to test the driver routines
|
||||
T Put T to test the error exits
|
||||
|
|
|
@ -2072,9 +2072,9 @@ SOBJ_FILES := $(SSRC_OBJ)
|
|||
DOBJ_FILES := $(DSRC_OBJ)
|
||||
ZOBJ_FILES := $(ZSRC_OBJ)
|
||||
|
||||
ifdef LAPACKE_TESTING
|
||||
# ifdef LAPACKE_TESTING
|
||||
ZOBJ_FILES += $(MATGEN_OBJ)
|
||||
endif
|
||||
#endif
|
||||
|
||||
ALLOBJ = $(COBJ_FILES) $(DOBJ_FILES) $(SOBJ_FILES) $(ZOBJ_FILES) $(OBJ_FILES)
|
||||
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
TOPDIR = ..
|
||||
include ../Makefile.system
|
||||
|
||||
SUBDIRS = laswp getf2 getrf potf2 potrf lauu2 lauum trti2 trtri getrs
|
||||
#SUBDIRS = laswp getf2 getrf potf2 potrf lauu2 lauum trti2 trtri getrs
|
||||
SUBDIRS = getrf getf2 laswp getrs potrf potf2 lauu2 lauum trti2 trtri
|
||||
|
||||
FLAMEDIRS = laswp getf2 potf2 lauu2 trti2
|
||||
|
||||
|
|
|
@ -1,194 +0,0 @@
|
|||
SUBROUTINE CGETRI( N, A, LDA, IPIV, WORK, LWORK, INFO )
|
||||
*
|
||||
* -- LAPACK routine (version 3.0) --
|
||||
* Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd.,
|
||||
* Courant Institute, Argonne National Lab, and Rice University
|
||||
* June 30, 1999
|
||||
*
|
||||
* .. Scalar Arguments ..
|
||||
INTEGER INFO, LDA, LWORK, N
|
||||
* ..
|
||||
* .. Array Arguments ..
|
||||
INTEGER IPIV( * )
|
||||
COMPLEX A( LDA, * ), WORK( * )
|
||||
* ..
|
||||
*
|
||||
* Purpose
|
||||
* =======
|
||||
*
|
||||
* CGETRI computes the inverse of a matrix using the LU factorization
|
||||
* computed by CGETRF.
|
||||
*
|
||||
* This method inverts U and then computes inv(A) by solving the system
|
||||
* inv(A)*L = inv(U) for inv(A).
|
||||
*
|
||||
* Arguments
|
||||
* =========
|
||||
*
|
||||
* N (input) INTEGER
|
||||
* The order of the matrix A. N >= 0.
|
||||
*
|
||||
* A (input/output) COMPLEX array, dimension (LDA,N)
|
||||
* On entry, the factors L and U from the factorization
|
||||
* A = P*L*U as computed by CGETRF.
|
||||
* On exit, if INFO = 0, the inverse of the original matrix A.
|
||||
*
|
||||
* LDA (input) INTEGER
|
||||
* The leading dimension of the array A. LDA >= max(1,N).
|
||||
*
|
||||
* IPIV (input) INTEGER array, dimension (N)
|
||||
* The pivot indices from CGETRF; for 1<=i<=N, row i of the
|
||||
* matrix was interchanged with row IPIV(i).
|
||||
*
|
||||
* WORK (workspace/output) COMPLEX array, dimension (LWORK)
|
||||
* On exit, if INFO=0, then WORK(1) returns the optimal LWORK.
|
||||
*
|
||||
* LWORK (input) INTEGER
|
||||
* The dimension of the array WORK. LWORK >= max(1,N).
|
||||
* For optimal performance LWORK >= N*NB, where NB is
|
||||
* the optimal blocksize returned by ILAENV.
|
||||
*
|
||||
* If LWORK = -1, then a workspace query is assumed; the routine
|
||||
* only calculates the optimal size of the WORK array, returns
|
||||
* this value as the first entry of the WORK array, and no error
|
||||
* message related to LWORK is issued by XERBLA.
|
||||
*
|
||||
* INFO (output) INTEGER
|
||||
* = 0: successful exit
|
||||
* < 0: if INFO = -i, the i-th argument had an illegal value
|
||||
* > 0: if INFO = i, U(i,i) is exactly zero; the matrix is
|
||||
* singular and its inverse could not be computed.
|
||||
*
|
||||
* =====================================================================
|
||||
*
|
||||
* .. Parameters ..
|
||||
COMPLEX ZERO, ONE
|
||||
PARAMETER ( ZERO = ( 0.0E+0, 0.0E+0 ),
|
||||
$ ONE = ( 1.0E+0, 0.0E+0 ) )
|
||||
* ..
|
||||
* .. Local Scalars ..
|
||||
LOGICAL LQUERY
|
||||
INTEGER I, IWS, J, JB, JJ, JP, LDWORK, LWKOPT, NB,
|
||||
$ NBMIN, NN
|
||||
* ..
|
||||
* .. External Functions ..
|
||||
INTEGER ILAENV
|
||||
EXTERNAL ILAENV
|
||||
* ..
|
||||
* .. External Subroutines ..
|
||||
EXTERNAL CGEMM, CGEMV, CSWAP, CTRSM, CTRTRI, XERBLA
|
||||
* ..
|
||||
* .. Intrinsic Functions ..
|
||||
INTRINSIC MAX, MIN
|
||||
* ..
|
||||
* .. Executable Statements ..
|
||||
*
|
||||
* Test the input parameters.
|
||||
*
|
||||
INFO = 0
|
||||
NB = ILAENV( 1, 'CGETRI', ' ', N, -1, -1, -1 )
|
||||
LWKOPT = N*NB
|
||||
WORK( 1 ) = LWKOPT
|
||||
LQUERY = ( LWORK.EQ.-1 )
|
||||
IF( N.LT.0 ) THEN
|
||||
INFO = -1
|
||||
ELSE IF( LDA.LT.MAX( 1, N ) ) THEN
|
||||
INFO = -3
|
||||
ELSE IF( LWORK.LT.MAX( 1, N ) .AND. .NOT.LQUERY ) THEN
|
||||
INFO = -6
|
||||
END IF
|
||||
IF( INFO.NE.0 ) THEN
|
||||
CALL XERBLA( 'CGETRI', -INFO )
|
||||
RETURN
|
||||
ELSE IF( LQUERY ) THEN
|
||||
RETURN
|
||||
END IF
|
||||
*
|
||||
* Quick return if possible
|
||||
*
|
||||
IF( N.EQ.0 )
|
||||
$ RETURN
|
||||
*
|
||||
* Form inv(U). If INFO > 0 from CTRTRI, then U is singular,
|
||||
* and the inverse is not computed.
|
||||
*
|
||||
CALL CTRTRI( 'Upper', 'Non-unit', N, A, LDA, INFO )
|
||||
IF( INFO.GT.0 )
|
||||
$ RETURN
|
||||
*
|
||||
NBMIN = 2
|
||||
LDWORK = N
|
||||
IF( NB.GT.1 .AND. NB.LT.N ) THEN
|
||||
IWS = MAX( LDWORK*NB, 1 )
|
||||
IF( LWORK.LT.IWS ) THEN
|
||||
NB = LWORK / LDWORK
|
||||
NBMIN = MAX( 2, ILAENV( 2, 'CGETRI', ' ', N, -1, -1, -1 ) )
|
||||
END IF
|
||||
ELSE
|
||||
IWS = N
|
||||
END IF
|
||||
*
|
||||
* Solve the equation inv(A)*L = inv(U) for inv(A).
|
||||
*
|
||||
IF( NB.LT.NBMIN .OR. NB.GE.N ) THEN
|
||||
*
|
||||
* Use unblocked code.
|
||||
*
|
||||
DO 20 J = N, 1, -1
|
||||
*
|
||||
* Copy current column of L to WORK and replace with zeros.
|
||||
*
|
||||
DO 10 I = J + 1, N
|
||||
WORK( I ) = A( I, J )
|
||||
A( I, J ) = ZERO
|
||||
10 CONTINUE
|
||||
*
|
||||
* Compute current column of inv(A).
|
||||
*
|
||||
IF( J.LT.N )
|
||||
$ CALL CGEMV( 'No transpose', N, N-J, -ONE, A( 1, J+1 ),
|
||||
$ LDA, WORK( J+1 ), 1, ONE, A( 1, J ), 1 )
|
||||
20 CONTINUE
|
||||
ELSE
|
||||
*
|
||||
* Use blocked code.
|
||||
*
|
||||
NN = ( ( N-1 ) / NB )*NB + 1
|
||||
DO 50 J = NN, 1, -NB
|
||||
JB = MIN( NB, N-J+1 )
|
||||
*
|
||||
* Copy current block column of L to WORK and replace with
|
||||
* zeros.
|
||||
*
|
||||
DO 40 JJ = J, J + JB - 1
|
||||
DO 30 I = JJ + 1, N
|
||||
WORK( I+( JJ-J )*LDWORK ) = A( I, JJ )
|
||||
A( I, JJ ) = ZERO
|
||||
30 CONTINUE
|
||||
40 CONTINUE
|
||||
*
|
||||
* Compute current block column of inv(A).
|
||||
*
|
||||
IF( J+JB.LE.N )
|
||||
$ CALL CGEMM( 'No transpose', 'No transpose', N, JB,
|
||||
$ N-J-JB+1, -ONE, A( 1, J+JB ), LDA,
|
||||
$ WORK( J+JB ), LDWORK, ONE, A( 1, J ), LDA )
|
||||
CALL CTRSM( 'Right', 'Lower', 'No transpose', 'Unit', N, JB,
|
||||
$ ONE, WORK( J ), LDWORK, A( 1, J ), LDA )
|
||||
50 CONTINUE
|
||||
END IF
|
||||
*
|
||||
* Apply column interchanges.
|
||||
*
|
||||
DO 60 J = N - 1, 1, -1
|
||||
JP = IPIV( J )
|
||||
IF( JP.NE.J )
|
||||
$ CALL CSWAP( N, A( 1, J ), 1, A( 1, JP ), 1 )
|
||||
60 CONTINUE
|
||||
*
|
||||
WORK( 1 ) = IWS
|
||||
RETURN
|
||||
*
|
||||
* End of CGETRI
|
||||
*
|
||||
END
|
|
@ -1,193 +0,0 @@
|
|||
SUBROUTINE DGETRI( N, A, LDA, IPIV, WORK, LWORK, INFO )
|
||||
*
|
||||
* -- LAPACK routine (version 3.0) --
|
||||
* Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd.,
|
||||
* Courant Institute, Argonne National Lab, and Rice University
|
||||
* June 30, 1999
|
||||
*
|
||||
* .. Scalar Arguments ..
|
||||
INTEGER INFO, LDA, LWORK, N
|
||||
* ..
|
||||
* .. Array Arguments ..
|
||||
INTEGER IPIV( * )
|
||||
DOUBLE PRECISION A( LDA, * ), WORK( * )
|
||||
* ..
|
||||
*
|
||||
* Purpose
|
||||
* =======
|
||||
*
|
||||
* DGETRI computes the inverse of a matrix using the LU factorization
|
||||
* computed by DGETRF.
|
||||
*
|
||||
* This method inverts U and then computes inv(A) by solving the system
|
||||
* inv(A)*L = inv(U) for inv(A).
|
||||
*
|
||||
* Arguments
|
||||
* =========
|
||||
*
|
||||
* N (input) INTEGER
|
||||
* The order of the matrix A. N >= 0.
|
||||
*
|
||||
* A (input/output) DOUBLE PRECISION array, dimension (LDA,N)
|
||||
* On entry, the factors L and U from the factorization
|
||||
* A = P*L*U as computed by DGETRF.
|
||||
* On exit, if INFO = 0, the inverse of the original matrix A.
|
||||
*
|
||||
* LDA (input) INTEGER
|
||||
* The leading dimension of the array A. LDA >= max(1,N).
|
||||
*
|
||||
* IPIV (input) INTEGER array, dimension (N)
|
||||
* The pivot indices from DGETRF; for 1<=i<=N, row i of the
|
||||
* matrix was interchanged with row IPIV(i).
|
||||
*
|
||||
* WORK (workspace/output) DOUBLE PRECISION array, dimension (LWORK)
|
||||
* On exit, if INFO=0, then WORK(1) returns the optimal LWORK.
|
||||
*
|
||||
* LWORK (input) INTEGER
|
||||
* The dimension of the array WORK. LWORK >= max(1,N).
|
||||
* For optimal performance LWORK >= N*NB, where NB is
|
||||
* the optimal blocksize returned by ILAENV.
|
||||
*
|
||||
* If LWORK = -1, then a workspace query is assumed; the routine
|
||||
* only calculates the optimal size of the WORK array, returns
|
||||
* this value as the first entry of the WORK array, and no error
|
||||
* message related to LWORK is issued by XERBLA.
|
||||
*
|
||||
* INFO (output) INTEGER
|
||||
* = 0: successful exit
|
||||
* < 0: if INFO = -i, the i-th argument had an illegal value
|
||||
* > 0: if INFO = i, U(i,i) is exactly zero; the matrix is
|
||||
* singular and its inverse could not be computed.
|
||||
*
|
||||
* =====================================================================
|
||||
*
|
||||
* .. Parameters ..
|
||||
DOUBLE PRECISION ZERO, ONE
|
||||
PARAMETER ( ZERO = 0.0D+0, ONE = 1.0D+0 )
|
||||
* ..
|
||||
* .. Local Scalars ..
|
||||
LOGICAL LQUERY
|
||||
INTEGER I, IWS, J, JB, JJ, JP, LDWORK, LWKOPT, NB,
|
||||
$ NBMIN, NN
|
||||
* ..
|
||||
* .. External Functions ..
|
||||
INTEGER ILAENV
|
||||
EXTERNAL ILAENV
|
||||
* ..
|
||||
* .. External Subroutines ..
|
||||
EXTERNAL DGEMM, DGEMV, DSWAP, DTRSM, DTRTRI, XERBLA
|
||||
* ..
|
||||
* .. Intrinsic Functions ..
|
||||
INTRINSIC MAX, MIN
|
||||
* ..
|
||||
* .. Executable Statements ..
|
||||
*
|
||||
* Test the input parameters.
|
||||
*
|
||||
INFO = 0
|
||||
NB = ILAENV( 1, 'DGETRI', ' ', N, -1, -1, -1 )
|
||||
LWKOPT = N*NB
|
||||
WORK( 1 ) = LWKOPT
|
||||
LQUERY = ( LWORK.EQ.-1 )
|
||||
IF( N.LT.0 ) THEN
|
||||
INFO = -1
|
||||
ELSE IF( LDA.LT.MAX( 1, N ) ) THEN
|
||||
INFO = -3
|
||||
ELSE IF( LWORK.LT.MAX( 1, N ) .AND. .NOT.LQUERY ) THEN
|
||||
INFO = -6
|
||||
END IF
|
||||
IF( INFO.NE.0 ) THEN
|
||||
CALL XERBLA( 'DGETRI', -INFO )
|
||||
RETURN
|
||||
ELSE IF( LQUERY ) THEN
|
||||
RETURN
|
||||
END IF
|
||||
*
|
||||
* Quick return if possible
|
||||
*
|
||||
IF( N.EQ.0 )
|
||||
$ RETURN
|
||||
*
|
||||
* Form inv(U). If INFO > 0 from DTRTRI, then U is singular,
|
||||
* and the inverse is not computed.
|
||||
*
|
||||
CALL DTRTRI( 'Upper', 'Non-unit', N, A, LDA, INFO )
|
||||
IF( INFO.GT.0 )
|
||||
$ RETURN
|
||||
*
|
||||
NBMIN = 2
|
||||
LDWORK = N
|
||||
IF( NB.GT.1 .AND. NB.LT.N ) THEN
|
||||
IWS = MAX( LDWORK*NB, 1 )
|
||||
IF( LWORK.LT.IWS ) THEN
|
||||
NB = LWORK / LDWORK
|
||||
NBMIN = MAX( 2, ILAENV( 2, 'DGETRI', ' ', N, -1, -1, -1 ) )
|
||||
END IF
|
||||
ELSE
|
||||
IWS = N
|
||||
END IF
|
||||
*
|
||||
* Solve the equation inv(A)*L = inv(U) for inv(A).
|
||||
*
|
||||
IF( NB.LT.NBMIN .OR. NB.GE.N ) THEN
|
||||
*
|
||||
* Use unblocked code.
|
||||
*
|
||||
DO 20 J = N, 1, -1
|
||||
*
|
||||
* Copy current column of L to WORK and replace with zeros.
|
||||
*
|
||||
DO 10 I = J + 1, N
|
||||
WORK( I ) = A( I, J )
|
||||
A( I, J ) = ZERO
|
||||
10 CONTINUE
|
||||
*
|
||||
* Compute current column of inv(A).
|
||||
*
|
||||
IF( J.LT.N )
|
||||
$ CALL DGEMV( 'No transpose', N, N-J, -ONE, A( 1, J+1 ),
|
||||
$ LDA, WORK( J+1 ), 1, ONE, A( 1, J ), 1 )
|
||||
20 CONTINUE
|
||||
ELSE
|
||||
*
|
||||
* Use blocked code.
|
||||
*
|
||||
NN = ( ( N-1 ) / NB )*NB + 1
|
||||
DO 50 J = NN, 1, -NB
|
||||
JB = MIN( NB, N-J+1 )
|
||||
*
|
||||
* Copy current block column of L to WORK and replace with
|
||||
* zeros.
|
||||
*
|
||||
DO 40 JJ = J, J + JB - 1
|
||||
DO 30 I = JJ + 1, N
|
||||
WORK( I+( JJ-J )*LDWORK ) = A( I, JJ )
|
||||
A( I, JJ ) = ZERO
|
||||
30 CONTINUE
|
||||
40 CONTINUE
|
||||
*
|
||||
* Compute current block column of inv(A).
|
||||
*
|
||||
IF( J+JB.LE.N )
|
||||
$ CALL DGEMM( 'No transpose', 'No transpose', N, JB,
|
||||
$ N-J-JB+1, -ONE, A( 1, J+JB ), LDA,
|
||||
$ WORK( J+JB ), LDWORK, ONE, A( 1, J ), LDA )
|
||||
CALL DTRSM( 'Right', 'Lower', 'No transpose', 'Unit', N, JB,
|
||||
$ ONE, WORK( J ), LDWORK, A( 1, J ), LDA )
|
||||
50 CONTINUE
|
||||
END IF
|
||||
*
|
||||
* Apply column interchanges.
|
||||
*
|
||||
DO 60 J = N - 1, 1, -1
|
||||
JP = IPIV( J )
|
||||
IF( JP.NE.J )
|
||||
$ CALL DSWAP( N, A( 1, J ), 1, A( 1, JP ), 1 )
|
||||
60 CONTINUE
|
||||
*
|
||||
WORK( 1 ) = IWS
|
||||
RETURN
|
||||
*
|
||||
* End of DGETRI
|
||||
*
|
||||
END
|
|
@ -1,193 +0,0 @@
|
|||
SUBROUTINE SGETRI( N, A, LDA, IPIV, WORK, LWORK, INFO )
|
||||
*
|
||||
* -- LAPACK routine (version 3.0) --
|
||||
* Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd.,
|
||||
* Courant Institute, Argonne National Lab, and Rice University
|
||||
* June 30, 1999
|
||||
*
|
||||
* .. Scalar Arguments ..
|
||||
INTEGER INFO, LDA, LWORK, N
|
||||
* ..
|
||||
* .. Array Arguments ..
|
||||
INTEGER IPIV( * )
|
||||
REAL A( LDA, * ), WORK( * )
|
||||
* ..
|
||||
*
|
||||
* Purpose
|
||||
* =======
|
||||
*
|
||||
* SGETRI computes the inverse of a matrix using the LU factorization
|
||||
* computed by SGETRF.
|
||||
*
|
||||
* This method inverts U and then computes inv(A) by solving the system
|
||||
* inv(A)*L = inv(U) for inv(A).
|
||||
*
|
||||
* Arguments
|
||||
* =========
|
||||
*
|
||||
* N (input) INTEGER
|
||||
* The order of the matrix A. N >= 0.
|
||||
*
|
||||
* A (input/output) REAL array, dimension (LDA,N)
|
||||
* On entry, the factors L and U from the factorization
|
||||
* A = P*L*U as computed by SGETRF.
|
||||
* On exit, if INFO = 0, the inverse of the original matrix A.
|
||||
*
|
||||
* LDA (input) INTEGER
|
||||
* The leading dimension of the array A. LDA >= max(1,N).
|
||||
*
|
||||
* IPIV (input) INTEGER array, dimension (N)
|
||||
* The pivot indices from SGETRF; for 1<=i<=N, row i of the
|
||||
* matrix was interchanged with row IPIV(i).
|
||||
*
|
||||
* WORK (workspace/output) REAL array, dimension (LWORK)
|
||||
* On exit, if INFO=0, then WORK(1) returns the optimal LWORK.
|
||||
*
|
||||
* LWORK (input) INTEGER
|
||||
* The dimension of the array WORK. LWORK >= max(1,N).
|
||||
* For optimal performance LWORK >= N*NB, where NB is
|
||||
* the optimal blocksize returned by ILAENV.
|
||||
*
|
||||
* If LWORK = -1, then a workspace query is assumed; the routine
|
||||
* only calculates the optimal size of the WORK array, returns
|
||||
* this value as the first entry of the WORK array, and no error
|
||||
* message related to LWORK is issued by XERBLA.
|
||||
*
|
||||
* INFO (output) INTEGER
|
||||
* = 0: successful exit
|
||||
* < 0: if INFO = -i, the i-th argument had an illegal value
|
||||
* > 0: if INFO = i, U(i,i) is exactly zero; the matrix is
|
||||
* singular and its inverse could not be computed.
|
||||
*
|
||||
* =====================================================================
|
||||
*
|
||||
* .. Parameters ..
|
||||
REAL ZERO, ONE
|
||||
PARAMETER ( ZERO = 0.0E+0, ONE = 1.0E+0 )
|
||||
* ..
|
||||
* .. Local Scalars ..
|
||||
LOGICAL LQUERY
|
||||
INTEGER I, IWS, J, JB, JJ, JP, LDWORK, LWKOPT, NB,
|
||||
$ NBMIN, NN
|
||||
* ..
|
||||
* .. External Functions ..
|
||||
INTEGER ILAENV
|
||||
EXTERNAL ILAENV
|
||||
* ..
|
||||
* .. External Subroutines ..
|
||||
EXTERNAL SGEMM, SGEMV, SSWAP, STRSM, STRTRI, XERBLA
|
||||
* ..
|
||||
* .. Intrinsic Functions ..
|
||||
INTRINSIC MAX, MIN
|
||||
* ..
|
||||
* .. Executable Statements ..
|
||||
*
|
||||
* Test the input parameters.
|
||||
*
|
||||
INFO = 0
|
||||
NB = ILAENV( 1, 'SGETRI', ' ', N, -1, -1, -1 )
|
||||
LWKOPT = N*NB
|
||||
WORK( 1 ) = LWKOPT
|
||||
LQUERY = ( LWORK.EQ.-1 )
|
||||
IF( N.LT.0 ) THEN
|
||||
INFO = -1
|
||||
ELSE IF( LDA.LT.MAX( 1, N ) ) THEN
|
||||
INFO = -3
|
||||
ELSE IF( LWORK.LT.MAX( 1, N ) .AND. .NOT.LQUERY ) THEN
|
||||
INFO = -6
|
||||
END IF
|
||||
IF( INFO.NE.0 ) THEN
|
||||
CALL XERBLA( 'SGETRI', -INFO )
|
||||
RETURN
|
||||
ELSE IF( LQUERY ) THEN
|
||||
RETURN
|
||||
END IF
|
||||
*
|
||||
* Quick return if possible
|
||||
*
|
||||
IF( N.EQ.0 )
|
||||
$ RETURN
|
||||
*
|
||||
* Form inv(U). If INFO > 0 from STRTRI, then U is singular,
|
||||
* and the inverse is not computed.
|
||||
*
|
||||
CALL STRTRI( 'Upper', 'Non-unit', N, A, LDA, INFO )
|
||||
IF( INFO.GT.0 )
|
||||
$ RETURN
|
||||
*
|
||||
NBMIN = 2
|
||||
LDWORK = N
|
||||
IF( NB.GT.1 .AND. NB.LT.N ) THEN
|
||||
IWS = MAX( LDWORK*NB, 1 )
|
||||
IF( LWORK.LT.IWS ) THEN
|
||||
NB = LWORK / LDWORK
|
||||
NBMIN = MAX( 2, ILAENV( 2, 'SGETRI', ' ', N, -1, -1, -1 ) )
|
||||
END IF
|
||||
ELSE
|
||||
IWS = N
|
||||
END IF
|
||||
*
|
||||
* Solve the equation inv(A)*L = inv(U) for inv(A).
|
||||
*
|
||||
IF( NB.LT.NBMIN .OR. NB.GE.N ) THEN
|
||||
*
|
||||
* Use unblocked code.
|
||||
*
|
||||
DO 20 J = N, 1, -1
|
||||
*
|
||||
* Copy current column of L to WORK and replace with zeros.
|
||||
*
|
||||
DO 10 I = J + 1, N
|
||||
WORK( I ) = A( I, J )
|
||||
A( I, J ) = ZERO
|
||||
10 CONTINUE
|
||||
*
|
||||
* Compute current column of inv(A).
|
||||
*
|
||||
IF( J.LT.N )
|
||||
$ CALL SGEMV( 'No transpose', N, N-J, -ONE, A( 1, J+1 ),
|
||||
$ LDA, WORK( J+1 ), 1, ONE, A( 1, J ), 1 )
|
||||
20 CONTINUE
|
||||
ELSE
|
||||
*
|
||||
* Use blocked code.
|
||||
*
|
||||
NN = ( ( N-1 ) / NB )*NB + 1
|
||||
DO 50 J = NN, 1, -NB
|
||||
JB = MIN( NB, N-J+1 )
|
||||
*
|
||||
* Copy current block column of L to WORK and replace with
|
||||
* zeros.
|
||||
*
|
||||
DO 40 JJ = J, J + JB - 1
|
||||
DO 30 I = JJ + 1, N
|
||||
WORK( I+( JJ-J )*LDWORK ) = A( I, JJ )
|
||||
A( I, JJ ) = ZERO
|
||||
30 CONTINUE
|
||||
40 CONTINUE
|
||||
*
|
||||
* Compute current block column of inv(A).
|
||||
*
|
||||
IF( J+JB.LE.N )
|
||||
$ CALL SGEMM( 'No transpose', 'No transpose', N, JB,
|
||||
$ N-J-JB+1, -ONE, A( 1, J+JB ), LDA,
|
||||
$ WORK( J+JB ), LDWORK, ONE, A( 1, J ), LDA )
|
||||
CALL STRSM( 'Right', 'Lower', 'No transpose', 'Unit', N, JB,
|
||||
$ ONE, WORK( J ), LDWORK, A( 1, J ), LDA )
|
||||
50 CONTINUE
|
||||
END IF
|
||||
*
|
||||
* Apply column interchanges.
|
||||
*
|
||||
DO 60 J = N - 1, 1, -1
|
||||
JP = IPIV( J )
|
||||
IF( JP.NE.J )
|
||||
$ CALL SSWAP( N, A( 1, J ), 1, A( 1, JP ), 1 )
|
||||
60 CONTINUE
|
||||
*
|
||||
WORK( 1 ) = IWS
|
||||
RETURN
|
||||
*
|
||||
* End of SGETRI
|
||||
*
|
||||
END
|
|
@ -1,194 +0,0 @@
|
|||
SUBROUTINE ZGETRI( N, A, LDA, IPIV, WORK, LWORK, INFO )
|
||||
*
|
||||
* -- LAPACK routine (version 3.0) --
|
||||
* Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd.,
|
||||
* Courant Institute, Argonne National Lab, and Rice University
|
||||
* June 30, 1999
|
||||
*
|
||||
* .. Scalar Arguments ..
|
||||
INTEGER INFO, LDA, LWORK, N
|
||||
* ..
|
||||
* .. Array Arguments ..
|
||||
INTEGER IPIV( * )
|
||||
COMPLEX*16 A( LDA, * ), WORK( * )
|
||||
* ..
|
||||
*
|
||||
* Purpose
|
||||
* =======
|
||||
*
|
||||
* ZGETRI computes the inverse of a matrix using the LU factorization
|
||||
* computed by ZGETRF.
|
||||
*
|
||||
* This method inverts U and then computes inv(A) by solving the system
|
||||
* inv(A)*L = inv(U) for inv(A).
|
||||
*
|
||||
* Arguments
|
||||
* =========
|
||||
*
|
||||
* N (input) INTEGER
|
||||
* The order of the matrix A. N >= 0.
|
||||
*
|
||||
* A (input/output) COMPLEX*16 array, dimension (LDA,N)
|
||||
* On entry, the factors L and U from the factorization
|
||||
* A = P*L*U as computed by ZGETRF.
|
||||
* On exit, if INFO = 0, the inverse of the original matrix A.
|
||||
*
|
||||
* LDA (input) INTEGER
|
||||
* The leading dimension of the array A. LDA >= max(1,N).
|
||||
*
|
||||
* IPIV (input) INTEGER array, dimension (N)
|
||||
* The pivot indices from ZGETRF; for 1<=i<=N, row i of the
|
||||
* matrix was interchanged with row IPIV(i).
|
||||
*
|
||||
* WORK (workspace/output) COMPLEX*16 array, dimension (LWORK)
|
||||
* On exit, if INFO=0, then WORK(1) returns the optimal LWORK.
|
||||
*
|
||||
* LWORK (input) INTEGER
|
||||
* The dimension of the array WORK. LWORK >= max(1,N).
|
||||
* For optimal performance LWORK >= N*NB, where NB is
|
||||
* the optimal blocksize returned by ILAENV.
|
||||
*
|
||||
* If LWORK = -1, then a workspace query is assumed; the routine
|
||||
* only calculates the optimal size of the WORK array, returns
|
||||
* this value as the first entry of the WORK array, and no error
|
||||
* message related to LWORK is issued by XERBLA.
|
||||
*
|
||||
* INFO (output) INTEGER
|
||||
* = 0: successful exit
|
||||
* < 0: if INFO = -i, the i-th argument had an illegal value
|
||||
* > 0: if INFO = i, U(i,i) is exactly zero; the matrix is
|
||||
* singular and its inverse could not be computed.
|
||||
*
|
||||
* =====================================================================
|
||||
*
|
||||
* .. Parameters ..
|
||||
COMPLEX*16 ZERO, ONE
|
||||
PARAMETER ( ZERO = ( 0.0D+0, 0.0D+0 ),
|
||||
$ ONE = ( 1.0D+0, 0.0D+0 ) )
|
||||
* ..
|
||||
* .. Local Scalars ..
|
||||
LOGICAL LQUERY
|
||||
INTEGER I, IWS, J, JB, JJ, JP, LDWORK, LWKOPT, NB,
|
||||
$ NBMIN, NN
|
||||
* ..
|
||||
* .. External Functions ..
|
||||
INTEGER ILAENV
|
||||
EXTERNAL ILAENV
|
||||
* ..
|
||||
* .. External Subroutines ..
|
||||
EXTERNAL XERBLA, ZGEMM, ZGEMV, ZSWAP, ZTRSM, ZTRTRI
|
||||
* ..
|
||||
* .. Intrinsic Functions ..
|
||||
INTRINSIC MAX, MIN
|
||||
* ..
|
||||
* .. Executable Statements ..
|
||||
*
|
||||
* Test the input parameters.
|
||||
*
|
||||
INFO = 0
|
||||
NB = ILAENV( 1, 'ZGETRI', ' ', N, -1, -1, -1 )
|
||||
LWKOPT = N*NB
|
||||
WORK( 1 ) = LWKOPT
|
||||
LQUERY = ( LWORK.EQ.-1 )
|
||||
IF( N.LT.0 ) THEN
|
||||
INFO = -1
|
||||
ELSE IF( LDA.LT.MAX( 1, N ) ) THEN
|
||||
INFO = -3
|
||||
ELSE IF( LWORK.LT.MAX( 1, N ) .AND. .NOT.LQUERY ) THEN
|
||||
INFO = -6
|
||||
END IF
|
||||
IF( INFO.NE.0 ) THEN
|
||||
CALL XERBLA( 'ZGETRI', -INFO )
|
||||
RETURN
|
||||
ELSE IF( LQUERY ) THEN
|
||||
RETURN
|
||||
END IF
|
||||
*
|
||||
* Quick return if possible
|
||||
*
|
||||
IF( N.EQ.0 )
|
||||
$ RETURN
|
||||
*
|
||||
* Form inv(U). If INFO > 0 from ZTRTRI, then U is singular,
|
||||
* and the inverse is not computed.
|
||||
*
|
||||
CALL ZTRTRI( 'Upper', 'Non-unit', N, A, LDA, INFO )
|
||||
IF( INFO.GT.0 )
|
||||
$ RETURN
|
||||
*
|
||||
NBMIN = 2
|
||||
LDWORK = N
|
||||
IF( NB.GT.1 .AND. NB.LT.N ) THEN
|
||||
IWS = MAX( LDWORK*NB, 1 )
|
||||
IF( LWORK.LT.IWS ) THEN
|
||||
NB = LWORK / LDWORK
|
||||
NBMIN = MAX( 2, ILAENV( 2, 'ZGETRI', ' ', N, -1, -1, -1 ) )
|
||||
END IF
|
||||
ELSE
|
||||
IWS = N
|
||||
END IF
|
||||
*
|
||||
* Solve the equation inv(A)*L = inv(U) for inv(A).
|
||||
*
|
||||
IF( NB.LT.NBMIN .OR. NB.GE.N ) THEN
|
||||
*
|
||||
* Use unblocked code.
|
||||
*
|
||||
DO 20 J = N, 1, -1
|
||||
*
|
||||
* Copy current column of L to WORK and replace with zeros.
|
||||
*
|
||||
DO 10 I = J + 1, N
|
||||
WORK( I ) = A( I, J )
|
||||
A( I, J ) = ZERO
|
||||
10 CONTINUE
|
||||
*
|
||||
* Compute current column of inv(A).
|
||||
*
|
||||
IF( J.LT.N )
|
||||
$ CALL ZGEMV( 'No transpose', N, N-J, -ONE, A( 1, J+1 ),
|
||||
$ LDA, WORK( J+1 ), 1, ONE, A( 1, J ), 1 )
|
||||
20 CONTINUE
|
||||
ELSE
|
||||
*
|
||||
* Use blocked code.
|
||||
*
|
||||
NN = ( ( N-1 ) / NB )*NB + 1
|
||||
DO 50 J = NN, 1, -NB
|
||||
JB = MIN( NB, N-J+1 )
|
||||
*
|
||||
* Copy current block column of L to WORK and replace with
|
||||
* zeros.
|
||||
*
|
||||
DO 40 JJ = J, J + JB - 1
|
||||
DO 30 I = JJ + 1, N
|
||||
WORK( I+( JJ-J )*LDWORK ) = A( I, JJ )
|
||||
A( I, JJ ) = ZERO
|
||||
30 CONTINUE
|
||||
40 CONTINUE
|
||||
*
|
||||
* Compute current block column of inv(A).
|
||||
*
|
||||
IF( J+JB.LE.N )
|
||||
$ CALL ZGEMM( 'No transpose', 'No transpose', N, JB,
|
||||
$ N-J-JB+1, -ONE, A( 1, J+JB ), LDA,
|
||||
$ WORK( J+JB ), LDWORK, ONE, A( 1, J ), LDA )
|
||||
CALL ZTRSM( 'Right', 'Lower', 'No transpose', 'Unit', N, JB,
|
||||
$ ONE, WORK( J ), LDWORK, A( 1, J ), LDA )
|
||||
50 CONTINUE
|
||||
END IF
|
||||
*
|
||||
* Apply column interchanges.
|
||||
*
|
||||
DO 60 J = N - 1, 1, -1
|
||||
JP = IPIV( J )
|
||||
IF( JP.NE.J )
|
||||
$ CALL ZSWAP( N, A( 1, J ), 1, A( 1, JP ), 1 )
|
||||
60 CONTINUE
|
||||
*
|
||||
WORK( 1 ) = IWS
|
||||
RETURN
|
||||
*
|
||||
* End of ZGETRI
|
||||
*
|
||||
END
|
|
@ -1,190 +1,113 @@
|
|||
/*********************************************************************/
|
||||
/* Copyright 2009, 2010 The University of Texas at Austin. */
|
||||
/* All rights reserved. */
|
||||
/* */
|
||||
/* Redistribution and use in source and binary forms, with or */
|
||||
/* without modification, are permitted provided that the following */
|
||||
/* conditions are met: */
|
||||
/* */
|
||||
/* 1. Redistributions of source code must retain the above */
|
||||
/* copyright notice, this list of conditions and the following */
|
||||
/* disclaimer. */
|
||||
/* */
|
||||
/* 2. 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. */
|
||||
/* */
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY OF TEXAS AT */
|
||||
/* AUSTIN ``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 UNIVERSITY OF TEXAS AT */
|
||||
/* AUSTIN 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. */
|
||||
/* */
|
||||
/* The views and conclusions contained in the software and */
|
||||
/* documentation are those of the authors and should not be */
|
||||
/* interpreted as representing official policies, either expressed */
|
||||
/* or implied, of The University of Texas at Austin. */
|
||||
/*********************************************************************/
|
||||
/***************************************************************************
|
||||
* Copyright (c) 2013, The OpenBLAS Project
|
||||
* All rights reserved.
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are
|
||||
* met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. 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.
|
||||
* 3. Neither the name of the OpenBLAS project 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 OPENBLAS PROJECT 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.
|
||||
* *****************************************************************************/
|
||||
|
||||
/**************************************************************************************
|
||||
* 2014/05/22 Saar
|
||||
* TEST double precision unblocked : OK
|
||||
* 2014/05/23 Saar
|
||||
* TEST double precision blocked: OK
|
||||
* TEST single precision blocked: OK
|
||||
**************************************************************************************/
|
||||
|
||||
#include <stdio.h>
|
||||
#include "common.h"
|
||||
|
||||
static FLOAT dp1 = 1.;
|
||||
static FLOAT dm1 = -1.;
|
||||
// static FLOAT dp1 = 1.;
|
||||
// static FLOAT dm1 = -1.;
|
||||
|
||||
|
||||
#ifdef UNIT
|
||||
#define TRTI2 TRTI2_LU
|
||||
#define TRTI2 TRTI2_LU
|
||||
#define TRMM TRMM_LNLU
|
||||
#define TRSM TRSM_RNLU
|
||||
#else
|
||||
#define TRTI2 TRTI2_LN
|
||||
#define TRTI2 TRTI2_LN
|
||||
#define TRMM TRMM_LNLN
|
||||
#define TRSM TRSM_RNLN
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
#undef GEMM_P
|
||||
#undef GEMM_Q
|
||||
#undef GEMM_R
|
||||
|
||||
#define GEMM_P 8
|
||||
#define GEMM_Q 20
|
||||
#define GEMM_R 64
|
||||
#endif
|
||||
|
||||
#define GEMM_PQ MAX(GEMM_P, GEMM_Q)
|
||||
#define REAL_GEMM_R (GEMM_R - 2 * GEMM_PQ)
|
||||
|
||||
blasint CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, FLOAT *sb, BLASLONG myid) {
|
||||
|
||||
BLASLONG n, lda;
|
||||
BLASLONG j, n, lda;
|
||||
FLOAT *a;
|
||||
|
||||
BLASLONG i, is, min_i, start_i;
|
||||
BLASLONG ls, min_l;
|
||||
BLASLONG bk;
|
||||
BLASLONG blocking;
|
||||
BLASLONG range_N[2];
|
||||
// BLASLONG info=0;
|
||||
BLASLONG jb;
|
||||
BLASLONG NB;
|
||||
BLASLONG start_j;
|
||||
|
||||
FLOAT *sa_trsm = (FLOAT *)((BLASLONG)sb);
|
||||
FLOAT *sa_trmm = (FLOAT *)((((BLASLONG)sb
|
||||
+ GEMM_PQ * GEMM_Q * COMPSIZE * SIZE + GEMM_ALIGN) & ~GEMM_ALIGN)
|
||||
+ GEMM_OFFSET_A);
|
||||
FLOAT *sb_gemm = (FLOAT *)((((BLASLONG)sa_trmm
|
||||
+ GEMM_PQ * GEMM_Q * COMPSIZE * SIZE + GEMM_ALIGN) & ~GEMM_ALIGN)
|
||||
+ GEMM_OFFSET_B);
|
||||
FLOAT beta_plus[2] = { ONE, ZERO};
|
||||
FLOAT beta_minus[2] = {-ONE, ZERO};
|
||||
|
||||
n = args -> n;
|
||||
a = (FLOAT *)args -> a;
|
||||
lda = args -> lda;
|
||||
|
||||
if (range_n) {
|
||||
n = range_n[1] - range_n[0];
|
||||
a += range_n[0] * (lda + 1) * COMPSIZE;
|
||||
}
|
||||
NB = GEMM_Q;
|
||||
|
||||
if (n <= DTB_ENTRIES) {
|
||||
if (n < NB) {
|
||||
TRTI2(args, NULL, range_n, sa, sb, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
blocking = GEMM_Q;
|
||||
if (n <= 4 * GEMM_Q) blocking = (n + 3) / 4;
|
||||
|
||||
start_i = 0;
|
||||
while (start_i < n) start_i += blocking;
|
||||
start_i -= blocking;
|
||||
lda = args -> lda;
|
||||
a = (FLOAT *) args -> a;
|
||||
args -> ldb = lda;
|
||||
args -> ldc = lda;
|
||||
args -> alpha = NULL;
|
||||
|
||||
for (i = start_i; i >= 0; i -= blocking) {
|
||||
bk = MIN(blocking, n - i);
|
||||
|
||||
if (n - bk - i > 0) TRSM_OLNCOPY(bk, bk, a + (i + i * lda) * COMPSIZE, lda, 0, sa_trsm);
|
||||
|
||||
if (!range_n) {
|
||||
range_N[0] = i;
|
||||
range_N[1] = i + bk;
|
||||
} else {
|
||||
range_N[0] = range_n[0] + i;
|
||||
range_N[1] = range_n[0] + i + bk;
|
||||
}
|
||||
start_j = 0;
|
||||
while (start_j < n) start_j += NB;
|
||||
start_j -= NB;
|
||||
|
||||
CNAME(args, NULL, range_N, sa, sa_trmm, 0);
|
||||
|
||||
if (i > 0) {
|
||||
TRMM_ILTCOPY(bk, bk, a + (i + i * lda) * COMPSIZE, lda, 0, 0, sa_trmm);
|
||||
for (j = start_j ; j >=0 ; j-= NB)
|
||||
{
|
||||
jb = n - j;
|
||||
if ( jb > NB ) jb = NB;
|
||||
|
||||
for (ls = 0; ls < i; ls += REAL_GEMM_R) {
|
||||
min_l = i - ls;
|
||||
if (min_l > REAL_GEMM_R) min_l = REAL_GEMM_R;
|
||||
|
||||
GEMM_ONCOPY (bk, min_l, a + (i + ls * lda) * COMPSIZE, lda, sb_gemm);
|
||||
|
||||
if (n - bk - i > 0) {
|
||||
for (is = i + bk; is < n; is += GEMM_P) {
|
||||
min_i = n - is;
|
||||
if (min_i > GEMM_P) min_i = GEMM_P;
|
||||
|
||||
if (ls == 0) {
|
||||
NEG_TCOPY (bk, min_i, a + (is + i * lda) * COMPSIZE, lda, sa);
|
||||
args -> n = jb;
|
||||
args -> m = n-j-jb;
|
||||
|
||||
TRSM_KERNEL_RT(min_i, bk, bk, dm1,
|
||||
#ifdef COMPLEX
|
||||
ZERO,
|
||||
#endif
|
||||
sa, sa_trsm,
|
||||
a + (is + i * lda) * COMPSIZE, lda, 0);
|
||||
} else {
|
||||
GEMM_ITCOPY (bk, min_i, a + (is + i * lda) * COMPSIZE, lda, sa);
|
||||
}
|
||||
args -> a = &a[(j+jb+(j+jb)*lda) * COMPSIZE];
|
||||
args -> b = &a[(j+jb+j*lda) * COMPSIZE];
|
||||
args -> beta = beta_plus;
|
||||
|
||||
GEMM_KERNEL_N(min_i, min_l, bk, dp1,
|
||||
#ifdef COMPLEX
|
||||
ZERO,
|
||||
#endif
|
||||
sa, sb_gemm,
|
||||
a + (is + ls * lda) * COMPSIZE, lda);
|
||||
}
|
||||
}
|
||||
|
||||
for (is = 0; is < bk; is += GEMM_P) {
|
||||
min_i = bk - is;
|
||||
if (min_i > GEMM_P) min_i = GEMM_P;
|
||||
|
||||
TRMM_KERNEL_LT(min_i, min_l, bk, dp1,
|
||||
#ifdef COMPLEX
|
||||
ZERO,
|
||||
#endif
|
||||
sa_trmm + is * bk * COMPSIZE, sb_gemm,
|
||||
a + (i + is + ls * lda) * COMPSIZE, lda, is);
|
||||
}
|
||||
}
|
||||
TRMM(args, NULL, NULL, sa, sb, 0);
|
||||
|
||||
} else {
|
||||
args -> a = &a[(j+j*lda) * COMPSIZE];
|
||||
args -> beta = beta_minus;
|
||||
|
||||
TRSM(args, NULL, NULL, sa, sb, 0);
|
||||
|
||||
args -> a = &a[(j+j*lda) * COMPSIZE];
|
||||
|
||||
TRTI2(args, NULL, range_n, sa, sb, 0);
|
||||
|
||||
if (n - bk - i > 0) {
|
||||
for (is = 0; is < n - bk - i; is += GEMM_P) {
|
||||
min_i = n - bk - i - is;
|
||||
if (min_i > GEMM_P) min_i = GEMM_P;
|
||||
|
||||
NEG_TCOPY (bk, min_i, a + (i + bk + is + i * lda) * COMPSIZE, lda, sa);
|
||||
|
||||
TRSM_KERNEL_RT(min_i, bk, bk, dm1,
|
||||
#ifdef COMPLEX
|
||||
ZERO,
|
||||
#endif
|
||||
sa, sa_trsm,
|
||||
a + (i + bk + is + i * lda) * COMPSIZE, lda, 0);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -1,46 +1,44 @@
|
|||
/*********************************************************************/
|
||||
/* Copyright 2009, 2010 The University of Texas at Austin. */
|
||||
/* All rights reserved. */
|
||||
/* */
|
||||
/* Redistribution and use in source and binary forms, with or */
|
||||
/* without modification, are permitted provided that the following */
|
||||
/* conditions are met: */
|
||||
/* */
|
||||
/* 1. Redistributions of source code must retain the above */
|
||||
/* copyright notice, this list of conditions and the following */
|
||||
/* disclaimer. */
|
||||
/* */
|
||||
/* 2. 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. */
|
||||
/* */
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY OF TEXAS AT */
|
||||
/* AUSTIN ``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 UNIVERSITY OF TEXAS AT */
|
||||
/* AUSTIN 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. */
|
||||
/* */
|
||||
/* The views and conclusions contained in the software and */
|
||||
/* documentation are those of the authors and should not be */
|
||||
/* interpreted as representing official policies, either expressed */
|
||||
/* or implied, of The University of Texas at Austin. */
|
||||
/*********************************************************************/
|
||||
/***************************************************************************
|
||||
* Copyright (c) 2013, The OpenBLAS Project
|
||||
* All rights reserved.
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are
|
||||
* met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. 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.
|
||||
* 3. Neither the name of the OpenBLAS project 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 OPENBLAS PROJECT 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.
|
||||
* *****************************************************************************/
|
||||
|
||||
/**************************************************************************************
|
||||
* 2014/05/22 Saar
|
||||
* TEST double precision unblocked : OK
|
||||
* TEST double precision blocked : OK
|
||||
* 2014/05/23
|
||||
* TEST single precision blocked : OK
|
||||
*
|
||||
**************************************************************************************/
|
||||
|
||||
#include <stdio.h>
|
||||
#include "common.h"
|
||||
|
||||
static FLOAT dp1 = 1.;
|
||||
static FLOAT dm1 = -1.;
|
||||
// static FLOAT dp1 = 1.;
|
||||
// static FLOAT dm1 = -1.;
|
||||
|
||||
#ifdef UNIT
|
||||
#define TRTI2 TRTI2_UU
|
||||
|
@ -48,152 +46,66 @@ static FLOAT dm1 = -1.;
|
|||
#define TRTI2 TRTI2_UN
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
#undef GEMM_P
|
||||
#undef GEMM_Q
|
||||
#undef GEMM_R
|
||||
|
||||
#define GEMM_P 8
|
||||
#define GEMM_Q 20
|
||||
#define GEMM_R 64
|
||||
#ifdef UNIT
|
||||
#define TRMM TRMM_LNUU
|
||||
#define TRSM TRSM_RNUU
|
||||
#else
|
||||
#define TRMM TRMM_LNUN
|
||||
#define TRSM TRSM_RNUN
|
||||
#endif
|
||||
|
||||
#define GEMM_PQ MAX(GEMM_P, GEMM_Q)
|
||||
#define REAL_GEMM_R (GEMM_R - 2 * GEMM_PQ)
|
||||
|
||||
blasint CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, FLOAT *sb, BLASLONG myid) {
|
||||
|
||||
BLASLONG n, lda;
|
||||
BLASLONG j, n, lda;
|
||||
FLOAT *a;
|
||||
|
||||
BLASLONG i, is, min_i, start_is;
|
||||
BLASLONG ls, min_l;
|
||||
BLASLONG bk;
|
||||
BLASLONG blocking;
|
||||
BLASLONG range_N[2];
|
||||
// BLASLONG info=0;
|
||||
BLASLONG jb;
|
||||
BLASLONG NB;
|
||||
|
||||
FLOAT *sa_trsm = (FLOAT *)((BLASLONG)sb);
|
||||
FLOAT *sa_trmm = (FLOAT *)((((BLASLONG)sb
|
||||
+ GEMM_PQ * GEMM_Q * COMPSIZE * SIZE + GEMM_ALIGN) & ~GEMM_ALIGN)
|
||||
+ GEMM_OFFSET_A);
|
||||
FLOAT *sb_gemm = (FLOAT *)((((BLASLONG)sa_trmm
|
||||
+ GEMM_PQ * GEMM_Q * COMPSIZE * SIZE + GEMM_ALIGN) & ~GEMM_ALIGN)
|
||||
+ GEMM_OFFSET_B);
|
||||
FLOAT beta_plus[2] = { ONE, ZERO};
|
||||
FLOAT beta_minus[2] = {-ONE, ZERO};
|
||||
|
||||
n = args -> n;
|
||||
a = (FLOAT *)args -> a;
|
||||
lda = args -> lda;
|
||||
|
||||
if (range_n) {
|
||||
n = range_n[1] - range_n[0];
|
||||
a += range_n[0] * (lda + 1) * COMPSIZE;
|
||||
}
|
||||
NB = GEMM_Q;
|
||||
|
||||
if (n <= DTB_ENTRIES) {
|
||||
if (n <= NB) {
|
||||
TRTI2(args, NULL, range_n, sa, sb, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
blocking = GEMM_Q;
|
||||
if (n <= 4 * GEMM_Q) blocking = (n + 3) / 4;
|
||||
|
||||
for (i = 0; i < n; i += blocking) {
|
||||
bk = MIN(blocking, n - i);
|
||||
|
||||
if (i > 0) TRSM_OUNCOPY(bk, bk, a + (i + i * lda) * COMPSIZE, lda, 0, sa_trsm);
|
||||
lda = args -> lda;
|
||||
a = (FLOAT *) args -> a;
|
||||
args -> ldb = lda;
|
||||
args -> ldc = lda;
|
||||
args -> alpha = NULL;
|
||||
|
||||
if (!range_n) {
|
||||
range_N[0] = i;
|
||||
range_N[1] = i + bk;
|
||||
} else {
|
||||
range_N[0] = range_n[0] + i;
|
||||
range_N[1] = range_n[0] + i + bk;
|
||||
}
|
||||
for (j = 0; j < n; j += NB)
|
||||
{
|
||||
jb = n - j;
|
||||
if ( jb > NB ) jb = NB;
|
||||
|
||||
CNAME(args, NULL, range_N, sa, sa_trmm, 0);
|
||||
args -> n = jb;
|
||||
args -> m = j;
|
||||
|
||||
if (n -bk - i > 0) {
|
||||
TRMM_IUTCOPY(bk, bk, a + (i + i * lda) * COMPSIZE, lda, 0, 0, sa_trmm);
|
||||
args -> a = &a[0];
|
||||
args -> b = &a[(j*lda) * COMPSIZE];
|
||||
args -> beta = beta_plus;
|
||||
|
||||
for (ls = i + bk; ls < n; ls += REAL_GEMM_R) {
|
||||
min_l = n - ls;
|
||||
if (min_l > REAL_GEMM_R) min_l = REAL_GEMM_R;
|
||||
|
||||
GEMM_ONCOPY (bk, min_l, a + (i + ls * lda) * COMPSIZE, lda, sb_gemm);
|
||||
|
||||
if (i > 0) {
|
||||
for (is = 0; is < i; is += GEMM_P) {
|
||||
min_i = i - is;
|
||||
if (min_i > GEMM_P) min_i = GEMM_P;
|
||||
|
||||
if (ls == i + bk) {
|
||||
//NEG_TCOPY (bk, min_i, a + (is + i * lda) * COMPSIZE, lda, sa);
|
||||
TRMM(args, NULL, NULL, sa, sb, 0);
|
||||
|
||||
GEMM_BETA(min_i, bk, 0, dm1,
|
||||
#ifdef COMPLEX
|
||||
ZERO,
|
||||
#endif
|
||||
NULL, 0, NULL, 0, a + (is + i * lda) * COMPSIZE, lda);
|
||||
args -> a = &a[(j+j*lda) * COMPSIZE];
|
||||
args -> beta = beta_minus;
|
||||
|
||||
TRSM_KERNEL_RN(min_i, bk, bk, dm1,
|
||||
#ifdef COMPLEX
|
||||
ZERO,
|
||||
#endif
|
||||
sa, sa_trsm,
|
||||
a + (is + i * lda) * COMPSIZE, lda, 0);
|
||||
} else {
|
||||
GEMM_ITCOPY (bk, min_i, a + (is + i * lda) * COMPSIZE, lda, sa);
|
||||
}
|
||||
|
||||
GEMM_KERNEL_N(min_i, min_l, bk, dp1,
|
||||
#ifdef COMPLEX
|
||||
ZERO,
|
||||
#endif
|
||||
sa, sb_gemm,
|
||||
a + (is + ls * lda) * COMPSIZE, lda);
|
||||
}
|
||||
}
|
||||
|
||||
start_is = 0;
|
||||
while (start_is < bk) start_is += GEMM_P;
|
||||
start_is -= GEMM_P;
|
||||
TRSM(args, NULL, NULL, sa, sb, 0);
|
||||
|
||||
for (is = 0; is < bk; is += GEMM_P) {
|
||||
min_i = bk - is;
|
||||
if (min_i > GEMM_P) min_i = GEMM_P;
|
||||
|
||||
TRMM_KERNEL_LN(min_i, min_l, bk, dp1,
|
||||
#ifdef COMPLEX
|
||||
ZERO,
|
||||
#endif
|
||||
sa_trmm + is * bk * COMPSIZE, sb_gemm,
|
||||
a + (i + is + ls * lda) * COMPSIZE, lda, is);
|
||||
}
|
||||
}
|
||||
args -> a = &a[(j+j*lda) * COMPSIZE];
|
||||
|
||||
} else {
|
||||
if (i > 0) {
|
||||
for (is = 0; is < i; is += GEMM_P) {
|
||||
min_i = i - is;
|
||||
if (min_i > GEMM_P) min_i = GEMM_P;
|
||||
|
||||
//NEG_TCOPY (bk, min_i, a + (is + i * lda) * COMPSIZE, lda, sa);
|
||||
GEMM_BETA(min_i, bk, 0, dm1,
|
||||
#ifdef COMPLEX
|
||||
ZERO,
|
||||
#endif
|
||||
NULL, 0, NULL, 0, a + (is + i * lda) * COMPSIZE, lda);
|
||||
TRTI2(args, NULL, range_n, sa, sb, 0);
|
||||
|
||||
TRSM_KERNEL_RN(min_i, bk, bk, dm1,
|
||||
#ifdef COMPLEX
|
||||
ZERO,
|
||||
#endif
|
||||
sa, sa_trsm,
|
||||
a + (is + i * lda) * COMPSIZE, lda, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
8
make.inc
8
make.inc
|
@ -1,11 +1,7 @@
|
|||
SHELL = /bin/sh
|
||||
PLAT = _LINUX
|
||||
DRVOPTS = $(OPTS)
|
||||
LOADER = $(FORTRAN)
|
||||
TIMER = NONE
|
||||
LOADER = $(FORTRAN) -pthread
|
||||
ARCHFLAGS= -ru
|
||||
#RANLIB = ranlib
|
||||
BLASLIB =
|
||||
TMGLIB = tmglib.a
|
||||
EIGSRCLIB = eigsrc.a
|
||||
LINSRCLIB = linsrc.a
|
||||
|
||||
|
|
52
param.h
52
param.h
|
@ -1032,14 +1032,14 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||
#define XGEMM_DEFAULT_UNROLL_N 1
|
||||
#else
|
||||
#define SGEMM_DEFAULT_UNROLL_M 4
|
||||
#define DGEMM_DEFAULT_UNROLL_M 2
|
||||
#define DGEMM_DEFAULT_UNROLL_M 4
|
||||
#define QGEMM_DEFAULT_UNROLL_M 2
|
||||
#define CGEMM_DEFAULT_UNROLL_M 2
|
||||
#define ZGEMM_DEFAULT_UNROLL_M 1
|
||||
#define XGEMM_DEFAULT_UNROLL_M 1
|
||||
|
||||
#define SGEMM_DEFAULT_UNROLL_N 8
|
||||
#define DGEMM_DEFAULT_UNROLL_N 8
|
||||
#define DGEMM_DEFAULT_UNROLL_N 4
|
||||
#define QGEMM_DEFAULT_UNROLL_N 2
|
||||
#define CGEMM_DEFAULT_UNROLL_N 4
|
||||
#define ZGEMM_DEFAULT_UNROLL_N 4
|
||||
|
@ -1104,10 +1104,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||
#define ZGEMM_DEFAULT_UNROLL_N 2
|
||||
#define XGEMM_DEFAULT_UNROLL_N 1
|
||||
#else
|
||||
#define SGEMM_DEFAULT_UNROLL_M 8
|
||||
#define SGEMM_DEFAULT_UNROLL_M 4
|
||||
#define DGEMM_DEFAULT_UNROLL_M 8
|
||||
#define QGEMM_DEFAULT_UNROLL_M 2
|
||||
#define CGEMM_DEFAULT_UNROLL_M 8
|
||||
#define CGEMM_DEFAULT_UNROLL_M 2
|
||||
#define ZGEMM_DEFAULT_UNROLL_M 4
|
||||
#define XGEMM_DEFAULT_UNROLL_M 1
|
||||
|
||||
|
@ -1228,7 +1228,11 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||
#define ZGEMM_DEFAULT_P 256
|
||||
|
||||
#define SGEMM_DEFAULT_Q 384
|
||||
#ifdef WINDOWS_ABI
|
||||
#define DGEMM_DEFAULT_Q 128
|
||||
#else
|
||||
#define DGEMM_DEFAULT_Q 256
|
||||
#endif
|
||||
#define CGEMM_DEFAULT_Q 192
|
||||
#define ZGEMM_DEFAULT_Q 128
|
||||
|
||||
|
@ -2017,6 +2021,46 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||
#endif
|
||||
|
||||
|
||||
#if defined(ARMV5)
|
||||
#define SNUMOPT 2
|
||||
#define DNUMOPT 2
|
||||
|
||||
#define GEMM_DEFAULT_OFFSET_A 0
|
||||
#define GEMM_DEFAULT_OFFSET_B 0
|
||||
#define GEMM_DEFAULT_ALIGN 0x03fffUL
|
||||
|
||||
#define SGEMM_DEFAULT_UNROLL_M 2
|
||||
#define SGEMM_DEFAULT_UNROLL_N 2
|
||||
|
||||
#define DGEMM_DEFAULT_UNROLL_M 2
|
||||
#define DGEMM_DEFAULT_UNROLL_N 2
|
||||
|
||||
#define CGEMM_DEFAULT_UNROLL_M 2
|
||||
#define CGEMM_DEFAULT_UNROLL_N 2
|
||||
|
||||
#define ZGEMM_DEFAULT_UNROLL_M 2
|
||||
#define ZGEMM_DEFAULT_UNROLL_N 2
|
||||
|
||||
#define SGEMM_DEFAULT_P 128
|
||||
#define DGEMM_DEFAULT_P 128
|
||||
#define CGEMM_DEFAULT_P 96
|
||||
#define ZGEMM_DEFAULT_P 64
|
||||
|
||||
#define SGEMM_DEFAULT_Q 240
|
||||
#define DGEMM_DEFAULT_Q 120
|
||||
#define CGEMM_DEFAULT_Q 120
|
||||
#define ZGEMM_DEFAULT_Q 120
|
||||
|
||||
#define SGEMM_DEFAULT_R 12288
|
||||
#define DGEMM_DEFAULT_R 8192
|
||||
#define CGEMM_DEFAULT_R 4096
|
||||
#define ZGEMM_DEFAULT_R 4096
|
||||
|
||||
|
||||
#define SYMV_P 16
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef GENERIC
|
||||
|
|
|
@ -1,684 +0,0 @@
|
|||
diff -ruN lapack-3.1.1.old/INSTALL/Makefile lapack-3.1.1/INSTALL/Makefile
|
||||
--- lapack-3.1.1.old/INSTALL/Makefile 2007-02-23 14:07:35.000000000 -0600
|
||||
+++ lapack-3.1.1/INSTALL/Makefile 2009-12-16 14:40:35.000000000 -0600
|
||||
@@ -27,7 +27,7 @@
|
||||
$(LOADER) $(LOADOPTS) -o testversion ilaver.o LAPACK_version.o
|
||||
|
||||
clean:
|
||||
- rm -f *.o
|
||||
+ rm -f *.o test*
|
||||
|
||||
slamch.o: slamch.f ; $(FORTRAN) $(NOOPT) -c $< -o $@
|
||||
dlamch.o: dlamch.f ; $(FORTRAN) $(NOOPT) -c $< -o $@
|
||||
diff -ruN lapack-3.1.1.old/Makefile lapack-3.1.1/Makefile
|
||||
--- lapack-3.1.1.old/Makefile 2007-02-22 15:55:00.000000000 -0600
|
||||
+++ lapack-3.1.1/Makefile 2009-12-16 14:40:35.000000000 -0600
|
||||
@@ -20,9 +20,12 @@
|
||||
blaslib:
|
||||
( cd BLAS/SRC; $(MAKE) )
|
||||
|
||||
-lapacklib: lapack_install
|
||||
+lapacklib:
|
||||
( cd SRC; $(MAKE) )
|
||||
|
||||
+lapack_prof:
|
||||
+ ( cd SRC; $(MAKE) lapack_prof)
|
||||
+
|
||||
tmglib:
|
||||
( cd TESTING/MATGEN; $(MAKE) )
|
||||
|
||||
diff -ruN lapack-3.1.1.old/SRC/Makefile lapack-3.1.1/SRC/Makefile
|
||||
--- lapack-3.1.1.old/SRC/Makefile 2007-02-23 15:33:05.000000000 -0600
|
||||
+++ lapack-3.1.1/SRC/Makefile 2009-12-16 14:41:09.000000000 -0600
|
||||
@@ -38,265 +38,273 @@
|
||||
#
|
||||
#######################################################################
|
||||
|
||||
-ALLAUX = ilaenv.o ieeeck.o lsamen.o xerbla.o iparmq.o \
|
||||
- ../INSTALL/ilaver.o ../INSTALL/lsame.o
|
||||
+ALLAUX = ilaenv.$(SUFFIX) ieeeck.$(SUFFIX) lsamen.$(SUFFIX) iparmq.$(SUFFIX) \
|
||||
+ ../INSTALL/ilaver.$(SUFFIX)
|
||||
|
||||
SCLAUX = \
|
||||
- sbdsdc.o \
|
||||
- sbdsqr.o sdisna.o slabad.o slacpy.o sladiv.o slae2.o slaebz.o \
|
||||
- slaed0.o slaed1.o slaed2.o slaed3.o slaed4.o slaed5.o slaed6.o \
|
||||
- slaed7.o slaed8.o slaed9.o slaeda.o slaev2.o slagtf.o \
|
||||
- slagts.o slamrg.o slanst.o \
|
||||
- slapy2.o slapy3.o slarnv.o \
|
||||
- slarra.o slarrb.o slarrc.o slarrd.o slarre.o slarrf.o slarrj.o \
|
||||
- slarrk.o slarrr.o slaneg.o \
|
||||
- slartg.o slaruv.o slas2.o slascl.o \
|
||||
- slasd0.o slasd1.o slasd2.o slasd3.o slasd4.o slasd5.o slasd6.o \
|
||||
- slasd7.o slasd8.o slasda.o slasdq.o slasdt.o \
|
||||
- slaset.o slasq1.o slasq2.o slasq3.o slazq3.o slasq4.o slazq4.o slasq5.o slasq6.o \
|
||||
- slasr.o slasrt.o slassq.o slasv2.o spttrf.o sstebz.o sstedc.o \
|
||||
- ssteqr.o ssterf.o slaisnan.o sisnan.o \
|
||||
- ../INSTALL/slamch.o ../INSTALL/second_$(TIMER).o
|
||||
+ sbdsdc.$(SUFFIX) \
|
||||
+ sbdsqr.$(SUFFIX) sdisna.$(SUFFIX) slabad.$(SUFFIX) slacpy.$(SUFFIX) sladiv.$(SUFFIX) slae2.$(SUFFIX) slaebz.$(SUFFIX) \
|
||||
+ slaed0.$(SUFFIX) slaed1.$(SUFFIX) slaed2.$(SUFFIX) slaed3.$(SUFFIX) slaed4.$(SUFFIX) slaed5.$(SUFFIX) slaed6.$(SUFFIX) \
|
||||
+ slaed7.$(SUFFIX) slaed8.$(SUFFIX) slaed9.$(SUFFIX) slaeda.$(SUFFIX) slaev2.$(SUFFIX) slagtf.$(SUFFIX) \
|
||||
+ slagts.$(SUFFIX) slamrg.$(SUFFIX) slanst.$(SUFFIX) \
|
||||
+ slapy2.$(SUFFIX) slapy3.$(SUFFIX) slarnv.$(SUFFIX) \
|
||||
+ slarra.$(SUFFIX) slarrb.$(SUFFIX) slarrc.$(SUFFIX) slarrd.$(SUFFIX) slarre.$(SUFFIX) slarrf.$(SUFFIX) slarrj.$(SUFFIX) \
|
||||
+ slarrk.$(SUFFIX) slarrr.$(SUFFIX) slaneg.$(SUFFIX) \
|
||||
+ slartg.$(SUFFIX) slaruv.$(SUFFIX) slas2.$(SUFFIX) slascl.$(SUFFIX) \
|
||||
+ slasd0.$(SUFFIX) slasd1.$(SUFFIX) slasd2.$(SUFFIX) slasd3.$(SUFFIX) slasd4.$(SUFFIX) slasd5.$(SUFFIX) slasd6.$(SUFFIX) \
|
||||
+ slasd7.$(SUFFIX) slasd8.$(SUFFIX) slasda.$(SUFFIX) slasdq.$(SUFFIX) slasdt.$(SUFFIX) \
|
||||
+ slaset.$(SUFFIX) slasq1.$(SUFFIX) slasq2.$(SUFFIX) slasq3.$(SUFFIX) slazq3.$(SUFFIX) slasq4.$(SUFFIX) slazq4.$(SUFFIX) slasq5.$(SUFFIX) slasq6.$(SUFFIX) \
|
||||
+ slasr.$(SUFFIX) slasrt.$(SUFFIX) slassq.$(SUFFIX) slasv2.$(SUFFIX) spttrf.$(SUFFIX) sstebz.$(SUFFIX) sstedc.$(SUFFIX) \
|
||||
+ ssteqr.$(SUFFIX) ssterf.$(SUFFIX) slaisnan.$(SUFFIX) sisnan.$(SUFFIX) \
|
||||
+ ../INSTALL/second_$(TIMER).$(SUFFIX)
|
||||
|
||||
DZLAUX = \
|
||||
- dbdsdc.o \
|
||||
- dbdsqr.o ddisna.o dlabad.o dlacpy.o dladiv.o dlae2.o dlaebz.o \
|
||||
- dlaed0.o dlaed1.o dlaed2.o dlaed3.o dlaed4.o dlaed5.o dlaed6.o \
|
||||
- dlaed7.o dlaed8.o dlaed9.o dlaeda.o dlaev2.o dlagtf.o \
|
||||
- dlagts.o dlamrg.o dlanst.o \
|
||||
- dlapy2.o dlapy3.o dlarnv.o \
|
||||
- dlarra.o dlarrb.o dlarrc.o dlarrd.o dlarre.o dlarrf.o dlarrj.o \
|
||||
- dlarrk.o dlarrr.o dlaneg.o \
|
||||
- dlartg.o dlaruv.o dlas2.o dlascl.o \
|
||||
- dlasd0.o dlasd1.o dlasd2.o dlasd3.o dlasd4.o dlasd5.o dlasd6.o \
|
||||
- dlasd7.o dlasd8.o dlasda.o dlasdq.o dlasdt.o \
|
||||
- dlaset.o dlasq1.o dlasq2.o dlasq3.o dlazq3.o dlasq4.o dlazq4.o dlasq5.o dlasq6.o \
|
||||
- dlasr.o dlasrt.o dlassq.o dlasv2.o dpttrf.o dstebz.o dstedc.o \
|
||||
- dsteqr.o dsterf.o dlaisnan.o disnan.o \
|
||||
- ../INSTALL/dlamch.o ../INSTALL/dsecnd_$(TIMER).o
|
||||
+ dbdsdc.$(SUFFIX) \
|
||||
+ dbdsqr.$(SUFFIX) ddisna.$(SUFFIX) dlabad.$(SUFFIX) dlacpy.$(SUFFIX) dladiv.$(SUFFIX) dlae2.$(SUFFIX) dlaebz.$(SUFFIX) \
|
||||
+ dlaed0.$(SUFFIX) dlaed1.$(SUFFIX) dlaed2.$(SUFFIX) dlaed3.$(SUFFIX) dlaed4.$(SUFFIX) dlaed5.$(SUFFIX) dlaed6.$(SUFFIX) \
|
||||
+ dlaed7.$(SUFFIX) dlaed8.$(SUFFIX) dlaed9.$(SUFFIX) dlaeda.$(SUFFIX) dlaev2.$(SUFFIX) dlagtf.$(SUFFIX) \
|
||||
+ dlagts.$(SUFFIX) dlamrg.$(SUFFIX) dlanst.$(SUFFIX) \
|
||||
+ dlapy2.$(SUFFIX) dlapy3.$(SUFFIX) dlarnv.$(SUFFIX) \
|
||||
+ dlarra.$(SUFFIX) dlarrb.$(SUFFIX) dlarrc.$(SUFFIX) dlarrd.$(SUFFIX) dlarre.$(SUFFIX) dlarrf.$(SUFFIX) dlarrj.$(SUFFIX) \
|
||||
+ dlarrk.$(SUFFIX) dlarrr.$(SUFFIX) dlaneg.$(SUFFIX) \
|
||||
+ dlartg.$(SUFFIX) dlaruv.$(SUFFIX) dlas2.$(SUFFIX) dlascl.$(SUFFIX) \
|
||||
+ dlasd0.$(SUFFIX) dlasd1.$(SUFFIX) dlasd2.$(SUFFIX) dlasd3.$(SUFFIX) dlasd4.$(SUFFIX) dlasd5.$(SUFFIX) dlasd6.$(SUFFIX) \
|
||||
+ dlasd7.$(SUFFIX) dlasd8.$(SUFFIX) dlasda.$(SUFFIX) dlasdq.$(SUFFIX) dlasdt.$(SUFFIX) \
|
||||
+ dlaset.$(SUFFIX) dlasq1.$(SUFFIX) dlasq2.$(SUFFIX) dlasq3.$(SUFFIX) dlazq3.$(SUFFIX) dlasq4.$(SUFFIX) dlazq4.$(SUFFIX) dlasq5.$(SUFFIX) dlasq6.$(SUFFIX) \
|
||||
+ dlasr.$(SUFFIX) dlasrt.$(SUFFIX) dlassq.$(SUFFIX) dlasv2.$(SUFFIX) dpttrf.$(SUFFIX) dstebz.$(SUFFIX) dstedc.$(SUFFIX) \
|
||||
+ dsteqr.$(SUFFIX) dsterf.$(SUFFIX) dlaisnan.$(SUFFIX) disnan.$(SUFFIX) \
|
||||
+ ../INSTALL/dsecnd_$(TIMER).$(SUFFIX)
|
||||
|
||||
SLASRC = \
|
||||
- sgbbrd.o sgbcon.o sgbequ.o sgbrfs.o sgbsv.o \
|
||||
- sgbsvx.o sgbtf2.o sgbtrf.o sgbtrs.o sgebak.o sgebal.o sgebd2.o \
|
||||
- sgebrd.o sgecon.o sgeequ.o sgees.o sgeesx.o sgeev.o sgeevx.o \
|
||||
- sgegs.o sgegv.o sgehd2.o sgehrd.o sgelq2.o sgelqf.o \
|
||||
- sgels.o sgelsd.o sgelss.o sgelsx.o sgelsy.o sgeql2.o sgeqlf.o \
|
||||
- sgeqp3.o sgeqpf.o sgeqr2.o sgeqrf.o sgerfs.o sgerq2.o sgerqf.o \
|
||||
- sgesc2.o sgesdd.o sgesv.o sgesvd.o sgesvx.o sgetc2.o sgetf2.o \
|
||||
- sgetrf.o sgetri.o \
|
||||
- sgetrs.o sggbak.o sggbal.o sgges.o sggesx.o sggev.o sggevx.o \
|
||||
- sggglm.o sgghrd.o sgglse.o sggqrf.o \
|
||||
- sggrqf.o sggsvd.o sggsvp.o sgtcon.o sgtrfs.o sgtsv.o \
|
||||
- sgtsvx.o sgttrf.o sgttrs.o sgtts2.o shgeqz.o \
|
||||
- shsein.o shseqr.o slabrd.o slacon.o slacn2.o \
|
||||
- slaein.o slaexc.o slag2.o slags2.o slagtm.o slagv2.o slahqr.o \
|
||||
- slahrd.o slahr2.o slaic1.o slaln2.o slals0.o slalsa.o slalsd.o \
|
||||
- slangb.o slange.o slangt.o slanhs.o slansb.o slansp.o \
|
||||
- slansy.o slantb.o slantp.o slantr.o slanv2.o \
|
||||
- slapll.o slapmt.o \
|
||||
- slaqgb.o slaqge.o slaqp2.o slaqps.o slaqsb.o slaqsp.o slaqsy.o \
|
||||
- slaqr0.o slaqr1.o slaqr2.o slaqr3.o slaqr4.o slaqr5.o \
|
||||
- slaqtr.o slar1v.o slar2v.o \
|
||||
- slarf.o slarfb.o slarfg.o slarft.o slarfx.o slargv.o \
|
||||
- slarrv.o slartv.o \
|
||||
- slarz.o slarzb.o slarzt.o slaswp.o slasy2.o slasyf.o \
|
||||
- slatbs.o slatdf.o slatps.o slatrd.o slatrs.o slatrz.o slatzm.o \
|
||||
- slauu2.o slauum.o sopgtr.o sopmtr.o sorg2l.o sorg2r.o \
|
||||
- sorgbr.o sorghr.o sorgl2.o sorglq.o sorgql.o sorgqr.o sorgr2.o \
|
||||
- sorgrq.o sorgtr.o sorm2l.o sorm2r.o \
|
||||
- sormbr.o sormhr.o sorml2.o sormlq.o sormql.o sormqr.o sormr2.o \
|
||||
- sormr3.o sormrq.o sormrz.o sormtr.o spbcon.o spbequ.o spbrfs.o \
|
||||
- spbstf.o spbsv.o spbsvx.o \
|
||||
- spbtf2.o spbtrf.o spbtrs.o spocon.o spoequ.o sporfs.o sposv.o \
|
||||
- sposvx.o spotf2.o spotrf.o spotri.o spotrs.o sppcon.o sppequ.o \
|
||||
- spprfs.o sppsv.o sppsvx.o spptrf.o spptri.o spptrs.o sptcon.o \
|
||||
- spteqr.o sptrfs.o sptsv.o sptsvx.o spttrs.o sptts2.o srscl.o \
|
||||
- ssbev.o ssbevd.o ssbevx.o ssbgst.o ssbgv.o ssbgvd.o ssbgvx.o \
|
||||
- ssbtrd.o sspcon.o sspev.o sspevd.o sspevx.o sspgst.o \
|
||||
- sspgv.o sspgvd.o sspgvx.o ssprfs.o sspsv.o sspsvx.o ssptrd.o \
|
||||
- ssptrf.o ssptri.o ssptrs.o sstegr.o sstein.o sstev.o sstevd.o sstevr.o \
|
||||
- sstevx.o ssycon.o ssyev.o ssyevd.o ssyevr.o ssyevx.o ssygs2.o \
|
||||
- ssygst.o ssygv.o ssygvd.o ssygvx.o ssyrfs.o ssysv.o ssysvx.o \
|
||||
- ssytd2.o ssytf2.o ssytrd.o ssytrf.o ssytri.o ssytrs.o stbcon.o \
|
||||
- stbrfs.o stbtrs.o stgevc.o stgex2.o stgexc.o stgsen.o \
|
||||
- stgsja.o stgsna.o stgsy2.o stgsyl.o stpcon.o stprfs.o stptri.o \
|
||||
- stptrs.o \
|
||||
- strcon.o strevc.o strexc.o strrfs.o strsen.o strsna.o strsyl.o \
|
||||
- strti2.o strtri.o strtrs.o stzrqf.o stzrzf.o sstemr.o
|
||||
+ sgbbrd.$(SUFFIX) sgbcon.$(SUFFIX) sgbequ.$(SUFFIX) sgbrfs.$(SUFFIX) sgbsv.$(SUFFIX) \
|
||||
+ sgbsvx.$(SUFFIX) sgbtf2.$(SUFFIX) sgbtrf.$(SUFFIX) sgbtrs.$(SUFFIX) sgebak.$(SUFFIX) sgebal.$(SUFFIX) sgebd2.$(SUFFIX) \
|
||||
+ sgebrd.$(SUFFIX) sgecon.$(SUFFIX) sgeequ.$(SUFFIX) sgees.$(SUFFIX) sgeesx.$(SUFFIX) sgeev.$(SUFFIX) sgeevx.$(SUFFIX) \
|
||||
+ sgegs.$(SUFFIX) sgegv.$(SUFFIX) sgehd2.$(SUFFIX) sgehrd.$(SUFFIX) sgelq2.$(SUFFIX) sgelqf.$(SUFFIX) \
|
||||
+ sgels.$(SUFFIX) sgelsd.$(SUFFIX) sgelss.$(SUFFIX) sgelsx.$(SUFFIX) sgelsy.$(SUFFIX) sgeql2.$(SUFFIX) sgeqlf.$(SUFFIX) \
|
||||
+ sgeqp3.$(SUFFIX) sgeqpf.$(SUFFIX) sgeqr2.$(SUFFIX) sgeqrf.$(SUFFIX) sgerfs.$(SUFFIX) sgerq2.$(SUFFIX) sgerqf.$(SUFFIX) \
|
||||
+ sgesc2.$(SUFFIX) sgesdd.$(SUFFIX) sgesvd.$(SUFFIX) sgesvx.$(SUFFIX) sgetc2.$(SUFFIX) \
|
||||
+ sgetri.$(SUFFIX) \
|
||||
+ sggbak.$(SUFFIX) sggbal.$(SUFFIX) sgges.$(SUFFIX) sggesx.$(SUFFIX) sggev.$(SUFFIX) sggevx.$(SUFFIX) \
|
||||
+ sggglm.$(SUFFIX) sgghrd.$(SUFFIX) sgglse.$(SUFFIX) sggqrf.$(SUFFIX) \
|
||||
+ sggrqf.$(SUFFIX) sggsvd.$(SUFFIX) sggsvp.$(SUFFIX) sgtcon.$(SUFFIX) sgtrfs.$(SUFFIX) sgtsv.$(SUFFIX) \
|
||||
+ sgtsvx.$(SUFFIX) sgttrf.$(SUFFIX) sgttrs.$(SUFFIX) sgtts2.$(SUFFIX) shgeqz.$(SUFFIX) \
|
||||
+ shsein.$(SUFFIX) shseqr.$(SUFFIX) slabrd.$(SUFFIX) slacon.$(SUFFIX) slacn2.$(SUFFIX) \
|
||||
+ slaein.$(SUFFIX) slaexc.$(SUFFIX) slag2.$(SUFFIX) slags2.$(SUFFIX) slagtm.$(SUFFIX) slagv2.$(SUFFIX) slahqr.$(SUFFIX) \
|
||||
+ slahrd.$(SUFFIX) slahr2.$(SUFFIX) slaic1.$(SUFFIX) slaln2.$(SUFFIX) slals0.$(SUFFIX) slalsa.$(SUFFIX) slalsd.$(SUFFIX) \
|
||||
+ slangb.$(SUFFIX) slange.$(SUFFIX) slangt.$(SUFFIX) slanhs.$(SUFFIX) slansb.$(SUFFIX) slansp.$(SUFFIX) \
|
||||
+ slansy.$(SUFFIX) slantb.$(SUFFIX) slantp.$(SUFFIX) slantr.$(SUFFIX) slanv2.$(SUFFIX) \
|
||||
+ slapll.$(SUFFIX) slapmt.$(SUFFIX) \
|
||||
+ slaqgb.$(SUFFIX) slaqge.$(SUFFIX) slaqp2.$(SUFFIX) slaqps.$(SUFFIX) slaqsb.$(SUFFIX) slaqsp.$(SUFFIX) slaqsy.$(SUFFIX) \
|
||||
+ slaqr0.$(SUFFIX) slaqr1.$(SUFFIX) slaqr2.$(SUFFIX) slaqr3.$(SUFFIX) slaqr4.$(SUFFIX) slaqr5.$(SUFFIX) \
|
||||
+ slaqtr.$(SUFFIX) slar1v.$(SUFFIX) slar2v.$(SUFFIX) \
|
||||
+ slarf.$(SUFFIX) slarfb.$(SUFFIX) slarfg.$(SUFFIX) slarft.$(SUFFIX) slarfx.$(SUFFIX) slargv.$(SUFFIX) \
|
||||
+ slarrv.$(SUFFIX) slartv.$(SUFFIX) \
|
||||
+ slarz.$(SUFFIX) slarzb.$(SUFFIX) slarzt.$(SUFFIX) slasy2.$(SUFFIX) slasyf.$(SUFFIX) \
|
||||
+ slatbs.$(SUFFIX) slatdf.$(SUFFIX) slatps.$(SUFFIX) slatrd.$(SUFFIX) slatrs.$(SUFFIX) slatrz.$(SUFFIX) slatzm.$(SUFFIX) \
|
||||
+ sopgtr.$(SUFFIX) sopmtr.$(SUFFIX) sorg2l.$(SUFFIX) sorg2r.$(SUFFIX) \
|
||||
+ sorgbr.$(SUFFIX) sorghr.$(SUFFIX) sorgl2.$(SUFFIX) sorglq.$(SUFFIX) sorgql.$(SUFFIX) sorgqr.$(SUFFIX) sorgr2.$(SUFFIX) \
|
||||
+ sorgrq.$(SUFFIX) sorgtr.$(SUFFIX) sorm2l.$(SUFFIX) sorm2r.$(SUFFIX) \
|
||||
+ sormbr.$(SUFFIX) sormhr.$(SUFFIX) sorml2.$(SUFFIX) sormlq.$(SUFFIX) sormql.$(SUFFIX) sormqr.$(SUFFIX) sormr2.$(SUFFIX) \
|
||||
+ sormr3.$(SUFFIX) sormrq.$(SUFFIX) sormrz.$(SUFFIX) sormtr.$(SUFFIX) spbcon.$(SUFFIX) spbequ.$(SUFFIX) spbrfs.$(SUFFIX) \
|
||||
+ spbstf.$(SUFFIX) spbsv.$(SUFFIX) spbsvx.$(SUFFIX) \
|
||||
+ spbtf2.$(SUFFIX) spbtrf.$(SUFFIX) spbtrs.$(SUFFIX) spocon.$(SUFFIX) spoequ.$(SUFFIX) sporfs.$(SUFFIX) sposv.$(SUFFIX) \
|
||||
+ sposvx.$(SUFFIX) spotrs.$(SUFFIX) sppcon.$(SUFFIX) sppequ.$(SUFFIX) \
|
||||
+ spprfs.$(SUFFIX) sppsv.$(SUFFIX) sppsvx.$(SUFFIX) spptrf.$(SUFFIX) spptri.$(SUFFIX) spptrs.$(SUFFIX) sptcon.$(SUFFIX) \
|
||||
+ spteqr.$(SUFFIX) sptrfs.$(SUFFIX) sptsv.$(SUFFIX) sptsvx.$(SUFFIX) spttrs.$(SUFFIX) sptts2.$(SUFFIX) srscl.$(SUFFIX) \
|
||||
+ ssbev.$(SUFFIX) ssbevd.$(SUFFIX) ssbevx.$(SUFFIX) ssbgst.$(SUFFIX) ssbgv.$(SUFFIX) ssbgvd.$(SUFFIX) ssbgvx.$(SUFFIX) \
|
||||
+ ssbtrd.$(SUFFIX) sspcon.$(SUFFIX) sspev.$(SUFFIX) sspevd.$(SUFFIX) sspevx.$(SUFFIX) sspgst.$(SUFFIX) \
|
||||
+ sspgv.$(SUFFIX) sspgvd.$(SUFFIX) sspgvx.$(SUFFIX) ssprfs.$(SUFFIX) sspsv.$(SUFFIX) sspsvx.$(SUFFIX) ssptrd.$(SUFFIX) \
|
||||
+ ssptrf.$(SUFFIX) ssptri.$(SUFFIX) ssptrs.$(SUFFIX) sstegr.$(SUFFIX) sstein.$(SUFFIX) sstev.$(SUFFIX) sstevd.$(SUFFIX) sstevr.$(SUFFIX) \
|
||||
+ sstevx.$(SUFFIX) ssycon.$(SUFFIX) ssyev.$(SUFFIX) ssyevd.$(SUFFIX) ssyevr.$(SUFFIX) ssyevx.$(SUFFIX) ssygs2.$(SUFFIX) \
|
||||
+ ssygst.$(SUFFIX) ssygv.$(SUFFIX) ssygvd.$(SUFFIX) ssygvx.$(SUFFIX) ssyrfs.$(SUFFIX) ssysv.$(SUFFIX) ssysvx.$(SUFFIX) \
|
||||
+ ssytd2.$(SUFFIX) ssytf2.$(SUFFIX) ssytrd.$(SUFFIX) ssytrf.$(SUFFIX) ssytri.$(SUFFIX) ssytrs.$(SUFFIX) stbcon.$(SUFFIX) \
|
||||
+ stbrfs.$(SUFFIX) stbtrs.$(SUFFIX) stgevc.$(SUFFIX) stgex2.$(SUFFIX) stgexc.$(SUFFIX) stgsen.$(SUFFIX) \
|
||||
+ stgsja.$(SUFFIX) stgsna.$(SUFFIX) stgsy2.$(SUFFIX) stgsyl.$(SUFFIX) stpcon.$(SUFFIX) stprfs.$(SUFFIX) stptri.$(SUFFIX) \
|
||||
+ stptrs.$(SUFFIX) \
|
||||
+ strcon.$(SUFFIX) strevc.$(SUFFIX) strexc.$(SUFFIX) strrfs.$(SUFFIX) strsen.$(SUFFIX) strsna.$(SUFFIX) strsyl.$(SUFFIX) \
|
||||
+ strtrs.$(SUFFIX) stzrqf.$(SUFFIX) stzrzf.$(SUFFIX) sstemr.$(SUFFIX)
|
||||
|
||||
CLASRC = \
|
||||
- cbdsqr.o cgbbrd.o cgbcon.o cgbequ.o cgbrfs.o cgbsv.o cgbsvx.o \
|
||||
- cgbtf2.o cgbtrf.o cgbtrs.o cgebak.o cgebal.o cgebd2.o cgebrd.o \
|
||||
- cgecon.o cgeequ.o cgees.o cgeesx.o cgeev.o cgeevx.o \
|
||||
- cgegs.o cgegv.o cgehd2.o cgehrd.o cgelq2.o cgelqf.o \
|
||||
- cgels.o cgelsd.o cgelss.o cgelsx.o cgelsy.o cgeql2.o cgeqlf.o cgeqp3.o \
|
||||
- cgeqpf.o cgeqr2.o cgeqrf.o cgerfs.o cgerq2.o cgerqf.o \
|
||||
- cgesc2.o cgesdd.o cgesv.o cgesvd.o cgesvx.o cgetc2.o cgetf2.o cgetrf.o \
|
||||
- cgetri.o cgetrs.o \
|
||||
- cggbak.o cggbal.o cgges.o cggesx.o cggev.o cggevx.o cggglm.o \
|
||||
- cgghrd.o cgglse.o cggqrf.o cggrqf.o \
|
||||
- cggsvd.o cggsvp.o \
|
||||
- cgtcon.o cgtrfs.o cgtsv.o cgtsvx.o cgttrf.o cgttrs.o cgtts2.o chbev.o \
|
||||
- chbevd.o chbevx.o chbgst.o chbgv.o chbgvd.o chbgvx.o chbtrd.o \
|
||||
- checon.o cheev.o cheevd.o cheevr.o cheevx.o chegs2.o chegst.o \
|
||||
- chegv.o chegvd.o chegvx.o cherfs.o chesv.o chesvx.o chetd2.o \
|
||||
- chetf2.o chetrd.o \
|
||||
- chetrf.o chetri.o chetrs.o chgeqz.o chpcon.o chpev.o chpevd.o \
|
||||
- chpevx.o chpgst.o chpgv.o chpgvd.o chpgvx.o chprfs.o chpsv.o \
|
||||
- chpsvx.o \
|
||||
- chptrd.o chptrf.o chptri.o chptrs.o chsein.o chseqr.o clabrd.o \
|
||||
- clacgv.o clacon.o clacn2.o clacp2.o clacpy.o clacrm.o clacrt.o cladiv.o \
|
||||
- claed0.o claed7.o claed8.o \
|
||||
- claein.o claesy.o claev2.o clags2.o clagtm.o \
|
||||
- clahef.o clahqr.o \
|
||||
- clahrd.o clahr2.o claic1.o clals0.o clalsa.o clalsd.o clangb.o clange.o clangt.o \
|
||||
- clanhb.o clanhe.o \
|
||||
- clanhp.o clanhs.o clanht.o clansb.o clansp.o clansy.o clantb.o \
|
||||
- clantp.o clantr.o clapll.o clapmt.o clarcm.o claqgb.o claqge.o \
|
||||
- claqhb.o claqhe.o claqhp.o claqp2.o claqps.o claqsb.o \
|
||||
- claqr0.o claqr1.o claqr2.o claqr3.o claqr4.o claqr5.o \
|
||||
- claqsp.o claqsy.o clar1v.o clar2v.o clarf.o clarfb.o clarfg.o clarft.o \
|
||||
- clarfx.o clargv.o clarnv.o clarrv.o clartg.o clartv.o \
|
||||
- clarz.o clarzb.o clarzt.o clascl.o claset.o clasr.o classq.o \
|
||||
- claswp.o clasyf.o clatbs.o clatdf.o clatps.o clatrd.o clatrs.o clatrz.o \
|
||||
- clatzm.o clauu2.o clauum.o cpbcon.o cpbequ.o cpbrfs.o cpbstf.o cpbsv.o \
|
||||
- cpbsvx.o cpbtf2.o cpbtrf.o cpbtrs.o cpocon.o cpoequ.o cporfs.o \
|
||||
- cposv.o cposvx.o cpotf2.o cpotrf.o cpotri.o cpotrs.o cppcon.o \
|
||||
- cppequ.o cpprfs.o cppsv.o cppsvx.o cpptrf.o cpptri.o cpptrs.o \
|
||||
- cptcon.o cpteqr.o cptrfs.o cptsv.o cptsvx.o cpttrf.o cpttrs.o cptts2.o \
|
||||
- crot.o cspcon.o cspmv.o cspr.o csprfs.o cspsv.o \
|
||||
- cspsvx.o csptrf.o csptri.o csptrs.o csrscl.o cstedc.o \
|
||||
- cstegr.o cstein.o csteqr.o csycon.o csymv.o \
|
||||
- csyr.o csyrfs.o csysv.o csysvx.o csytf2.o csytrf.o csytri.o \
|
||||
- csytrs.o ctbcon.o ctbrfs.o ctbtrs.o ctgevc.o ctgex2.o \
|
||||
- ctgexc.o ctgsen.o ctgsja.o ctgsna.o ctgsy2.o ctgsyl.o ctpcon.o \
|
||||
- ctprfs.o ctptri.o \
|
||||
- ctptrs.o ctrcon.o ctrevc.o ctrexc.o ctrrfs.o ctrsen.o ctrsna.o \
|
||||
- ctrsyl.o ctrti2.o ctrtri.o ctrtrs.o ctzrqf.o ctzrzf.o cung2l.o cung2r.o \
|
||||
- cungbr.o cunghr.o cungl2.o cunglq.o cungql.o cungqr.o cungr2.o \
|
||||
- cungrq.o cungtr.o cunm2l.o cunm2r.o cunmbr.o cunmhr.o cunml2.o \
|
||||
- cunmlq.o cunmql.o cunmqr.o cunmr2.o cunmr3.o cunmrq.o cunmrz.o \
|
||||
- cunmtr.o cupgtr.o cupmtr.o icmax1.o scsum1.o cstemr.o
|
||||
+ cbdsqr.$(SUFFIX) cgbbrd.$(SUFFIX) cgbcon.$(SUFFIX) cgbequ.$(SUFFIX) cgbrfs.$(SUFFIX) cgbsv.$(SUFFIX) cgbsvx.$(SUFFIX) \
|
||||
+ cgbtf2.$(SUFFIX) cgbtrf.$(SUFFIX) cgbtrs.$(SUFFIX) cgebak.$(SUFFIX) cgebal.$(SUFFIX) cgebd2.$(SUFFIX) cgebrd.$(SUFFIX) \
|
||||
+ cgecon.$(SUFFIX) cgeequ.$(SUFFIX) cgees.$(SUFFIX) cgeesx.$(SUFFIX) cgeev.$(SUFFIX) cgeevx.$(SUFFIX) \
|
||||
+ cgegs.$(SUFFIX) cgegv.$(SUFFIX) cgehd2.$(SUFFIX) cgehrd.$(SUFFIX) cgelq2.$(SUFFIX) cgelqf.$(SUFFIX) \
|
||||
+ cgels.$(SUFFIX) cgelsd.$(SUFFIX) cgelss.$(SUFFIX) cgelsx.$(SUFFIX) cgelsy.$(SUFFIX) cgeql2.$(SUFFIX) cgeqlf.$(SUFFIX) cgeqp3.$(SUFFIX) \
|
||||
+ cgeqpf.$(SUFFIX) cgeqr2.$(SUFFIX) cgeqrf.$(SUFFIX) cgerfs.$(SUFFIX) cgerq2.$(SUFFIX) cgerqf.$(SUFFIX) \
|
||||
+ cgesc2.$(SUFFIX) cgesdd.$(SUFFIX) cgesvd.$(SUFFIX) cgesvx.$(SUFFIX) cgetc2.$(SUFFIX) \
|
||||
+ cgetri.$(SUFFIX) \
|
||||
+ cggbak.$(SUFFIX) cggbal.$(SUFFIX) cgges.$(SUFFIX) cggesx.$(SUFFIX) cggev.$(SUFFIX) cggevx.$(SUFFIX) cggglm.$(SUFFIX) \
|
||||
+ cgghrd.$(SUFFIX) cgglse.$(SUFFIX) cggqrf.$(SUFFIX) cggrqf.$(SUFFIX) \
|
||||
+ cggsvd.$(SUFFIX) cggsvp.$(SUFFIX) \
|
||||
+ cgtcon.$(SUFFIX) cgtrfs.$(SUFFIX) cgtsv.$(SUFFIX) cgtsvx.$(SUFFIX) cgttrf.$(SUFFIX) cgttrs.$(SUFFIX) cgtts2.$(SUFFIX) chbev.$(SUFFIX) \
|
||||
+ chbevd.$(SUFFIX) chbevx.$(SUFFIX) chbgst.$(SUFFIX) chbgv.$(SUFFIX) chbgvd.$(SUFFIX) chbgvx.$(SUFFIX) chbtrd.$(SUFFIX) \
|
||||
+ checon.$(SUFFIX) cheev.$(SUFFIX) cheevd.$(SUFFIX) cheevr.$(SUFFIX) cheevx.$(SUFFIX) chegs2.$(SUFFIX) chegst.$(SUFFIX) \
|
||||
+ chegv.$(SUFFIX) chegvd.$(SUFFIX) chegvx.$(SUFFIX) cherfs.$(SUFFIX) chesv.$(SUFFIX) chesvx.$(SUFFIX) chetd2.$(SUFFIX) \
|
||||
+ chetf2.$(SUFFIX) chetrd.$(SUFFIX) \
|
||||
+ chetrf.$(SUFFIX) chetri.$(SUFFIX) chetrs.$(SUFFIX) chgeqz.$(SUFFIX) chpcon.$(SUFFIX) chpev.$(SUFFIX) chpevd.$(SUFFIX) \
|
||||
+ chpevx.$(SUFFIX) chpgst.$(SUFFIX) chpgv.$(SUFFIX) chpgvd.$(SUFFIX) chpgvx.$(SUFFIX) chprfs.$(SUFFIX) chpsv.$(SUFFIX) \
|
||||
+ chpsvx.$(SUFFIX) \
|
||||
+ chptrd.$(SUFFIX) chptrf.$(SUFFIX) chptri.$(SUFFIX) chptrs.$(SUFFIX) chsein.$(SUFFIX) chseqr.$(SUFFIX) clabrd.$(SUFFIX) \
|
||||
+ clacgv.$(SUFFIX) clacon.$(SUFFIX) clacn2.$(SUFFIX) clacp2.$(SUFFIX) clacpy.$(SUFFIX) clacrm.$(SUFFIX) clacrt.$(SUFFIX) cladiv.$(SUFFIX) \
|
||||
+ claed0.$(SUFFIX) claed7.$(SUFFIX) claed8.$(SUFFIX) \
|
||||
+ claein.$(SUFFIX) claesy.$(SUFFIX) claev2.$(SUFFIX) clags2.$(SUFFIX) clagtm.$(SUFFIX) \
|
||||
+ clahef.$(SUFFIX) clahqr.$(SUFFIX) \
|
||||
+ clahrd.$(SUFFIX) clahr2.$(SUFFIX) claic1.$(SUFFIX) clals0.$(SUFFIX) clalsa.$(SUFFIX) clalsd.$(SUFFIX) clangb.$(SUFFIX) clange.$(SUFFIX) clangt.$(SUFFIX) \
|
||||
+ clanhb.$(SUFFIX) clanhe.$(SUFFIX) \
|
||||
+ clanhp.$(SUFFIX) clanhs.$(SUFFIX) clanht.$(SUFFIX) clansb.$(SUFFIX) clansp.$(SUFFIX) clansy.$(SUFFIX) clantb.$(SUFFIX) \
|
||||
+ clantp.$(SUFFIX) clantr.$(SUFFIX) clapll.$(SUFFIX) clapmt.$(SUFFIX) clarcm.$(SUFFIX) claqgb.$(SUFFIX) claqge.$(SUFFIX) \
|
||||
+ claqhb.$(SUFFIX) claqhe.$(SUFFIX) claqhp.$(SUFFIX) claqp2.$(SUFFIX) claqps.$(SUFFIX) claqsb.$(SUFFIX) \
|
||||
+ claqr0.$(SUFFIX) claqr1.$(SUFFIX) claqr2.$(SUFFIX) claqr3.$(SUFFIX) claqr4.$(SUFFIX) claqr5.$(SUFFIX) \
|
||||
+ claqsp.$(SUFFIX) claqsy.$(SUFFIX) clar1v.$(SUFFIX) clar2v.$(SUFFIX) clarf.$(SUFFIX) clarfb.$(SUFFIX) clarfg.$(SUFFIX) clarft.$(SUFFIX) \
|
||||
+ clarfx.$(SUFFIX) clargv.$(SUFFIX) clarnv.$(SUFFIX) clarrv.$(SUFFIX) clartg.$(SUFFIX) clartv.$(SUFFIX) \
|
||||
+ clarz.$(SUFFIX) clarzb.$(SUFFIX) clarzt.$(SUFFIX) clascl.$(SUFFIX) claset.$(SUFFIX) clasr.$(SUFFIX) classq.$(SUFFIX) \
|
||||
+ clasyf.$(SUFFIX) clatbs.$(SUFFIX) clatdf.$(SUFFIX) clatps.$(SUFFIX) clatrd.$(SUFFIX) clatrs.$(SUFFIX) clatrz.$(SUFFIX) \
|
||||
+ clatzm.$(SUFFIX) cpbcon.$(SUFFIX) cpbequ.$(SUFFIX) cpbrfs.$(SUFFIX) cpbstf.$(SUFFIX) cpbsv.$(SUFFIX) \
|
||||
+ cpbsvx.$(SUFFIX) cpbtf2.$(SUFFIX) cpbtrf.$(SUFFIX) cpbtrs.$(SUFFIX) cpocon.$(SUFFIX) cpoequ.$(SUFFIX) cporfs.$(SUFFIX) \
|
||||
+ cposv.$(SUFFIX) cposvx.$(SUFFIX) cpotrs.$(SUFFIX) cppcon.$(SUFFIX) \
|
||||
+ cppequ.$(SUFFIX) cpprfs.$(SUFFIX) cppsv.$(SUFFIX) cppsvx.$(SUFFIX) cpptrf.$(SUFFIX) cpptri.$(SUFFIX) cpptrs.$(SUFFIX) \
|
||||
+ cptcon.$(SUFFIX) cpteqr.$(SUFFIX) cptrfs.$(SUFFIX) cptsv.$(SUFFIX) cptsvx.$(SUFFIX) cpttrf.$(SUFFIX) cpttrs.$(SUFFIX) cptts2.$(SUFFIX) \
|
||||
+ crot.$(SUFFIX) cspcon.$(SUFFIX) csprfs.$(SUFFIX) cspsv.$(SUFFIX) \
|
||||
+ cspsvx.$(SUFFIX) csptrf.$(SUFFIX) csptri.$(SUFFIX) csptrs.$(SUFFIX) csrscl.$(SUFFIX) cstedc.$(SUFFIX) \
|
||||
+ cstegr.$(SUFFIX) cstein.$(SUFFIX) csteqr.$(SUFFIX) csycon.$(SUFFIX) \
|
||||
+ csyrfs.$(SUFFIX) csysv.$(SUFFIX) csysvx.$(SUFFIX) csytf2.$(SUFFIX) csytrf.$(SUFFIX) csytri.$(SUFFIX) \
|
||||
+ csytrs.$(SUFFIX) ctbcon.$(SUFFIX) ctbrfs.$(SUFFIX) ctbtrs.$(SUFFIX) ctgevc.$(SUFFIX) ctgex2.$(SUFFIX) \
|
||||
+ ctgexc.$(SUFFIX) ctgsen.$(SUFFIX) ctgsja.$(SUFFIX) ctgsna.$(SUFFIX) ctgsy2.$(SUFFIX) ctgsyl.$(SUFFIX) ctpcon.$(SUFFIX) \
|
||||
+ ctprfs.$(SUFFIX) ctptri.$(SUFFIX) \
|
||||
+ ctptrs.$(SUFFIX) ctrcon.$(SUFFIX) ctrevc.$(SUFFIX) ctrexc.$(SUFFIX) ctrrfs.$(SUFFIX) ctrsen.$(SUFFIX) ctrsna.$(SUFFIX) \
|
||||
+ ctrsyl.$(SUFFIX) ctrtrs.$(SUFFIX) ctzrqf.$(SUFFIX) ctzrzf.$(SUFFIX) cung2l.$(SUFFIX) cung2r.$(SUFFIX) \
|
||||
+ cungbr.$(SUFFIX) cunghr.$(SUFFIX) cungl2.$(SUFFIX) cunglq.$(SUFFIX) cungql.$(SUFFIX) cungqr.$(SUFFIX) cungr2.$(SUFFIX) \
|
||||
+ cungrq.$(SUFFIX) cungtr.$(SUFFIX) cunm2l.$(SUFFIX) cunm2r.$(SUFFIX) cunmbr.$(SUFFIX) cunmhr.$(SUFFIX) cunml2.$(SUFFIX) \
|
||||
+ cunmlq.$(SUFFIX) cunmql.$(SUFFIX) cunmqr.$(SUFFIX) cunmr2.$(SUFFIX) cunmr3.$(SUFFIX) cunmrq.$(SUFFIX) cunmrz.$(SUFFIX) \
|
||||
+ cunmtr.$(SUFFIX) cupgtr.$(SUFFIX) cupmtr.$(SUFFIX) icmax1.$(SUFFIX) scsum1.$(SUFFIX) cstemr.$(SUFFIX)
|
||||
|
||||
DLASRC = \
|
||||
- dgbbrd.o dgbcon.o dgbequ.o dgbrfs.o dgbsv.o \
|
||||
- dgbsvx.o dgbtf2.o dgbtrf.o dgbtrs.o dgebak.o dgebal.o dgebd2.o \
|
||||
- dgebrd.o dgecon.o dgeequ.o dgees.o dgeesx.o dgeev.o dgeevx.o \
|
||||
- dgegs.o dgegv.o dgehd2.o dgehrd.o dgelq2.o dgelqf.o \
|
||||
- dgels.o dgelsd.o dgelss.o dgelsx.o dgelsy.o dgeql2.o dgeqlf.o \
|
||||
- dgeqp3.o dgeqpf.o dgeqr2.o dgeqrf.o dgerfs.o dgerq2.o dgerqf.o \
|
||||
- dgesc2.o dgesdd.o dgesv.o dgesvd.o dgesvx.o dgetc2.o dgetf2.o \
|
||||
- dgetrf.o dgetri.o \
|
||||
- dgetrs.o dggbak.o dggbal.o dgges.o dggesx.o dggev.o dggevx.o \
|
||||
- dggglm.o dgghrd.o dgglse.o dggqrf.o \
|
||||
- dggrqf.o dggsvd.o dggsvp.o dgtcon.o dgtrfs.o dgtsv.o \
|
||||
- dgtsvx.o dgttrf.o dgttrs.o dgtts2.o dhgeqz.o \
|
||||
- dhsein.o dhseqr.o dlabrd.o dlacon.o dlacn2.o \
|
||||
- dlaein.o dlaexc.o dlag2.o dlags2.o dlagtm.o dlagv2.o dlahqr.o \
|
||||
- dlahrd.o dlahr2.o dlaic1.o dlaln2.o dlals0.o dlalsa.o dlalsd.o \
|
||||
- dlangb.o dlange.o dlangt.o dlanhs.o dlansb.o dlansp.o \
|
||||
- dlansy.o dlantb.o dlantp.o dlantr.o dlanv2.o \
|
||||
- dlapll.o dlapmt.o \
|
||||
- dlaqgb.o dlaqge.o dlaqp2.o dlaqps.o dlaqsb.o dlaqsp.o dlaqsy.o \
|
||||
- dlaqr0.o dlaqr1.o dlaqr2.o dlaqr3.o dlaqr4.o dlaqr5.o \
|
||||
- dlaqtr.o dlar1v.o dlar2v.o \
|
||||
- dlarf.o dlarfb.o dlarfg.o dlarft.o dlarfx.o dlargv.o \
|
||||
- dlarrv.o dlartv.o \
|
||||
- dlarz.o dlarzb.o dlarzt.o dlaswp.o dlasy2.o dlasyf.o \
|
||||
- dlatbs.o dlatdf.o dlatps.o dlatrd.o dlatrs.o dlatrz.o dlatzm.o dlauu2.o \
|
||||
- dlauum.o dopgtr.o dopmtr.o dorg2l.o dorg2r.o \
|
||||
- dorgbr.o dorghr.o dorgl2.o dorglq.o dorgql.o dorgqr.o dorgr2.o \
|
||||
- dorgrq.o dorgtr.o dorm2l.o dorm2r.o \
|
||||
- dormbr.o dormhr.o dorml2.o dormlq.o dormql.o dormqr.o dormr2.o \
|
||||
- dormr3.o dormrq.o dormrz.o dormtr.o dpbcon.o dpbequ.o dpbrfs.o \
|
||||
- dpbstf.o dpbsv.o dpbsvx.o \
|
||||
- dpbtf2.o dpbtrf.o dpbtrs.o dpocon.o dpoequ.o dporfs.o dposv.o \
|
||||
- dposvx.o dpotf2.o dpotrf.o dpotri.o dpotrs.o dppcon.o dppequ.o \
|
||||
- dpprfs.o dppsv.o dppsvx.o dpptrf.o dpptri.o dpptrs.o dptcon.o \
|
||||
- dpteqr.o dptrfs.o dptsv.o dptsvx.o dpttrs.o dptts2.o drscl.o \
|
||||
- dsbev.o dsbevd.o dsbevx.o dsbgst.o dsbgv.o dsbgvd.o dsbgvx.o \
|
||||
- dsbtrd.o dspcon.o dspev.o dspevd.o dspevx.o dspgst.o \
|
||||
- dspgv.o dspgvd.o dspgvx.o dsprfs.o dspsv.o dspsvx.o dsptrd.o \
|
||||
- dsptrf.o dsptri.o dsptrs.o dstegr.o dstein.o dstev.o dstevd.o dstevr.o \
|
||||
- dstevx.o dsycon.o dsyev.o dsyevd.o dsyevr.o \
|
||||
- dsyevx.o dsygs2.o dsygst.o dsygv.o dsygvd.o dsygvx.o dsyrfs.o \
|
||||
- dsysv.o dsysvx.o \
|
||||
- dsytd2.o dsytf2.o dsytrd.o dsytrf.o dsytri.o dsytrs.o dtbcon.o \
|
||||
- dtbrfs.o dtbtrs.o dtgevc.o dtgex2.o dtgexc.o dtgsen.o \
|
||||
- dtgsja.o dtgsna.o dtgsy2.o dtgsyl.o dtpcon.o dtprfs.o dtptri.o \
|
||||
- dtptrs.o \
|
||||
- dtrcon.o dtrevc.o dtrexc.o dtrrfs.o dtrsen.o dtrsna.o dtrsyl.o \
|
||||
- dtrti2.o dtrtri.o dtrtrs.o dtzrqf.o dtzrzf.o dstemr.o \
|
||||
- dsgesv.o dlag2s.o slag2d.o
|
||||
+ dgbbrd.$(SUFFIX) dgbcon.$(SUFFIX) dgbequ.$(SUFFIX) dgbrfs.$(SUFFIX) dgbsv.$(SUFFIX) \
|
||||
+ dgbsvx.$(SUFFIX) dgbtf2.$(SUFFIX) dgbtrf.$(SUFFIX) dgbtrs.$(SUFFIX) dgebak.$(SUFFIX) dgebal.$(SUFFIX) dgebd2.$(SUFFIX) \
|
||||
+ dgebrd.$(SUFFIX) dgecon.$(SUFFIX) dgeequ.$(SUFFIX) dgees.$(SUFFIX) dgeesx.$(SUFFIX) dgeev.$(SUFFIX) dgeevx.$(SUFFIX) \
|
||||
+ dgegs.$(SUFFIX) dgegv.$(SUFFIX) dgehd2.$(SUFFIX) dgehrd.$(SUFFIX) dgelq2.$(SUFFIX) dgelqf.$(SUFFIX) \
|
||||
+ dgels.$(SUFFIX) dgelsd.$(SUFFIX) dgelss.$(SUFFIX) dgelsx.$(SUFFIX) dgelsy.$(SUFFIX) dgeql2.$(SUFFIX) dgeqlf.$(SUFFIX) \
|
||||
+ dgeqp3.$(SUFFIX) dgeqpf.$(SUFFIX) dgeqr2.$(SUFFIX) dgeqrf.$(SUFFIX) dgerfs.$(SUFFIX) dgerq2.$(SUFFIX) dgerqf.$(SUFFIX) \
|
||||
+ dgesc2.$(SUFFIX) dgesdd.$(SUFFIX) dgesvd.$(SUFFIX) dgesvx.$(SUFFIX) dgetc2.$(SUFFIX) \
|
||||
+ dgetri.$(SUFFIX) \
|
||||
+ dggbak.$(SUFFIX) dggbal.$(SUFFIX) dgges.$(SUFFIX) dggesx.$(SUFFIX) dggev.$(SUFFIX) dggevx.$(SUFFIX) \
|
||||
+ dggglm.$(SUFFIX) dgghrd.$(SUFFIX) dgglse.$(SUFFIX) dggqrf.$(SUFFIX) \
|
||||
+ dggrqf.$(SUFFIX) dggsvd.$(SUFFIX) dggsvp.$(SUFFIX) dgtcon.$(SUFFIX) dgtrfs.$(SUFFIX) dgtsv.$(SUFFIX) \
|
||||
+ dgtsvx.$(SUFFIX) dgttrf.$(SUFFIX) dgttrs.$(SUFFIX) dgtts2.$(SUFFIX) dhgeqz.$(SUFFIX) \
|
||||
+ dhsein.$(SUFFIX) dhseqr.$(SUFFIX) dlabrd.$(SUFFIX) dlacon.$(SUFFIX) dlacn2.$(SUFFIX) \
|
||||
+ dlaein.$(SUFFIX) dlaexc.$(SUFFIX) dlag2.$(SUFFIX) dlags2.$(SUFFIX) dlagtm.$(SUFFIX) dlagv2.$(SUFFIX) dlahqr.$(SUFFIX) \
|
||||
+ dlahrd.$(SUFFIX) dlahr2.$(SUFFIX) dlaic1.$(SUFFIX) dlaln2.$(SUFFIX) dlals0.$(SUFFIX) dlalsa.$(SUFFIX) dlalsd.$(SUFFIX) \
|
||||
+ dlangb.$(SUFFIX) dlange.$(SUFFIX) dlangt.$(SUFFIX) dlanhs.$(SUFFIX) dlansb.$(SUFFIX) dlansp.$(SUFFIX) \
|
||||
+ dlansy.$(SUFFIX) dlantb.$(SUFFIX) dlantp.$(SUFFIX) dlantr.$(SUFFIX) dlanv2.$(SUFFIX) \
|
||||
+ dlapll.$(SUFFIX) dlapmt.$(SUFFIX) \
|
||||
+ dlaqgb.$(SUFFIX) dlaqge.$(SUFFIX) dlaqp2.$(SUFFIX) dlaqps.$(SUFFIX) dlaqsb.$(SUFFIX) dlaqsp.$(SUFFIX) dlaqsy.$(SUFFIX) \
|
||||
+ dlaqr0.$(SUFFIX) dlaqr1.$(SUFFIX) dlaqr2.$(SUFFIX) dlaqr3.$(SUFFIX) dlaqr4.$(SUFFIX) dlaqr5.$(SUFFIX) \
|
||||
+ dlaqtr.$(SUFFIX) dlar1v.$(SUFFIX) dlar2v.$(SUFFIX) \
|
||||
+ dlarf.$(SUFFIX) dlarfb.$(SUFFIX) dlarfg.$(SUFFIX) dlarft.$(SUFFIX) dlarfx.$(SUFFIX) dlargv.$(SUFFIX) \
|
||||
+ dlarrv.$(SUFFIX) dlartv.$(SUFFIX) \
|
||||
+ dlarz.$(SUFFIX) dlarzb.$(SUFFIX) dlarzt.$(SUFFIX) dlasy2.$(SUFFIX) dlasyf.$(SUFFIX) \
|
||||
+ dlatbs.$(SUFFIX) dlatdf.$(SUFFIX) dlatps.$(SUFFIX) dlatrd.$(SUFFIX) dlatrs.$(SUFFIX) dlatrz.$(SUFFIX) dlatzm.$(SUFFIX) \
|
||||
+ dopgtr.$(SUFFIX) dopmtr.$(SUFFIX) dorg2l.$(SUFFIX) dorg2r.$(SUFFIX) \
|
||||
+ dorgbr.$(SUFFIX) dorghr.$(SUFFIX) dorgl2.$(SUFFIX) dorglq.$(SUFFIX) dorgql.$(SUFFIX) dorgqr.$(SUFFIX) dorgr2.$(SUFFIX) \
|
||||
+ dorgrq.$(SUFFIX) dorgtr.$(SUFFIX) dorm2l.$(SUFFIX) dorm2r.$(SUFFIX) \
|
||||
+ dormbr.$(SUFFIX) dormhr.$(SUFFIX) dorml2.$(SUFFIX) dormlq.$(SUFFIX) dormql.$(SUFFIX) dormqr.$(SUFFIX) dormr2.$(SUFFIX) \
|
||||
+ dormr3.$(SUFFIX) dormrq.$(SUFFIX) dormrz.$(SUFFIX) dormtr.$(SUFFIX) dpbcon.$(SUFFIX) dpbequ.$(SUFFIX) dpbrfs.$(SUFFIX) \
|
||||
+ dpbstf.$(SUFFIX) dpbsv.$(SUFFIX) dpbsvx.$(SUFFIX) \
|
||||
+ dpbtf2.$(SUFFIX) dpbtrf.$(SUFFIX) dpbtrs.$(SUFFIX) dpocon.$(SUFFIX) dpoequ.$(SUFFIX) dporfs.$(SUFFIX) dposv.$(SUFFIX) \
|
||||
+ dposvx.$(SUFFIX) dpotrs.$(SUFFIX) dppcon.$(SUFFIX) dppequ.$(SUFFIX) \
|
||||
+ dpprfs.$(SUFFIX) dppsv.$(SUFFIX) dppsvx.$(SUFFIX) dpptrf.$(SUFFIX) dpptri.$(SUFFIX) dpptrs.$(SUFFIX) dptcon.$(SUFFIX) \
|
||||
+ dpteqr.$(SUFFIX) dptrfs.$(SUFFIX) dptsv.$(SUFFIX) dptsvx.$(SUFFIX) dpttrs.$(SUFFIX) dptts2.$(SUFFIX) drscl.$(SUFFIX) \
|
||||
+ dsbev.$(SUFFIX) dsbevd.$(SUFFIX) dsbevx.$(SUFFIX) dsbgst.$(SUFFIX) dsbgv.$(SUFFIX) dsbgvd.$(SUFFIX) dsbgvx.$(SUFFIX) \
|
||||
+ dsbtrd.$(SUFFIX) dspcon.$(SUFFIX) dspev.$(SUFFIX) dspevd.$(SUFFIX) dspevx.$(SUFFIX) dspgst.$(SUFFIX) \
|
||||
+ dspgv.$(SUFFIX) dspgvd.$(SUFFIX) dspgvx.$(SUFFIX) dsprfs.$(SUFFIX) dspsv.$(SUFFIX) dspsvx.$(SUFFIX) dsptrd.$(SUFFIX) \
|
||||
+ dsptrf.$(SUFFIX) dsptri.$(SUFFIX) dsptrs.$(SUFFIX) dstegr.$(SUFFIX) dstein.$(SUFFIX) dstev.$(SUFFIX) dstevd.$(SUFFIX) dstevr.$(SUFFIX) \
|
||||
+ dstevx.$(SUFFIX) dsycon.$(SUFFIX) dsyev.$(SUFFIX) dsyevd.$(SUFFIX) dsyevr.$(SUFFIX) \
|
||||
+ dsyevx.$(SUFFIX) dsygs2.$(SUFFIX) dsygst.$(SUFFIX) dsygv.$(SUFFIX) dsygvd.$(SUFFIX) dsygvx.$(SUFFIX) dsyrfs.$(SUFFIX) \
|
||||
+ dsysv.$(SUFFIX) dsysvx.$(SUFFIX) \
|
||||
+ dsytd2.$(SUFFIX) dsytf2.$(SUFFIX) dsytrd.$(SUFFIX) dsytrf.$(SUFFIX) dsytri.$(SUFFIX) dsytrs.$(SUFFIX) dtbcon.$(SUFFIX) \
|
||||
+ dtbrfs.$(SUFFIX) dtbtrs.$(SUFFIX) dtgevc.$(SUFFIX) dtgex2.$(SUFFIX) dtgexc.$(SUFFIX) dtgsen.$(SUFFIX) \
|
||||
+ dtgsja.$(SUFFIX) dtgsna.$(SUFFIX) dtgsy2.$(SUFFIX) dtgsyl.$(SUFFIX) dtpcon.$(SUFFIX) dtprfs.$(SUFFIX) dtptri.$(SUFFIX) \
|
||||
+ dtptrs.$(SUFFIX) \
|
||||
+ dtrcon.$(SUFFIX) dtrevc.$(SUFFIX) dtrexc.$(SUFFIX) dtrrfs.$(SUFFIX) dtrsen.$(SUFFIX) dtrsna.$(SUFFIX) dtrsyl.$(SUFFIX) \
|
||||
+ dtrtrs.$(SUFFIX) dtzrqf.$(SUFFIX) dtzrzf.$(SUFFIX) dstemr.$(SUFFIX) \
|
||||
+ dsgesv.$(SUFFIX) dlag2s.$(SUFFIX) slag2d.$(SUFFIX)
|
||||
|
||||
ZLASRC = \
|
||||
- zbdsqr.o zgbbrd.o zgbcon.o zgbequ.o zgbrfs.o zgbsv.o zgbsvx.o \
|
||||
- zgbtf2.o zgbtrf.o zgbtrs.o zgebak.o zgebal.o zgebd2.o zgebrd.o \
|
||||
- zgecon.o zgeequ.o zgees.o zgeesx.o zgeev.o zgeevx.o \
|
||||
- zgegs.o zgegv.o zgehd2.o zgehrd.o zgelq2.o zgelqf.o \
|
||||
- zgels.o zgelsd.o zgelss.o zgelsx.o zgelsy.o zgeql2.o zgeqlf.o zgeqp3.o \
|
||||
- zgeqpf.o zgeqr2.o zgeqrf.o zgerfs.o zgerq2.o zgerqf.o \
|
||||
- zgesc2.o zgesdd.o zgesv.o zgesvd.o zgesvx.o zgetc2.o zgetf2.o zgetrf.o \
|
||||
- zgetri.o zgetrs.o \
|
||||
- zggbak.o zggbal.o zgges.o zggesx.o zggev.o zggevx.o zggglm.o \
|
||||
- zgghrd.o zgglse.o zggqrf.o zggrqf.o \
|
||||
- zggsvd.o zggsvp.o \
|
||||
- zgtcon.o zgtrfs.o zgtsv.o zgtsvx.o zgttrf.o zgttrs.o zgtts2.o zhbev.o \
|
||||
- zhbevd.o zhbevx.o zhbgst.o zhbgv.o zhbgvd.o zhbgvx.o zhbtrd.o \
|
||||
- zhecon.o zheev.o zheevd.o zheevr.o zheevx.o zhegs2.o zhegst.o \
|
||||
- zhegv.o zhegvd.o zhegvx.o zherfs.o zhesv.o zhesvx.o zhetd2.o \
|
||||
- zhetf2.o zhetrd.o \
|
||||
- zhetrf.o zhetri.o zhetrs.o zhgeqz.o zhpcon.o zhpev.o zhpevd.o \
|
||||
- zhpevx.o zhpgst.o zhpgv.o zhpgvd.o zhpgvx.o zhprfs.o zhpsv.o \
|
||||
- zhpsvx.o \
|
||||
- zhptrd.o zhptrf.o zhptri.o zhptrs.o zhsein.o zhseqr.o zlabrd.o \
|
||||
- zlacgv.o zlacon.o zlacn2.o zlacp2.o zlacpy.o zlacrm.o zlacrt.o zladiv.o \
|
||||
- zlaed0.o zlaed7.o zlaed8.o \
|
||||
- zlaein.o zlaesy.o zlaev2.o zlags2.o zlagtm.o \
|
||||
- zlahef.o zlahqr.o \
|
||||
- zlahrd.o zlahr2.o zlaic1.o zlals0.o zlalsa.o zlalsd.o zlangb.o zlange.o \
|
||||
- zlangt.o zlanhb.o \
|
||||
- zlanhe.o \
|
||||
- zlanhp.o zlanhs.o zlanht.o zlansb.o zlansp.o zlansy.o zlantb.o \
|
||||
- zlantp.o zlantr.o zlapll.o zlapmt.o zlaqgb.o zlaqge.o \
|
||||
- zlaqhb.o zlaqhe.o zlaqhp.o zlaqp2.o zlaqps.o zlaqsb.o \
|
||||
- zlaqr0.o zlaqr1.o zlaqr2.o zlaqr3.o zlaqr4.o zlaqr5.o \
|
||||
- zlaqsp.o zlaqsy.o zlar1v.o zlar2v.o zlarcm.o zlarf.o zlarfb.o \
|
||||
- zlarfg.o zlarft.o \
|
||||
- zlarfx.o zlargv.o zlarnv.o zlarrv.o zlartg.o zlartv.o \
|
||||
- zlarz.o zlarzb.o zlarzt.o zlascl.o zlaset.o zlasr.o \
|
||||
- zlassq.o zlaswp.o zlasyf.o \
|
||||
- zlatbs.o zlatdf.o zlatps.o zlatrd.o zlatrs.o zlatrz.o zlatzm.o zlauu2.o \
|
||||
- zlauum.o zpbcon.o zpbequ.o zpbrfs.o zpbstf.o zpbsv.o \
|
||||
- zpbsvx.o zpbtf2.o zpbtrf.o zpbtrs.o zpocon.o zpoequ.o zporfs.o \
|
||||
- zposv.o zposvx.o zpotf2.o zpotrf.o zpotri.o zpotrs.o zppcon.o \
|
||||
- zppequ.o zpprfs.o zppsv.o zppsvx.o zpptrf.o zpptri.o zpptrs.o \
|
||||
- zptcon.o zpteqr.o zptrfs.o zptsv.o zptsvx.o zpttrf.o zpttrs.o zptts2.o \
|
||||
- zrot.o zspcon.o zspmv.o zspr.o zsprfs.o zspsv.o \
|
||||
- zspsvx.o zsptrf.o zsptri.o zsptrs.o zdrscl.o zstedc.o \
|
||||
- zstegr.o zstein.o zsteqr.o zsycon.o zsymv.o \
|
||||
- zsyr.o zsyrfs.o zsysv.o zsysvx.o zsytf2.o zsytrf.o zsytri.o \
|
||||
- zsytrs.o ztbcon.o ztbrfs.o ztbtrs.o ztgevc.o ztgex2.o \
|
||||
- ztgexc.o ztgsen.o ztgsja.o ztgsna.o ztgsy2.o ztgsyl.o ztpcon.o \
|
||||
- ztprfs.o ztptri.o \
|
||||
- ztptrs.o ztrcon.o ztrevc.o ztrexc.o ztrrfs.o ztrsen.o ztrsna.o \
|
||||
- ztrsyl.o ztrti2.o ztrtri.o ztrtrs.o ztzrqf.o ztzrzf.o zung2l.o \
|
||||
- zung2r.o zungbr.o zunghr.o zungl2.o zunglq.o zungql.o zungqr.o zungr2.o \
|
||||
- zungrq.o zungtr.o zunm2l.o zunm2r.o zunmbr.o zunmhr.o zunml2.o \
|
||||
- zunmlq.o zunmql.o zunmqr.o zunmr2.o zunmr3.o zunmrq.o zunmrz.o \
|
||||
- zunmtr.o zupgtr.o \
|
||||
- zupmtr.o izmax1.o dzsum1.o zstemr.o \
|
||||
- zcgesv.o zlag2c.o clag2z.o
|
||||
+ zbdsqr.$(SUFFIX) zgbbrd.$(SUFFIX) zgbcon.$(SUFFIX) zgbequ.$(SUFFIX) zgbrfs.$(SUFFIX) zgbsv.$(SUFFIX) zgbsvx.$(SUFFIX) \
|
||||
+ zgbtf2.$(SUFFIX) zgbtrf.$(SUFFIX) zgbtrs.$(SUFFIX) zgebak.$(SUFFIX) zgebal.$(SUFFIX) zgebd2.$(SUFFIX) zgebrd.$(SUFFIX) \
|
||||
+ zgecon.$(SUFFIX) zgeequ.$(SUFFIX) zgees.$(SUFFIX) zgeesx.$(SUFFIX) zgeev.$(SUFFIX) zgeevx.$(SUFFIX) \
|
||||
+ zgegs.$(SUFFIX) zgegv.$(SUFFIX) zgehd2.$(SUFFIX) zgehrd.$(SUFFIX) zgelq2.$(SUFFIX) zgelqf.$(SUFFIX) \
|
||||
+ zgels.$(SUFFIX) zgelsd.$(SUFFIX) zgelss.$(SUFFIX) zgelsx.$(SUFFIX) zgelsy.$(SUFFIX) zgeql2.$(SUFFIX) zgeqlf.$(SUFFIX) zgeqp3.$(SUFFIX) \
|
||||
+ zgeqpf.$(SUFFIX) zgeqr2.$(SUFFIX) zgeqrf.$(SUFFIX) zgerfs.$(SUFFIX) zgerq2.$(SUFFIX) zgerqf.$(SUFFIX) \
|
||||
+ zgesc2.$(SUFFIX) zgesdd.$(SUFFIX) zgesvd.$(SUFFIX) zgesvx.$(SUFFIX) zgetc2.$(SUFFIX) \
|
||||
+ zgetri.$(SUFFIX) \
|
||||
+ zggbak.$(SUFFIX) zggbal.$(SUFFIX) zgges.$(SUFFIX) zggesx.$(SUFFIX) zggev.$(SUFFIX) zggevx.$(SUFFIX) zggglm.$(SUFFIX) \
|
||||
+ zgghrd.$(SUFFIX) zgglse.$(SUFFIX) zggqrf.$(SUFFIX) zggrqf.$(SUFFIX) \
|
||||
+ zggsvd.$(SUFFIX) zggsvp.$(SUFFIX) \
|
||||
+ zgtcon.$(SUFFIX) zgtrfs.$(SUFFIX) zgtsv.$(SUFFIX) zgtsvx.$(SUFFIX) zgttrf.$(SUFFIX) zgttrs.$(SUFFIX) zgtts2.$(SUFFIX) zhbev.$(SUFFIX) \
|
||||
+ zhbevd.$(SUFFIX) zhbevx.$(SUFFIX) zhbgst.$(SUFFIX) zhbgv.$(SUFFIX) zhbgvd.$(SUFFIX) zhbgvx.$(SUFFIX) zhbtrd.$(SUFFIX) \
|
||||
+ zhecon.$(SUFFIX) zheev.$(SUFFIX) zheevd.$(SUFFIX) zheevr.$(SUFFIX) zheevx.$(SUFFIX) zhegs2.$(SUFFIX) zhegst.$(SUFFIX) \
|
||||
+ zhegv.$(SUFFIX) zhegvd.$(SUFFIX) zhegvx.$(SUFFIX) zherfs.$(SUFFIX) zhesv.$(SUFFIX) zhesvx.$(SUFFIX) zhetd2.$(SUFFIX) \
|
||||
+ zhetf2.$(SUFFIX) zhetrd.$(SUFFIX) \
|
||||
+ zhetrf.$(SUFFIX) zhetri.$(SUFFIX) zhetrs.$(SUFFIX) zhgeqz.$(SUFFIX) zhpcon.$(SUFFIX) zhpev.$(SUFFIX) zhpevd.$(SUFFIX) \
|
||||
+ zhpevx.$(SUFFIX) zhpgst.$(SUFFIX) zhpgv.$(SUFFIX) zhpgvd.$(SUFFIX) zhpgvx.$(SUFFIX) zhprfs.$(SUFFIX) zhpsv.$(SUFFIX) \
|
||||
+ zhpsvx.$(SUFFIX) \
|
||||
+ zhptrd.$(SUFFIX) zhptrf.$(SUFFIX) zhptri.$(SUFFIX) zhptrs.$(SUFFIX) zhsein.$(SUFFIX) zhseqr.$(SUFFIX) zlabrd.$(SUFFIX) \
|
||||
+ zlacgv.$(SUFFIX) zlacon.$(SUFFIX) zlacn2.$(SUFFIX) zlacp2.$(SUFFIX) zlacpy.$(SUFFIX) zlacrm.$(SUFFIX) zlacrt.$(SUFFIX) zladiv.$(SUFFIX) \
|
||||
+ zlaed0.$(SUFFIX) zlaed7.$(SUFFIX) zlaed8.$(SUFFIX) \
|
||||
+ zlaein.$(SUFFIX) zlaesy.$(SUFFIX) zlaev2.$(SUFFIX) zlags2.$(SUFFIX) zlagtm.$(SUFFIX) \
|
||||
+ zlahef.$(SUFFIX) zlahqr.$(SUFFIX) \
|
||||
+ zlahrd.$(SUFFIX) zlahr2.$(SUFFIX) zlaic1.$(SUFFIX) zlals0.$(SUFFIX) zlalsa.$(SUFFIX) zlalsd.$(SUFFIX) zlangb.$(SUFFIX) zlange.$(SUFFIX) \
|
||||
+ zlangt.$(SUFFIX) zlanhb.$(SUFFIX) \
|
||||
+ zlanhe.$(SUFFIX) \
|
||||
+ zlanhp.$(SUFFIX) zlanhs.$(SUFFIX) zlanht.$(SUFFIX) zlansb.$(SUFFIX) zlansp.$(SUFFIX) zlansy.$(SUFFIX) zlantb.$(SUFFIX) \
|
||||
+ zlantp.$(SUFFIX) zlantr.$(SUFFIX) zlapll.$(SUFFIX) zlapmt.$(SUFFIX) zlaqgb.$(SUFFIX) zlaqge.$(SUFFIX) \
|
||||
+ zlaqhb.$(SUFFIX) zlaqhe.$(SUFFIX) zlaqhp.$(SUFFIX) zlaqp2.$(SUFFIX) zlaqps.$(SUFFIX) zlaqsb.$(SUFFIX) \
|
||||
+ zlaqr0.$(SUFFIX) zlaqr1.$(SUFFIX) zlaqr2.$(SUFFIX) zlaqr3.$(SUFFIX) zlaqr4.$(SUFFIX) zlaqr5.$(SUFFIX) \
|
||||
+ zlaqsp.$(SUFFIX) zlaqsy.$(SUFFIX) zlar1v.$(SUFFIX) zlar2v.$(SUFFIX) zlarcm.$(SUFFIX) zlarf.$(SUFFIX) zlarfb.$(SUFFIX) \
|
||||
+ zlarfg.$(SUFFIX) zlarft.$(SUFFIX) \
|
||||
+ zlarfx.$(SUFFIX) zlargv.$(SUFFIX) zlarnv.$(SUFFIX) zlarrv.$(SUFFIX) zlartg.$(SUFFIX) zlartv.$(SUFFIX) \
|
||||
+ zlarz.$(SUFFIX) zlarzb.$(SUFFIX) zlarzt.$(SUFFIX) zlascl.$(SUFFIX) zlaset.$(SUFFIX) zlasr.$(SUFFIX) \
|
||||
+ zlassq.$(SUFFIX) zlasyf.$(SUFFIX) \
|
||||
+ zlatbs.$(SUFFIX) zlatdf.$(SUFFIX) zlatps.$(SUFFIX) zlatrd.$(SUFFIX) zlatrs.$(SUFFIX) zlatrz.$(SUFFIX) zlatzm.$(SUFFIX) \
|
||||
+ zpbcon.$(SUFFIX) zpbequ.$(SUFFIX) zpbrfs.$(SUFFIX) zpbstf.$(SUFFIX) zpbsv.$(SUFFIX) \
|
||||
+ zpbsvx.$(SUFFIX) zpbtf2.$(SUFFIX) zpbtrf.$(SUFFIX) zpbtrs.$(SUFFIX) zpocon.$(SUFFIX) zpoequ.$(SUFFIX) zporfs.$(SUFFIX) \
|
||||
+ zposv.$(SUFFIX) zposvx.$(SUFFIX) zpotrs.$(SUFFIX) zppcon.$(SUFFIX) \
|
||||
+ zppequ.$(SUFFIX) zpprfs.$(SUFFIX) zppsv.$(SUFFIX) zppsvx.$(SUFFIX) zpptrf.$(SUFFIX) zpptri.$(SUFFIX) zpptrs.$(SUFFIX) \
|
||||
+ zptcon.$(SUFFIX) zpteqr.$(SUFFIX) zptrfs.$(SUFFIX) zptsv.$(SUFFIX) zptsvx.$(SUFFIX) zpttrf.$(SUFFIX) zpttrs.$(SUFFIX) zptts2.$(SUFFIX) \
|
||||
+ zrot.$(SUFFIX) zspcon.$(SUFFIX) zsprfs.$(SUFFIX) zspsv.$(SUFFIX) \
|
||||
+ zspsvx.$(SUFFIX) zsptrf.$(SUFFIX) zsptri.$(SUFFIX) zsptrs.$(SUFFIX) zdrscl.$(SUFFIX) zstedc.$(SUFFIX) \
|
||||
+ zstegr.$(SUFFIX) zstein.$(SUFFIX) zsteqr.$(SUFFIX) zsycon.$(SUFFIX) \
|
||||
+ zsyrfs.$(SUFFIX) zsysv.$(SUFFIX) zsysvx.$(SUFFIX) zsytf2.$(SUFFIX) zsytrf.$(SUFFIX) zsytri.$(SUFFIX) \
|
||||
+ zsytrs.$(SUFFIX) ztbcon.$(SUFFIX) ztbrfs.$(SUFFIX) ztbtrs.$(SUFFIX) ztgevc.$(SUFFIX) ztgex2.$(SUFFIX) \
|
||||
+ ztgexc.$(SUFFIX) ztgsen.$(SUFFIX) ztgsja.$(SUFFIX) ztgsna.$(SUFFIX) ztgsy2.$(SUFFIX) ztgsyl.$(SUFFIX) ztpcon.$(SUFFIX) \
|
||||
+ ztprfs.$(SUFFIX) ztptri.$(SUFFIX) \
|
||||
+ ztptrs.$(SUFFIX) ztrcon.$(SUFFIX) ztrevc.$(SUFFIX) ztrexc.$(SUFFIX) ztrrfs.$(SUFFIX) ztrsen.$(SUFFIX) ztrsna.$(SUFFIX) \
|
||||
+ ztrsyl.$(SUFFIX) ztrtrs.$(SUFFIX) ztzrqf.$(SUFFIX) ztzrzf.$(SUFFIX) zung2l.$(SUFFIX) \
|
||||
+ zung2r.$(SUFFIX) zungbr.$(SUFFIX) zunghr.$(SUFFIX) zungl2.$(SUFFIX) zunglq.$(SUFFIX) zungql.$(SUFFIX) zungqr.$(SUFFIX) zungr2.$(SUFFIX) \
|
||||
+ zungrq.$(SUFFIX) zungtr.$(SUFFIX) zunm2l.$(SUFFIX) zunm2r.$(SUFFIX) zunmbr.$(SUFFIX) zunmhr.$(SUFFIX) zunml2.$(SUFFIX) \
|
||||
+ zunmlq.$(SUFFIX) zunmql.$(SUFFIX) zunmqr.$(SUFFIX) zunmr2.$(SUFFIX) zunmr3.$(SUFFIX) zunmrq.$(SUFFIX) zunmrz.$(SUFFIX) \
|
||||
+ zunmtr.$(SUFFIX) zupgtr.$(SUFFIX) \
|
||||
+ zupmtr.$(SUFFIX) izmax1.$(SUFFIX) dzsum1.$(SUFFIX) zstemr.$(SUFFIX) \
|
||||
+ zcgesv.$(SUFFIX) zlag2c.$(SUFFIX) clag2z.$(SUFFIX)
|
||||
|
||||
all: ../$(LAPACKLIB)
|
||||
|
||||
+lapack_prof: ../$(LAPACKLIB_P)
|
||||
+
|
||||
ALLOBJ=$(SLASRC) $(DLASRC) $(CLASRC) $(ZLASRC) $(SCLAUX) $(DZLAUX) \
|
||||
$(ALLAUX)
|
||||
|
||||
+ALLOBJ_P = $(ALLOBJ:.$(SUFFIX)=.$(PSUFFIX))
|
||||
+
|
||||
../$(LAPACKLIB): $(ALLOBJ)
|
||||
$(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ)
|
||||
$(RANLIB) $@
|
||||
|
||||
+../$(LAPACKLIB_P): $(ALLOBJ_P)
|
||||
+ $(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ_P)
|
||||
+ $(RANLIB) $@
|
||||
+
|
||||
single: $(SLASRC) $(ALLAUX) $(SCLAUX)
|
||||
$(ARCH) $(ARCHFLAGS) ../$(LAPACKLIB) $(SLASRC) $(ALLAUX) \
|
||||
$(SCLAUX)
|
||||
@@ -317,6 +325,7 @@
|
||||
$(DZLAUX)
|
||||
$(RANLIB) ../$(LAPACKLIB)
|
||||
|
||||
+
|
||||
$(ALLAUX): $(FRC)
|
||||
$(SCLAUX): $(FRC)
|
||||
$(DZLAUX): $(FRC)
|
||||
@@ -329,11 +338,16 @@
|
||||
@FRC=$(FRC)
|
||||
|
||||
clean:
|
||||
- rm -f *.o
|
||||
+ rm -f *.$(SUFFIX) *.$(PSUFFIX)
|
||||
|
||||
-.f.o:
|
||||
+%.$(SUFFIX): %.f
|
||||
$(FORTRAN) $(OPTS) -c $< -o $@
|
||||
|
||||
-slaruv.o: slaruv.f ; $(FORTRAN) $(NOOPT) -c $< -o $@
|
||||
-dlaruv.o: dlaruv.f ; $(FORTRAN) $(NOOPT) -c $< -o $@
|
||||
+%.$(PSUFFIX): %.f
|
||||
+ $(FORTRAN) $(POPTS) -c $< -o $@
|
||||
+
|
||||
+slaruv.$(SUFFIX): slaruv.f ; $(FORTRAN) $(NOOPT) -O0 -c $< -o $@
|
||||
+dlaruv.$(SUFFIX): dlaruv.f ; $(FORTRAN) $(NOOPT) -O0 -c $< -o $@
|
||||
|
||||
+slaruv.$(PSUFFIX): slaruv.f ; $(FORTRAN) $(PNOOPT) -O0 -c $< -o $@
|
||||
+dlaruv.$(PSUFFIX): dlaruv.f ; $(FORTRAN) $(PNOOPT) -O0 -c $< -o $@
|
||||
diff -ruN lapack-3.1.1.old/TESTING/EIG/Makefile lapack-3.1.1/TESTING/EIG/Makefile
|
||||
--- lapack-3.1.1.old/TESTING/EIG/Makefile 2007-02-20 15:33:03.000000000 -0600
|
||||
+++ lapack-3.1.1/TESTING/EIG/Makefile 2009-12-16 14:40:35.000000000 -0600
|
||||
@@ -78,7 +78,7 @@
|
||||
cget35.o cget36.o cget37.o cget38.o cget51.o cget52.o \
|
||||
cget54.o cglmts.o cgqrts.o cgrqts.o cgsvts.o \
|
||||
chbt21.o chet21.o chet22.o chpt21.o chst01.o \
|
||||
- clarfy.o clarhs.o clatm4.o clctes.o clctsx.o clsets.o csbmv.o \
|
||||
+ clarfy.o clarhs.o clatm4.o clctes.o clctsx.o clsets.o \
|
||||
csgt01.o cslect.o \
|
||||
cstt21.o cstt22.o cunt01.o cunt03.o
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
zget35.o zget36.o zget37.o zget38.o zget51.o zget52.o \
|
||||
zget54.o zglmts.o zgqrts.o zgrqts.o zgsvts.o \
|
||||
zhbt21.o zhet21.o zhet22.o zhpt21.o zhst01.o \
|
||||
- zlarfy.o zlarhs.o zlatm4.o zlctes.o zlctsx.o zlsets.o zsbmv.o \
|
||||
+ zlarfy.o zlarhs.o zlatm4.o zlctes.o zlctsx.o zlsets.o \
|
||||
zsgt01.o zslect.o \
|
||||
zstt21.o zstt22.o zunt01.o zunt03.o
|
||||
|
||||
@@ -129,22 +129,22 @@
|
||||
../xeigtsts: $(SEIGTST) $(SCIGTST) $(AEIGTST) ; \
|
||||
$(LOADER) $(LOADOPTS) -o $@ \
|
||||
$(SEIGTST) $(SCIGTST) $(AEIGTST) ../../$(TMGLIB) \
|
||||
- ../../$(LAPACKLIB) $(BLASLIB)
|
||||
+ ../../$(LAPACKLIB) $(BLASLIB) $(CEXTRALIB)
|
||||
|
||||
../xeigtstc: $(CEIGTST) $(SCIGTST) $(AEIGTST) ; \
|
||||
$(LOADER) $(LOADOPTS) -o $@ \
|
||||
$(CEIGTST) $(SCIGTST) $(AEIGTST) ../../$(TMGLIB) \
|
||||
- ../../$(LAPACKLIB) $(BLASLIB)
|
||||
+ ../../$(LAPACKLIB) $(BLASLIB) $(CEXTRALIB)
|
||||
|
||||
../xeigtstd: $(DEIGTST) $(DZIGTST) $(AEIGTST) ; \
|
||||
$(LOADER) $(LOADOPTS) -o $@ \
|
||||
$(DEIGTST) $(DZIGTST) $(AEIGTST) ../../$(TMGLIB) \
|
||||
- ../../$(LAPACKLIB) $(BLASLIB)
|
||||
+ ../../$(LAPACKLIB) $(BLASLIB) $(CEXTRALIB)
|
||||
|
||||
../xeigtstz: $(ZEIGTST) $(DZIGTST) $(AEIGTST) ; \
|
||||
$(LOADER) $(LOADOPTS) -o $@ \
|
||||
$(ZEIGTST) $(DZIGTST) $(AEIGTST) ../../$(TMGLIB) \
|
||||
- ../../$(LAPACKLIB) $(BLASLIB)
|
||||
+ ../../$(LAPACKLIB) $(BLASLIB) $(CEXTRALIB)
|
||||
|
||||
$(AEIGTST): $(FRC)
|
||||
$(SCIGTST): $(FRC)
|
||||
diff -ruN lapack-3.1.1.old/TESTING/LIN/Makefile lapack-3.1.1/TESTING/LIN/Makefile
|
||||
--- lapack-3.1.1.old/TESTING/LIN/Makefile 2007-02-20 15:33:03.000000000 -0600
|
||||
+++ lapack-3.1.1/TESTING/LIN/Makefile 2009-12-16 14:40:35.000000000 -0600
|
||||
@@ -97,7 +97,7 @@
|
||||
cqpt01.o cqrt01.o cqrt02.o cqrt03.o cqrt11.o \
|
||||
cqrt12.o cqrt13.o cqrt14.o cqrt15.o cqrt16.o \
|
||||
cqrt17.o crqt01.o crqt02.o crqt03.o crzt01.o crzt02.o \
|
||||
- csbmv.o cspt01.o \
|
||||
+ cspt01.o \
|
||||
cspt02.o cspt03.o csyt01.o csyt02.o csyt03.o \
|
||||
ctbt02.o ctbt03.o ctbt05.o ctbt06.o ctpt01.o \
|
||||
ctpt02.o ctpt03.o ctpt05.o ctpt06.o ctrt01.o \
|
||||
@@ -159,7 +159,7 @@
|
||||
zqpt01.o zqrt01.o zqrt02.o zqrt03.o zqrt11.o \
|
||||
zqrt12.o zqrt13.o zqrt14.o zqrt15.o zqrt16.o \
|
||||
zqrt17.o zrqt01.o zrqt02.o zrqt03.o zrzt01.o zrzt02.o \
|
||||
- zsbmv.o zspt01.o \
|
||||
+ zspt01.o \
|
||||
zspt02.o zspt03.o zsyt01.o zsyt02.o zsyt03.o \
|
||||
ztbt02.o ztbt03.o ztbt05.o ztbt06.o ztpt01.o \
|
||||
ztpt02.o ztpt03.o ztpt05.o ztpt06.o ztrt01.o \
|
||||
@@ -176,7 +176,7 @@
|
||||
zdrvab.o zerrab.o zget08.o \
|
||||
alaerh.o alahd.o aladhd.o alareq.o \
|
||||
chkxer.o zget02.o zlarhs.o zlatb4.o \
|
||||
- zsbmv.o xerbla.o
|
||||
+ xerbla.o
|
||||
|
||||
all: single double complex complex16 proto-double proto-complex16
|
||||
|
||||
@@ -190,27 +190,27 @@
|
||||
|
||||
../xlintsts : $(ALINTST) $(SLINTST) $(SCLNTST)
|
||||
$(LOADER) $(LOADOPTS) $(ALINTST) $(SCLNTST) $(SLINTST) \
|
||||
- ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@
|
||||
+ ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@ $(CEXTRALIB)
|
||||
|
||||
../xlintstc : $(ALINTST) $(CLINTST) $(SCLNTST)
|
||||
$(LOADER) $(LOADOPTS) $(ALINTST) $(SCLNTST) $(CLINTST) \
|
||||
- ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@
|
||||
+ ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@ $(CEXTRALIB)
|
||||
|
||||
../xlintstd : $(ALINTST) $(DLINTST) $(DZLNTST)
|
||||
$(LOADER) $(LOADOPTS) $(ALINTST) $(DZLNTST) $(DLINTST) \
|
||||
- ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@
|
||||
+ ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@ $(CEXTRALIB)
|
||||
|
||||
../xlintstz : $(ALINTST) $(ZLINTST) $(DZLNTST)
|
||||
$(LOADER) $(LOADOPTS) $(ALINTST) $(DZLNTST) $(ZLINTST) \
|
||||
- ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@
|
||||
+ ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@ $(CEXTRALIB)
|
||||
|
||||
../xlintstds : $(DSLINTST)
|
||||
$(LOADER) $(LOADOPTS) $(DSLINTST) \
|
||||
- ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@
|
||||
+ ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@ $(CEXTRALIB)
|
||||
|
||||
../xlintstzc : $(ZCLINTST)
|
||||
$(LOADER) $(LOADOPTS) $(ZCLINTST) \
|
||||
- ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@
|
||||
+ ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@ $(CEXTRALIB)
|
||||
|
||||
$(ALINTST): $(FRC)
|
||||
$(SCLNTST): $(FRC)
|
File diff suppressed because it is too large
Load Diff
|
@ -1,932 +0,0 @@
|
|||
diff -ruN lapack-3.4.1.old/INSTALL/Makefile lapack-3.4.1/INSTALL/Makefile
|
||||
--- lapack-3.4.1.old/INSTALL/Makefile 2011-10-01 04:37:03 +0200
|
||||
+++ lapack-3.4.1/INSTALL/Makefile 2012-04-22 21:48:48 +0200
|
||||
@@ -27,7 +27,7 @@
|
||||
$(LOADER) $(LOADOPTS) -o testversion ilaver.o LAPACK_version.o
|
||||
|
||||
clean:
|
||||
- rm -f *.o
|
||||
+ rm -f *.o test*
|
||||
.f.o:
|
||||
$(FORTRAN) $(OPTS) -c $< -o $@
|
||||
|
||||
diff -ruN lapack-3.4.1.old/Makefile lapack-3.4.1/Makefile
|
||||
--- lapack-3.4.1.old/Makefile 2012-04-13 20:13:07 +0200
|
||||
+++ lapack-3.4.1/Makefile 2012-04-22 21:48:07 +0200
|
||||
@@ -20,9 +20,12 @@
|
||||
blaslib:
|
||||
( cd BLAS/SRC; $(MAKE) )
|
||||
|
||||
-lapacklib: lapack_install
|
||||
+lapacklib:
|
||||
( cd SRC; $(MAKE) )
|
||||
|
||||
+lapack_prof:
|
||||
+ ( cd SRC; $(MAKE) lapack_prof)
|
||||
+
|
||||
lapackelib: lapacklib
|
||||
( cd lapacke; $(MAKE) )
|
||||
|
||||
diff -ruN lapack-3.4.1.old/SRC/Makefile lapack-3.4.1/SRC/Makefile
|
||||
--- lapack-3.4.1.old/SRC/Makefile 2012-04-02 21:06:36 +0200
|
||||
+++ lapack-3.4.1/SRC/Makefile 2012-04-22 21:40:21 +0200
|
||||
@@ -54,363 +54,371 @@
|
||||
#
|
||||
#######################################################################
|
||||
|
||||
-ALLAUX = ilaenv.o ieeeck.o lsamen.o xerbla.o xerbla_array.o iparmq.o \
|
||||
- ilaprec.o ilatrans.o ilauplo.o iladiag.o chla_transtype.o \
|
||||
- ../INSTALL/ilaver.o ../INSTALL/lsame.o ../INSTALL/slamch.o
|
||||
+ALLAUX = ilaenv.$(SUFFIX) ieeeck.$(SUFFIX) lsamen.$(SUFFIX) xerbla_array.$(SUFFIX) iparmq.$(SUFFIX) \
|
||||
+ ilaprec.$(SUFFIX) ilatrans.$(SUFFIX) ilauplo.$(SUFFIX) iladiag.$(SUFFIX) chla_transtype.$(SUFFIX) \
|
||||
+ ../INSTALL/ilaver.$(SUFFIX)
|
||||
|
||||
SCLAUX = \
|
||||
- sbdsdc.o \
|
||||
- sbdsqr.o sdisna.o slabad.o slacpy.o sladiv.o slae2.o slaebz.o \
|
||||
- slaed0.o slaed1.o slaed2.o slaed3.o slaed4.o slaed5.o slaed6.o \
|
||||
- slaed7.o slaed8.o slaed9.o slaeda.o slaev2.o slagtf.o \
|
||||
- slagts.o slamrg.o slanst.o \
|
||||
- slapy2.o slapy3.o slarnv.o \
|
||||
- slarra.o slarrb.o slarrc.o slarrd.o slarre.o slarrf.o slarrj.o \
|
||||
- slarrk.o slarrr.o slaneg.o \
|
||||
- slartg.o slaruv.o slas2.o slascl.o \
|
||||
- slasd0.o slasd1.o slasd2.o slasd3.o slasd4.o slasd5.o slasd6.o \
|
||||
- slasd7.o slasd8.o slasda.o slasdq.o slasdt.o \
|
||||
- slaset.o slasq1.o slasq2.o slasq3.o slasq4.o slasq5.o slasq6.o \
|
||||
- slasr.o slasrt.o slassq.o slasv2.o spttrf.o sstebz.o sstedc.o \
|
||||
- ssteqr.o ssterf.o slaisnan.o sisnan.o \
|
||||
- slartgp.o slartgs.o \
|
||||
- ../INSTALL/second_$(TIMER).o
|
||||
+ sbdsdc.$(SUFFIX) \
|
||||
+ sbdsqr.$(SUFFIX) sdisna.$(SUFFIX) slabad.$(SUFFIX) slacpy.$(SUFFIX) sladiv.$(SUFFIX) slae2.$(SUFFIX) slaebz.$(SUFFIX) \
|
||||
+ slaed0.$(SUFFIX) slaed1.$(SUFFIX) slaed2.$(SUFFIX) slaed3.$(SUFFIX) slaed4.$(SUFFIX) slaed5.$(SUFFIX) slaed6.$(SUFFIX) \
|
||||
+ slaed7.$(SUFFIX) slaed8.$(SUFFIX) slaed9.$(SUFFIX) slaeda.$(SUFFIX) slaev2.$(SUFFIX) slagtf.$(SUFFIX) \
|
||||
+ slagts.$(SUFFIX) slamrg.$(SUFFIX) slanst.$(SUFFIX) \
|
||||
+ slapy2.$(SUFFIX) slapy3.$(SUFFIX) slarnv.$(SUFFIX) \
|
||||
+ slarra.$(SUFFIX) slarrb.$(SUFFIX) slarrc.$(SUFFIX) slarrd.$(SUFFIX) slarre.$(SUFFIX) slarrf.$(SUFFIX) slarrj.$(SUFFIX) \
|
||||
+ slarrk.$(SUFFIX) slarrr.$(SUFFIX) slaneg.$(SUFFIX) \
|
||||
+ slartg.$(SUFFIX) slaruv.$(SUFFIX) slas2.$(SUFFIX) slascl.$(SUFFIX) \
|
||||
+ slasd0.$(SUFFIX) slasd1.$(SUFFIX) slasd2.$(SUFFIX) slasd3.$(SUFFIX) slasd4.$(SUFFIX) slasd5.$(SUFFIX) slasd6.$(SUFFIX) \
|
||||
+ slasd7.$(SUFFIX) slasd8.$(SUFFIX) slasda.$(SUFFIX) slasdq.$(SUFFIX) slasdt.$(SUFFIX) \
|
||||
+ slaset.$(SUFFIX) slasq1.$(SUFFIX) slasq2.$(SUFFIX) slasq3.$(SUFFIX) slasq4.$(SUFFIX) slasq5.$(SUFFIX) slasq6.$(SUFFIX) \
|
||||
+ slasr.$(SUFFIX) slasrt.$(SUFFIX) slassq.$(SUFFIX) slasv2.$(SUFFIX) spttrf.$(SUFFIX) sstebz.$(SUFFIX) sstedc.$(SUFFIX) \
|
||||
+ ssteqr.$(SUFFIX) ssterf.$(SUFFIX) slaisnan.$(SUFFIX) sisnan.$(SUFFIX) \
|
||||
+ slartgp.$(SUFFIX) slartgs.$(SUFFIX) \
|
||||
+ ../INSTALL/second_$(TIMER).$(SUFFIX)
|
||||
|
||||
DZLAUX = \
|
||||
- dbdsdc.o \
|
||||
- dbdsqr.o ddisna.o dlabad.o dlacpy.o dladiv.o dlae2.o dlaebz.o \
|
||||
- dlaed0.o dlaed1.o dlaed2.o dlaed3.o dlaed4.o dlaed5.o dlaed6.o \
|
||||
- dlaed7.o dlaed8.o dlaed9.o dlaeda.o dlaev2.o dlagtf.o \
|
||||
- dlagts.o dlamrg.o dlanst.o \
|
||||
- dlapy2.o dlapy3.o dlarnv.o \
|
||||
- dlarra.o dlarrb.o dlarrc.o dlarrd.o dlarre.o dlarrf.o dlarrj.o \
|
||||
- dlarrk.o dlarrr.o dlaneg.o \
|
||||
- dlartg.o dlaruv.o dlas2.o dlascl.o \
|
||||
- dlasd0.o dlasd1.o dlasd2.o dlasd3.o dlasd4.o dlasd5.o dlasd6.o \
|
||||
- dlasd7.o dlasd8.o dlasda.o dlasdq.o dlasdt.o \
|
||||
- dlaset.o dlasq1.o dlasq2.o dlasq3.o dlasq4.o dlasq5.o dlasq6.o \
|
||||
- dlasr.o dlasrt.o dlassq.o dlasv2.o dpttrf.o dstebz.o dstedc.o \
|
||||
- dsteqr.o dsterf.o dlaisnan.o disnan.o \
|
||||
- dlartgp.o dlartgs.o \
|
||||
- ../INSTALL/dlamch.o ../INSTALL/dsecnd_$(TIMER).o
|
||||
+ dbdsdc.$(SUFFIX) \
|
||||
+ dbdsqr.$(SUFFIX) ddisna.$(SUFFIX) dlabad.$(SUFFIX) dlacpy.$(SUFFIX) dladiv.$(SUFFIX) dlae2.$(SUFFIX) dlaebz.$(SUFFIX) \
|
||||
+ dlaed0.$(SUFFIX) dlaed1.$(SUFFIX) dlaed2.$(SUFFIX) dlaed3.$(SUFFIX) dlaed4.$(SUFFIX) dlaed5.$(SUFFIX) dlaed6.$(SUFFIX) \
|
||||
+ dlaed7.$(SUFFIX) dlaed8.$(SUFFIX) dlaed9.$(SUFFIX) dlaeda.$(SUFFIX) dlaev2.$(SUFFIX) dlagtf.$(SUFFIX) \
|
||||
+ dlagts.$(SUFFIX) dlamrg.$(SUFFIX) dlanst.$(SUFFIX) \
|
||||
+ dlapy2.$(SUFFIX) dlapy3.$(SUFFIX) dlarnv.$(SUFFIX) \
|
||||
+ dlarra.$(SUFFIX) dlarrb.$(SUFFIX) dlarrc.$(SUFFIX) dlarrd.$(SUFFIX) dlarre.$(SUFFIX) dlarrf.$(SUFFIX) dlarrj.$(SUFFIX) \
|
||||
+ dlarrk.$(SUFFIX) dlarrr.$(SUFFIX) dlaneg.$(SUFFIX) \
|
||||
+ dlartg.$(SUFFIX) dlaruv.$(SUFFIX) dlas2.$(SUFFIX) dlascl.$(SUFFIX) \
|
||||
+ dlasd0.$(SUFFIX) dlasd1.$(SUFFIX) dlasd2.$(SUFFIX) dlasd3.$(SUFFIX) dlasd4.$(SUFFIX) dlasd5.$(SUFFIX) dlasd6.$(SUFFIX) \
|
||||
+ dlasd7.$(SUFFIX) dlasd8.$(SUFFIX) dlasda.$(SUFFIX) dlasdq.$(SUFFIX) dlasdt.$(SUFFIX) \
|
||||
+ dlaset.$(SUFFIX) dlasq1.$(SUFFIX) dlasq2.$(SUFFIX) dlasq3.$(SUFFIX) dlasq4.$(SUFFIX) dlasq5.$(SUFFIX) dlasq6.$(SUFFIX) \
|
||||
+ dlasr.$(SUFFIX) dlasrt.$(SUFFIX) dlassq.$(SUFFIX) dlasv2.$(SUFFIX) dpttrf.$(SUFFIX) dstebz.$(SUFFIX) dstedc.$(SUFFIX) \
|
||||
+ dsteqr.$(SUFFIX) dsterf.$(SUFFIX) dlaisnan.$(SUFFIX) disnan.$(SUFFIX) \
|
||||
+ dlartgp.$(SUFFIX) dlartgs.$(SUFFIX) \
|
||||
+ ../INSTALL/dsecnd_$(TIMER).$(SUFFIX)
|
||||
|
||||
SLASRC = \
|
||||
- sgbbrd.o sgbcon.o sgbequ.o sgbrfs.o sgbsv.o \
|
||||
- sgbsvx.o sgbtf2.o sgbtrf.o sgbtrs.o sgebak.o sgebal.o sgebd2.o \
|
||||
- sgebrd.o sgecon.o sgeequ.o sgees.o sgeesx.o sgeev.o sgeevx.o \
|
||||
- sgegs.o sgegv.o sgehd2.o sgehrd.o sgelq2.o sgelqf.o \
|
||||
- sgels.o sgelsd.o sgelss.o sgelsx.o sgelsy.o sgeql2.o sgeqlf.o \
|
||||
- sgeqp3.o sgeqpf.o sgeqr2.o sgeqr2p.o sgeqrf.o sgeqrfp.o sgerfs.o \
|
||||
- sgerq2.o sgerqf.o sgesc2.o sgesdd.o sgesv.o sgesvd.o sgesvx.o \
|
||||
- sgetc2.o sgetf2.o sgetri.o \
|
||||
- sggbak.o sggbal.o sgges.o sggesx.o sggev.o sggevx.o \
|
||||
- sggglm.o sgghrd.o sgglse.o sggqrf.o \
|
||||
- sggrqf.o sggsvd.o sggsvp.o sgtcon.o sgtrfs.o sgtsv.o \
|
||||
- sgtsvx.o sgttrf.o sgttrs.o sgtts2.o shgeqz.o \
|
||||
- shsein.o shseqr.o slabrd.o slacon.o slacn2.o \
|
||||
- slaein.o slaexc.o slag2.o slags2.o slagtm.o slagv2.o slahqr.o \
|
||||
- slahrd.o slahr2.o slaic1.o slaln2.o slals0.o slalsa.o slalsd.o \
|
||||
- slangb.o slange.o slangt.o slanhs.o slansb.o slansp.o \
|
||||
- slansy.o slantb.o slantp.o slantr.o slanv2.o \
|
||||
- slapll.o slapmt.o \
|
||||
- slaqgb.o slaqge.o slaqp2.o slaqps.o slaqsb.o slaqsp.o slaqsy.o \
|
||||
- slaqr0.o slaqr1.o slaqr2.o slaqr3.o slaqr4.o slaqr5.o \
|
||||
- slaqtr.o slar1v.o slar2v.o ilaslr.o ilaslc.o \
|
||||
- slarf.o slarfb.o slarfg.o slarfgp.o slarft.o slarfx.o slargv.o \
|
||||
- slarrv.o slartv.o \
|
||||
- slarz.o slarzb.o slarzt.o slaswp.o slasy2.o slasyf.o \
|
||||
- slatbs.o slatdf.o slatps.o slatrd.o slatrs.o slatrz.o slatzm.o \
|
||||
- slauu2.o slauum.o sopgtr.o sopmtr.o sorg2l.o sorg2r.o \
|
||||
- sorgbr.o sorghr.o sorgl2.o sorglq.o sorgql.o sorgqr.o sorgr2.o \
|
||||
- sorgrq.o sorgtr.o sorm2l.o sorm2r.o \
|
||||
- sormbr.o sormhr.o sorml2.o sormlq.o sormql.o sormqr.o sormr2.o \
|
||||
- sormr3.o sormrq.o sormrz.o sormtr.o spbcon.o spbequ.o spbrfs.o \
|
||||
- spbstf.o spbsv.o spbsvx.o \
|
||||
- spbtf2.o spbtrf.o spbtrs.o spocon.o spoequ.o sporfs.o sposv.o \
|
||||
- sposvx.o spotf2.o spotri.o spstrf.o spstf2.o \
|
||||
- sppcon.o sppequ.o \
|
||||
- spprfs.o sppsv.o sppsvx.o spptrf.o spptri.o spptrs.o sptcon.o \
|
||||
- spteqr.o sptrfs.o sptsv.o sptsvx.o spttrs.o sptts2.o srscl.o \
|
||||
- ssbev.o ssbevd.o ssbevx.o ssbgst.o ssbgv.o ssbgvd.o ssbgvx.o \
|
||||
- ssbtrd.o sspcon.o sspev.o sspevd.o sspevx.o sspgst.o \
|
||||
- sspgv.o sspgvd.o sspgvx.o ssprfs.o sspsv.o sspsvx.o ssptrd.o \
|
||||
- ssptrf.o ssptri.o ssptrs.o sstegr.o sstein.o sstev.o sstevd.o sstevr.o \
|
||||
- sstevx.o \
|
||||
- ssycon.o ssyev.o ssyevd.o ssyevr.o ssyevx.o ssygs2.o \
|
||||
- ssygst.o ssygv.o ssygvd.o ssygvx.o ssyrfs.o ssysv.o ssysvx.o \
|
||||
- ssytd2.o ssytf2.o ssytrd.o ssytrf.o ssytri.o ssytri2.o ssytri2x.o \
|
||||
- ssyswapr.o ssytrs.o ssytrs2.o ssyconv.o \
|
||||
- stbcon.o \
|
||||
- stbrfs.o stbtrs.o stgevc.o stgex2.o stgexc.o stgsen.o \
|
||||
- stgsja.o stgsna.o stgsy2.o stgsyl.o stpcon.o stprfs.o stptri.o \
|
||||
- stptrs.o \
|
||||
- strcon.o strevc.o strexc.o strrfs.o strsen.o strsna.o strsyl.o \
|
||||
- strti2.o strtri.o strtrs.o stzrqf.o stzrzf.o sstemr.o \
|
||||
- slansf.o spftrf.o spftri.o spftrs.o ssfrk.o stfsm.o stftri.o stfttp.o \
|
||||
- stfttr.o stpttf.o stpttr.o strttf.o strttp.o \
|
||||
- sgejsv.o sgesvj.o sgsvj0.o sgsvj1.o \
|
||||
- sgeequb.o ssyequb.o spoequb.o sgbequb.o \
|
||||
- sbbcsd.o slapmr.o sorbdb.o sorcsd.o \
|
||||
- sgeqrt.o sgeqrt2.o sgeqrt3.o sgemqrt.o \
|
||||
- stpqrt.o stpqrt2.o stpmqrt.o stprfb.o
|
||||
+ sgbbrd.$(SUFFIX) sgbcon.$(SUFFIX) sgbequ.$(SUFFIX) sgbrfs.$(SUFFIX) sgbsv.$(SUFFIX) \
|
||||
+ sgbsvx.$(SUFFIX) sgbtf2.$(SUFFIX) sgbtrf.$(SUFFIX) sgbtrs.$(SUFFIX) sgebak.$(SUFFIX) sgebal.$(SUFFIX) sgebd2.$(SUFFIX) \
|
||||
+ sgebrd.$(SUFFIX) sgecon.$(SUFFIX) sgeequ.$(SUFFIX) sgees.$(SUFFIX) sgeesx.$(SUFFIX) sgeev.$(SUFFIX) sgeevx.$(SUFFIX) \
|
||||
+ sgegs.$(SUFFIX) sgegv.$(SUFFIX) sgehd2.$(SUFFIX) sgehrd.$(SUFFIX) sgelq2.$(SUFFIX) sgelqf.$(SUFFIX) \
|
||||
+ sgels.$(SUFFIX) sgelsd.$(SUFFIX) sgelss.$(SUFFIX) sgelsx.$(SUFFIX) sgelsy.$(SUFFIX) sgeql2.$(SUFFIX) sgeqlf.$(SUFFIX) \
|
||||
+ sgeqp3.$(SUFFIX) sgeqpf.$(SUFFIX) sgeqr2.$(SUFFIX) sgeqr2p.$(SUFFIX) sgeqrf.$(SUFFIX) sgeqrfp.$(SUFFIX) sgerfs.$(SUFFIX) \
|
||||
+ sgerq2.$(SUFFIX) sgerqf.$(SUFFIX) sgesc2.$(SUFFIX) sgesdd.$(SUFFIX) sgesv.$(SUFFIX) sgesvd.$(SUFFIX) sgesvx.$(SUFFIX) \
|
||||
+ sgetc2.$(SUFFIX) sgetri.$(SUFFIX) \
|
||||
+ sggbak.$(SUFFIX) sggbal.$(SUFFIX) sgges.$(SUFFIX) sggesx.$(SUFFIX) sggev.$(SUFFIX) sggevx.$(SUFFIX) \
|
||||
+ sggglm.$(SUFFIX) sgghrd.$(SUFFIX) sgglse.$(SUFFIX) sggqrf.$(SUFFIX) \
|
||||
+ sggrqf.$(SUFFIX) sggsvd.$(SUFFIX) sggsvp.$(SUFFIX) sgtcon.$(SUFFIX) sgtrfs.$(SUFFIX) sgtsv.$(SUFFIX) \
|
||||
+ sgtsvx.$(SUFFIX) sgttrf.$(SUFFIX) sgttrs.$(SUFFIX) sgtts2.$(SUFFIX) shgeqz.$(SUFFIX) \
|
||||
+ shsein.$(SUFFIX) shseqr.$(SUFFIX) slabrd.$(SUFFIX) slacon.$(SUFFIX) slacn2.$(SUFFIX) \
|
||||
+ slaein.$(SUFFIX) slaexc.$(SUFFIX) slag2.$(SUFFIX) slags2.$(SUFFIX) slagtm.$(SUFFIX) slagv2.$(SUFFIX) slahqr.$(SUFFIX) \
|
||||
+ slahrd.$(SUFFIX) slahr2.$(SUFFIX) slaic1.$(SUFFIX) slaln2.$(SUFFIX) slals0.$(SUFFIX) slalsa.$(SUFFIX) slalsd.$(SUFFIX) \
|
||||
+ slangb.$(SUFFIX) slange.$(SUFFIX) slangt.$(SUFFIX) slanhs.$(SUFFIX) slansb.$(SUFFIX) slansp.$(SUFFIX) \
|
||||
+ slansy.$(SUFFIX) slantb.$(SUFFIX) slantp.$(SUFFIX) slantr.$(SUFFIX) slanv2.$(SUFFIX) \
|
||||
+ slapll.$(SUFFIX) slapmt.$(SUFFIX) \
|
||||
+ slaqgb.$(SUFFIX) slaqge.$(SUFFIX) slaqp2.$(SUFFIX) slaqps.$(SUFFIX) slaqsb.$(SUFFIX) slaqsp.$(SUFFIX) slaqsy.$(SUFFIX) \
|
||||
+ slaqr0.$(SUFFIX) slaqr1.$(SUFFIX) slaqr2.$(SUFFIX) slaqr3.$(SUFFIX) slaqr4.$(SUFFIX) slaqr5.$(SUFFIX) \
|
||||
+ slaqtr.$(SUFFIX) slar1v.$(SUFFIX) slar2v.$(SUFFIX) ilaslr.$(SUFFIX) ilaslc.$(SUFFIX) \
|
||||
+ slarf.$(SUFFIX) slarfb.$(SUFFIX) slarfg.$(SUFFIX) slarfgp.$(SUFFIX) slarft.$(SUFFIX) slarfx.$(SUFFIX) slargv.$(SUFFIX) \
|
||||
+ slarrv.$(SUFFIX) slartv.$(SUFFIX) \
|
||||
+ slarz.$(SUFFIX) slarzb.$(SUFFIX) slarzt.$(SUFFIX) slasy2.$(SUFFIX) slasyf.$(SUFFIX) \
|
||||
+ slatbs.$(SUFFIX) slatdf.$(SUFFIX) slatps.$(SUFFIX) slatrd.$(SUFFIX) slatrs.$(SUFFIX) slatrz.$(SUFFIX) slatzm.$(SUFFIX) \
|
||||
+ sopgtr.$(SUFFIX) sopmtr.$(SUFFIX) sorg2l.$(SUFFIX) sorg2r.$(SUFFIX) \
|
||||
+ sorgbr.$(SUFFIX) sorghr.$(SUFFIX) sorgl2.$(SUFFIX) sorglq.$(SUFFIX) sorgql.$(SUFFIX) sorgqr.$(SUFFIX) sorgr2.$(SUFFIX) \
|
||||
+ sorgrq.$(SUFFIX) sorgtr.$(SUFFIX) sorm2l.$(SUFFIX) sorm2r.$(SUFFIX) \
|
||||
+ sormbr.$(SUFFIX) sormhr.$(SUFFIX) sorml2.$(SUFFIX) sormlq.$(SUFFIX) sormql.$(SUFFIX) sormqr.$(SUFFIX) sormr2.$(SUFFIX) \
|
||||
+ sormr3.$(SUFFIX) sormrq.$(SUFFIX) sormrz.$(SUFFIX) sormtr.$(SUFFIX) spbcon.$(SUFFIX) spbequ.$(SUFFIX) spbrfs.$(SUFFIX) \
|
||||
+ spbstf.$(SUFFIX) spbsv.$(SUFFIX) spbsvx.$(SUFFIX) \
|
||||
+ spbtf2.$(SUFFIX) spbtrf.$(SUFFIX) spbtrs.$(SUFFIX) spocon.$(SUFFIX) spoequ.$(SUFFIX) sporfs.$(SUFFIX) sposv.$(SUFFIX) \
|
||||
+ sposvx.$(SUFFIX) spotri.$(SUFFIX) spstrf.$(SUFFIX) spstf2.$(SUFFIX) \
|
||||
+ sppcon.$(SUFFIX) sppequ.$(SUFFIX) \
|
||||
+ spprfs.$(SUFFIX) sppsv.$(SUFFIX) sppsvx.$(SUFFIX) spptrf.$(SUFFIX) spptri.$(SUFFIX) spptrs.$(SUFFIX) sptcon.$(SUFFIX) \
|
||||
+ spteqr.$(SUFFIX) sptrfs.$(SUFFIX) sptsv.$(SUFFIX) sptsvx.$(SUFFIX) spttrs.$(SUFFIX) sptts2.$(SUFFIX) srscl.$(SUFFIX) \
|
||||
+ ssbev.$(SUFFIX) ssbevd.$(SUFFIX) ssbevx.$(SUFFIX) ssbgst.$(SUFFIX) ssbgv.$(SUFFIX) ssbgvd.$(SUFFIX) ssbgvx.$(SUFFIX) \
|
||||
+ ssbtrd.$(SUFFIX) sspcon.$(SUFFIX) sspev.$(SUFFIX) sspevd.$(SUFFIX) sspevx.$(SUFFIX) sspgst.$(SUFFIX) \
|
||||
+ sspgv.$(SUFFIX) sspgvd.$(SUFFIX) sspgvx.$(SUFFIX) ssprfs.$(SUFFIX) sspsv.$(SUFFIX) sspsvx.$(SUFFIX) ssptrd.$(SUFFIX) \
|
||||
+ ssptrf.$(SUFFIX) ssptri.$(SUFFIX) ssptrs.$(SUFFIX) sstegr.$(SUFFIX) sstein.$(SUFFIX) sstev.$(SUFFIX) sstevd.$(SUFFIX) sstevr.$(SUFFIX) \
|
||||
+ sstevx.$(SUFFIX) \
|
||||
+ ssycon.$(SUFFIX) ssyev.$(SUFFIX) ssyevd.$(SUFFIX) ssyevr.$(SUFFIX) ssyevx.$(SUFFIX) ssygs2.$(SUFFIX) \
|
||||
+ ssygst.$(SUFFIX) ssygv.$(SUFFIX) ssygvd.$(SUFFIX) ssygvx.$(SUFFIX) ssyrfs.$(SUFFIX) ssysv.$(SUFFIX) ssysvx.$(SUFFIX) \
|
||||
+ ssytd2.$(SUFFIX) ssytf2.$(SUFFIX) ssytrd.$(SUFFIX) ssytrf.$(SUFFIX) ssytri.$(SUFFIX) ssytri2.$(SUFFIX) ssytri2x.$(SUFFIX) \
|
||||
+ ssyswapr.$(SUFFIX) ssytrs.$(SUFFIX) ssytrs2.$(SUFFIX) ssyconv.$(SUFFIX) \
|
||||
+ stbcon.$(SUFFIX) \
|
||||
+ stbrfs.$(SUFFIX) stbtrs.$(SUFFIX) stgevc.$(SUFFIX) stgex2.$(SUFFIX) stgexc.$(SUFFIX) stgsen.$(SUFFIX) \
|
||||
+ stgsja.$(SUFFIX) stgsna.$(SUFFIX) stgsy2.$(SUFFIX) stgsyl.$(SUFFIX) stpcon.$(SUFFIX) stprfs.$(SUFFIX) stptri.$(SUFFIX) \
|
||||
+ stptrs.$(SUFFIX) \
|
||||
+ strcon.$(SUFFIX) strevc.$(SUFFIX) strexc.$(SUFFIX) strrfs.$(SUFFIX) strsen.$(SUFFIX) strsna.$(SUFFIX) strsyl.$(SUFFIX) \
|
||||
+ strtrs.$(SUFFIX) stzrqf.$(SUFFIX) stzrzf.$(SUFFIX) sstemr.$(SUFFIX) \
|
||||
+ slansf.$(SUFFIX) spftrf.$(SUFFIX) spftri.$(SUFFIX) spftrs.$(SUFFIX) ssfrk.$(SUFFIX) stfsm.$(SUFFIX) stftri.$(SUFFIX) stfttp.$(SUFFIX) \
|
||||
+ stfttr.$(SUFFIX) stpttf.$(SUFFIX) stpttr.$(SUFFIX) strttf.$(SUFFIX) strttp.$(SUFFIX) \
|
||||
+ sgejsv.$(SUFFIX) sgesvj.$(SUFFIX) sgsvj0.$(SUFFIX) sgsvj1.$(SUFFIX) \
|
||||
+ sgeequb.$(SUFFIX) ssyequb.$(SUFFIX) spoequb.$(SUFFIX) sgbequb.$(SUFFIX) \
|
||||
+ sbbcsd.$(SUFFIX) slapmr.$(SUFFIX) sorbdb.$(SUFFIX) sorcsd.$(SUFFIX) \
|
||||
+ sgeqrt.$(SUFFIX) sgeqrt2.$(SUFFIX) sgeqrt3.$(SUFFIX) sgemqrt.$(SUFFIX) \
|
||||
+ stpqrt.$(SUFFIX) stpqrt2.$(SUFFIX) stpmqrt.$(SUFFIX) stprfb.$(SUFFIX)
|
||||
|
||||
-DSLASRC = spotrs.o sgetrs.o spotrf.o sgetrf.o
|
||||
+DSLASRC = spotrs.$(SUFFIX)
|
||||
|
||||
ifdef USEXBLAS
|
||||
-SXLASRC = sgesvxx.o sgerfsx.o sla_gerfsx_extended.o sla_geamv.o \
|
||||
- sla_gercond.o sla_gerpvgrw.o ssysvxx.o ssyrfsx.o \
|
||||
- sla_syrfsx_extended.o sla_syamv.o sla_syrcond.o sla_syrpvgrw.o \
|
||||
- sposvxx.o sporfsx.o sla_porfsx_extended.o sla_porcond.o \
|
||||
- sla_porpvgrw.o sgbsvxx.o sgbrfsx.o sla_gbrfsx_extended.o \
|
||||
- sla_gbamv.o sla_gbrcond.o sla_gbrpvgrw.o sla_lin_berr.o slarscl2.o \
|
||||
- slascl2.o sla_wwaddw.o
|
||||
+SXLASRC = sgesvxx.$(SUFFIX) sgerfsx.$(SUFFIX) sla_gerfsx_extended.$(SUFFIX) sla_geamv.$(SUFFIX) \
|
||||
+ sla_gercond.$(SUFFIX) sla_gerpvgrw.$(SUFFIX) ssysvxx.$(SUFFIX) ssyrfsx.$(SUFFIX) \
|
||||
+ sla_syrfsx_extended.$(SUFFIX) sla_syamv.$(SUFFIX) sla_syrcond.$(SUFFIX) sla_syrpvgrw.$(SUFFIX) \
|
||||
+ sposvxx.$(SUFFIX) sporfsx.$(SUFFIX) sla_porfsx_extended.$(SUFFIX) sla_porcond.$(SUFFIX) \
|
||||
+ sla_porpvgrw.$(SUFFIX) sgbsvxx.$(SUFFIX) sgbrfsx.$(SUFFIX) sla_gbrfsx_extended.$(SUFFIX) \
|
||||
+ sla_gbamv.$(SUFFIX) sla_gbrcond.$(SUFFIX) sla_gbrpvgrw.$(SUFFIX) sla_lin_berr.$(SUFFIX) slarscl2.$(SUFFIX) \
|
||||
+ slascl2.$(SUFFIX) sla_wwaddw.$(SUFFIX)
|
||||
endif
|
||||
|
||||
CLASRC = \
|
||||
- cbdsqr.o cgbbrd.o cgbcon.o cgbequ.o cgbrfs.o cgbsv.o cgbsvx.o \
|
||||
- cgbtf2.o cgbtrf.o cgbtrs.o cgebak.o cgebal.o cgebd2.o cgebrd.o \
|
||||
- cgecon.o cgeequ.o cgees.o cgeesx.o cgeev.o cgeevx.o \
|
||||
- cgegs.o cgegv.o cgehd2.o cgehrd.o cgelq2.o cgelqf.o \
|
||||
- cgels.o cgelsd.o cgelss.o cgelsx.o cgelsy.o cgeql2.o cgeqlf.o cgeqp3.o \
|
||||
- cgeqpf.o cgeqr2.o cgeqr2p.o cgeqrf.o cgeqrfp.o cgerfs.o \
|
||||
- cgerq2.o cgerqf.o cgesc2.o cgesdd.o cgesv.o cgesvd.o \
|
||||
- cgesvx.o cgetc2.o cgetf2.o cgetri.o \
|
||||
- cggbak.o cggbal.o cgges.o cggesx.o cggev.o cggevx.o cggglm.o \
|
||||
- cgghrd.o cgglse.o cggqrf.o cggrqf.o \
|
||||
- cggsvd.o cggsvp.o \
|
||||
- cgtcon.o cgtrfs.o cgtsv.o cgtsvx.o cgttrf.o cgttrs.o cgtts2.o chbev.o \
|
||||
- chbevd.o chbevx.o chbgst.o chbgv.o chbgvd.o chbgvx.o chbtrd.o \
|
||||
- checon.o cheev.o cheevd.o cheevr.o cheevx.o chegs2.o chegst.o \
|
||||
- chegv.o chegvd.o chegvx.o cherfs.o chesv.o chesvx.o chetd2.o \
|
||||
- chetf2.o chetrd.o \
|
||||
- chetrf.o chetri.o chetri2.o chetri2x.o cheswapr.o \
|
||||
- chetrs.o chetrs2.o chgeqz.o chpcon.o chpev.o chpevd.o \
|
||||
- chpevx.o chpgst.o chpgv.o chpgvd.o chpgvx.o chprfs.o chpsv.o \
|
||||
- chpsvx.o \
|
||||
- chptrd.o chptrf.o chptri.o chptrs.o chsein.o chseqr.o clabrd.o \
|
||||
- clacgv.o clacon.o clacn2.o clacp2.o clacpy.o clacrm.o clacrt.o cladiv.o \
|
||||
- claed0.o claed7.o claed8.o \
|
||||
- claein.o claesy.o claev2.o clags2.o clagtm.o \
|
||||
- clahef.o clahqr.o \
|
||||
- clahrd.o clahr2.o claic1.o clals0.o clalsa.o clalsd.o clangb.o clange.o clangt.o \
|
||||
- clanhb.o clanhe.o \
|
||||
- clanhp.o clanhs.o clanht.o clansb.o clansp.o clansy.o clantb.o \
|
||||
- clantp.o clantr.o clapll.o clapmt.o clarcm.o claqgb.o claqge.o \
|
||||
- claqhb.o claqhe.o claqhp.o claqp2.o claqps.o claqsb.o \
|
||||
- claqr0.o claqr1.o claqr2.o claqr3.o claqr4.o claqr5.o \
|
||||
- claqsp.o claqsy.o clar1v.o clar2v.o ilaclr.o ilaclc.o \
|
||||
- clarf.o clarfb.o clarfg.o clarft.o clarfgp.o \
|
||||
- clarfx.o clargv.o clarnv.o clarrv.o clartg.o clartv.o \
|
||||
- clarz.o clarzb.o clarzt.o clascl.o claset.o clasr.o classq.o \
|
||||
- claswp.o clasyf.o clatbs.o clatdf.o clatps.o clatrd.o clatrs.o clatrz.o \
|
||||
- clatzm.o clauu2.o clauum.o cpbcon.o cpbequ.o cpbrfs.o cpbstf.o cpbsv.o \
|
||||
- cpbsvx.o cpbtf2.o cpbtrf.o cpbtrs.o cpocon.o cpoequ.o cporfs.o \
|
||||
- cposv.o cposvx.o cpotf2.o cpotri.o cpstrf.o cpstf2.o \
|
||||
- cppcon.o cppequ.o cpprfs.o cppsv.o cppsvx.o cpptrf.o cpptri.o cpptrs.o \
|
||||
- cptcon.o cpteqr.o cptrfs.o cptsv.o cptsvx.o cpttrf.o cpttrs.o cptts2.o \
|
||||
- crot.o cspcon.o cspmv.o cspr.o csprfs.o cspsv.o \
|
||||
- cspsvx.o csptrf.o csptri.o csptrs.o csrscl.o cstedc.o \
|
||||
- cstegr.o cstein.o csteqr.o \
|
||||
- csycon.o csymv.o \
|
||||
- csyr.o csyrfs.o csysv.o csysvx.o csytf2.o csytrf.o csytri.o csytri2.o csytri2x.o \
|
||||
- csyswapr.o csytrs.o csytrs2.o csyconv.o \
|
||||
- ctbcon.o ctbrfs.o ctbtrs.o ctgevc.o ctgex2.o \
|
||||
- ctgexc.o ctgsen.o ctgsja.o ctgsna.o ctgsy2.o ctgsyl.o ctpcon.o \
|
||||
- ctprfs.o ctptri.o \
|
||||
- ctptrs.o ctrcon.o ctrevc.o ctrexc.o ctrrfs.o ctrsen.o ctrsna.o \
|
||||
- ctrsyl.o ctrti2.o ctrtri.o ctrtrs.o ctzrqf.o ctzrzf.o cung2l.o cung2r.o \
|
||||
- cungbr.o cunghr.o cungl2.o cunglq.o cungql.o cungqr.o cungr2.o \
|
||||
- cungrq.o cungtr.o cunm2l.o cunm2r.o cunmbr.o cunmhr.o cunml2.o \
|
||||
- cunmlq.o cunmql.o cunmqr.o cunmr2.o cunmr3.o cunmrq.o cunmrz.o \
|
||||
- cunmtr.o cupgtr.o cupmtr.o icmax1.o scsum1.o cstemr.o \
|
||||
- chfrk.o ctfttp.o clanhf.o cpftrf.o cpftri.o cpftrs.o ctfsm.o ctftri.o \
|
||||
- ctfttr.o ctpttf.o ctpttr.o ctrttf.o ctrttp.o \
|
||||
- cgeequb.o cgbequb.o csyequb.o cpoequb.o cheequb.o \
|
||||
- cbbcsd.o clapmr.o cunbdb.o cuncsd.o \
|
||||
- cgeqrt.o cgeqrt2.o cgeqrt3.o cgemqrt.o \
|
||||
- ctpqrt.o ctpqrt2.o ctpmqrt.o ctprfb.o
|
||||
+ cbdsqr.$(SUFFIX) cgbbrd.$(SUFFIX) cgbcon.$(SUFFIX) cgbequ.$(SUFFIX) cgbrfs.$(SUFFIX) cgbsv.$(SUFFIX) cgbsvx.$(SUFFIX) \
|
||||
+ cgbtf2.$(SUFFIX) cgbtrf.$(SUFFIX) cgbtrs.$(SUFFIX) cgebak.$(SUFFIX) cgebal.$(SUFFIX) cgebd2.$(SUFFIX) cgebrd.$(SUFFIX) \
|
||||
+ cgecon.$(SUFFIX) cgeequ.$(SUFFIX) cgees.$(SUFFIX) cgeesx.$(SUFFIX) cgeev.$(SUFFIX) cgeevx.$(SUFFIX) \
|
||||
+ cgegs.$(SUFFIX) cgegv.$(SUFFIX) cgehd2.$(SUFFIX) cgehrd.$(SUFFIX) cgelq2.$(SUFFIX) cgelqf.$(SUFFIX) \
|
||||
+ cgels.$(SUFFIX) cgelsd.$(SUFFIX) cgelss.$(SUFFIX) cgelsx.$(SUFFIX) cgelsy.$(SUFFIX) cgeql2.$(SUFFIX) cgeqlf.$(SUFFIX) cgeqp3.$(SUFFIX) \
|
||||
+ cgeqpf.$(SUFFIX) cgeqr2.$(SUFFIX) cgeqr2p.$(SUFFIX) cgeqrf.$(SUFFIX) cgeqrfp.$(SUFFIX) cgerfs.$(SUFFIX) \
|
||||
+ cgerq2.$(SUFFIX) cgerqf.$(SUFFIX) cgesc2.$(SUFFIX) cgesdd.$(SUFFIX) cgesv.$(SUFFIX) cgesvd.$(SUFFIX) \
|
||||
+ cgesvx.$(SUFFIX) cgetc2.$(SUFFIX) cgetri.$(SUFFIX) \
|
||||
+ cggbak.$(SUFFIX) cggbal.$(SUFFIX) cgges.$(SUFFIX) cggesx.$(SUFFIX) cggev.$(SUFFIX) cggevx.$(SUFFIX) cggglm.$(SUFFIX) \
|
||||
+ cgghrd.$(SUFFIX) cgglse.$(SUFFIX) cggqrf.$(SUFFIX) cggrqf.$(SUFFIX) \
|
||||
+ cggsvd.$(SUFFIX) cggsvp.$(SUFFIX) \
|
||||
+ cgtcon.$(SUFFIX) cgtrfs.$(SUFFIX) cgtsv.$(SUFFIX) cgtsvx.$(SUFFIX) cgttrf.$(SUFFIX) cgttrs.$(SUFFIX) cgtts2.$(SUFFIX) chbev.$(SUFFIX) \
|
||||
+ chbevd.$(SUFFIX) chbevx.$(SUFFIX) chbgst.$(SUFFIX) chbgv.$(SUFFIX) chbgvd.$(SUFFIX) chbgvx.$(SUFFIX) chbtrd.$(SUFFIX) \
|
||||
+ checon.$(SUFFIX) cheev.$(SUFFIX) cheevd.$(SUFFIX) cheevr.$(SUFFIX) cheevx.$(SUFFIX) chegs2.$(SUFFIX) chegst.$(SUFFIX) \
|
||||
+ chegv.$(SUFFIX) chegvd.$(SUFFIX) chegvx.$(SUFFIX) cherfs.$(SUFFIX) chesv.$(SUFFIX) chesvx.$(SUFFIX) chetd2.$(SUFFIX) \
|
||||
+ chetf2.$(SUFFIX) chetrd.$(SUFFIX) \
|
||||
+ chetrf.$(SUFFIX) chetri.$(SUFFIX) chetri2.$(SUFFIX) chetri2x.$(SUFFIX) cheswapr.$(SUFFIX) \
|
||||
+ chetrs.$(SUFFIX) chetrs2.$(SUFFIX) chgeqz.$(SUFFIX) chpcon.$(SUFFIX) chpev.$(SUFFIX) chpevd.$(SUFFIX) \
|
||||
+ chpevx.$(SUFFIX) chpgst.$(SUFFIX) chpgv.$(SUFFIX) chpgvd.$(SUFFIX) chpgvx.$(SUFFIX) chprfs.$(SUFFIX) chpsv.$(SUFFIX) \
|
||||
+ chpsvx.$(SUFFIX) \
|
||||
+ chptrd.$(SUFFIX) chptrf.$(SUFFIX) chptri.$(SUFFIX) chptrs.$(SUFFIX) chsein.$(SUFFIX) chseqr.$(SUFFIX) clabrd.$(SUFFIX) \
|
||||
+ clacgv.$(SUFFIX) clacon.$(SUFFIX) clacn2.$(SUFFIX) clacp2.$(SUFFIX) clacpy.$(SUFFIX) clacrm.$(SUFFIX) clacrt.$(SUFFIX) cladiv.$(SUFFIX) \
|
||||
+ claed0.$(SUFFIX) claed7.$(SUFFIX) claed8.$(SUFFIX) \
|
||||
+ claein.$(SUFFIX) claesy.$(SUFFIX) claev2.$(SUFFIX) clags2.$(SUFFIX) clagtm.$(SUFFIX) \
|
||||
+ clahef.$(SUFFIX) clahqr.$(SUFFIX) \
|
||||
+ clahrd.$(SUFFIX) clahr2.$(SUFFIX) claic1.$(SUFFIX) clals0.$(SUFFIX) clalsa.$(SUFFIX) clalsd.$(SUFFIX) clangb.$(SUFFIX) clange.$(SUFFIX) clangt.$(SUFFIX) \
|
||||
+ clanhb.$(SUFFIX) clanhe.$(SUFFIX) \
|
||||
+ clanhp.$(SUFFIX) clanhs.$(SUFFIX) clanht.$(SUFFIX) clansb.$(SUFFIX) clansp.$(SUFFIX) clansy.$(SUFFIX) clantb.$(SUFFIX) \
|
||||
+ clantp.$(SUFFIX) clantr.$(SUFFIX) clapll.$(SUFFIX) clapmt.$(SUFFIX) clarcm.$(SUFFIX) claqgb.$(SUFFIX) claqge.$(SUFFIX) \
|
||||
+ claqhb.$(SUFFIX) claqhe.$(SUFFIX) claqhp.$(SUFFIX) claqp2.$(SUFFIX) claqps.$(SUFFIX) claqsb.$(SUFFIX) \
|
||||
+ claqr0.$(SUFFIX) claqr1.$(SUFFIX) claqr2.$(SUFFIX) claqr3.$(SUFFIX) claqr4.$(SUFFIX) claqr5.$(SUFFIX) \
|
||||
+ claqsp.$(SUFFIX) claqsy.$(SUFFIX) clar1v.$(SUFFIX) clar2v.$(SUFFIX) ilaclr.$(SUFFIX) ilaclc.$(SUFFIX) \
|
||||
+ clarf.$(SUFFIX) clarfb.$(SUFFIX) clarfg.$(SUFFIX) clarft.$(SUFFIX) clarfgp.$(SUFFIX) \
|
||||
+ clarfx.$(SUFFIX) clargv.$(SUFFIX) clarnv.$(SUFFIX) clarrv.$(SUFFIX) clartg.$(SUFFIX) clartv.$(SUFFIX) \
|
||||
+ clarz.$(SUFFIX) clarzb.$(SUFFIX) clarzt.$(SUFFIX) clascl.$(SUFFIX) claset.$(SUFFIX) clasr.$(SUFFIX) classq.$(SUFFIX) \
|
||||
+ clasyf.$(SUFFIX) clatbs.$(SUFFIX) clatdf.$(SUFFIX) clatps.$(SUFFIX) clatrd.$(SUFFIX) clatrs.$(SUFFIX) clatrz.$(SUFFIX) \
|
||||
+ clatzm.$(SUFFIX) cpbcon.$(SUFFIX) cpbequ.$(SUFFIX) cpbrfs.$(SUFFIX) cpbstf.$(SUFFIX) cpbsv.$(SUFFIX) \
|
||||
+ cpbsvx.$(SUFFIX) cpbtf2.$(SUFFIX) cpbtrf.$(SUFFIX) cpbtrs.$(SUFFIX) cpocon.$(SUFFIX) cpoequ.$(SUFFIX) cporfs.$(SUFFIX) \
|
||||
+ cposv.$(SUFFIX) cposvx.$(SUFFIX) cpotri.$(SUFFIX) cpstrf.$(SUFFIX) cpstf2.$(SUFFIX) \
|
||||
+ cppcon.$(SUFFIX) cppequ.$(SUFFIX) cpprfs.$(SUFFIX) cppsv.$(SUFFIX) cppsvx.$(SUFFIX) cpptrf.$(SUFFIX) cpptri.$(SUFFIX) cpptrs.$(SUFFIX) \
|
||||
+ cptcon.$(SUFFIX) cpteqr.$(SUFFIX) cptrfs.$(SUFFIX) cptsv.$(SUFFIX) cptsvx.$(SUFFIX) cpttrf.$(SUFFIX) cpttrs.$(SUFFIX) cptts2.$(SUFFIX) \
|
||||
+ crot.$(SUFFIX) cspcon.$(SUFFIX) cspmv.$(SUFFIX) cspr.$(SUFFIX) csprfs.$(SUFFIX) cspsv.$(SUFFIX) \
|
||||
+ cspsvx.$(SUFFIX) csptrf.$(SUFFIX) csptri.$(SUFFIX) csptrs.$(SUFFIX) csrscl.$(SUFFIX) cstedc.$(SUFFIX) \
|
||||
+ cstegr.$(SUFFIX) cstein.$(SUFFIX) csteqr.$(SUFFIX) \
|
||||
+ csycon.$(SUFFIX) csymv.$(SUFFIX) \
|
||||
+ csyr.$(SUFFIX) csyrfs.$(SUFFIX) csysv.$(SUFFIX) csysvx.$(SUFFIX) csytf2.$(SUFFIX) csytrf.$(SUFFIX) csytri.$(SUFFIX) csytri2.$(SUFFIX) csytri2x.$(SUFFIX) \
|
||||
+ csyswapr.$(SUFFIX) csytrs.$(SUFFIX) csytrs2.$(SUFFIX) csyconv.$(SUFFIX) \
|
||||
+ ctbcon.$(SUFFIX) ctbrfs.$(SUFFIX) ctbtrs.$(SUFFIX) ctgevc.$(SUFFIX) ctgex2.$(SUFFIX) \
|
||||
+ ctgexc.$(SUFFIX) ctgsen.$(SUFFIX) ctgsja.$(SUFFIX) ctgsna.$(SUFFIX) ctgsy2.$(SUFFIX) ctgsyl.$(SUFFIX) ctpcon.$(SUFFIX) \
|
||||
+ ctprfs.$(SUFFIX) ctptri.$(SUFFIX) \
|
||||
+ ctptrs.$(SUFFIX) ctrcon.$(SUFFIX) ctrevc.$(SUFFIX) ctrexc.$(SUFFIX) ctrrfs.$(SUFFIX) ctrsen.$(SUFFIX) ctrsna.$(SUFFIX) \
|
||||
+ ctrsyl.$(SUFFIX) ctrtrs.$(SUFFIX) ctzrqf.$(SUFFIX) ctzrzf.$(SUFFIX) cung2l.$(SUFFIX) cung2r.$(SUFFIX) \
|
||||
+ cungbr.$(SUFFIX) cunghr.$(SUFFIX) cungl2.$(SUFFIX) cunglq.$(SUFFIX) cungql.$(SUFFIX) cungqr.$(SUFFIX) cungr2.$(SUFFIX) \
|
||||
+ cungrq.$(SUFFIX) cungtr.$(SUFFIX) cunm2l.$(SUFFIX) cunm2r.$(SUFFIX) cunmbr.$(SUFFIX) cunmhr.$(SUFFIX) cunml2.$(SUFFIX) \
|
||||
+ cunmlq.$(SUFFIX) cunmql.$(SUFFIX) cunmqr.$(SUFFIX) cunmr2.$(SUFFIX) cunmr3.$(SUFFIX) cunmrq.$(SUFFIX) cunmrz.$(SUFFIX) \
|
||||
+ cunmtr.$(SUFFIX) cupgtr.$(SUFFIX) cupmtr.$(SUFFIX) icmax1.$(SUFFIX) scsum1.$(SUFFIX) cstemr.$(SUFFIX) \
|
||||
+ chfrk.$(SUFFIX) ctfttp.$(SUFFIX) clanhf.$(SUFFIX) cpftrf.$(SUFFIX) cpftri.$(SUFFIX) cpftrs.$(SUFFIX) ctfsm.$(SUFFIX) ctftri.$(SUFFIX) \
|
||||
+ ctfttr.$(SUFFIX) ctpttf.$(SUFFIX) ctpttr.$(SUFFIX) ctrttf.$(SUFFIX) ctrttp.$(SUFFIX) \
|
||||
+ cgeequb.$(SUFFIX) cgbequb.$(SUFFIX) csyequb.$(SUFFIX) cpoequb.$(SUFFIX) cheequb.$(SUFFIX) \
|
||||
+ cbbcsd.$(SUFFIX) clapmr.$(SUFFIX) cunbdb.$(SUFFIX) cuncsd.$(SUFFIX) \
|
||||
+ cgeqrt.$(SUFFIX) cgeqrt2.$(SUFFIX) cgeqrt3.$(SUFFIX) cgemqrt.$(SUFFIX) \
|
||||
+ ctpqrt.$(SUFFIX) ctpqrt2.$(SUFFIX) ctpmqrt.$(SUFFIX) ctprfb.$(SUFFIX)
|
||||
|
||||
ifdef USEXBLAS
|
||||
-CXLASRC = cgesvxx.o cgerfsx.o cla_gerfsx_extended.o cla_geamv.o \
|
||||
- cla_gercond_c.o cla_gercond_x.o cla_gerpvgrw.o \
|
||||
- csysvxx.o csyrfsx.o cla_syrfsx_extended.o cla_syamv.o \
|
||||
- cla_syrcond_c.o cla_syrcond_x.o cla_syrpvgrw.o \
|
||||
- cposvxx.o cporfsx.o cla_porfsx_extended.o \
|
||||
- cla_porcond_c.o cla_porcond_x.o cla_porpvgrw.o \
|
||||
- cgbsvxx.o cgbrfsx.o cla_gbrfsx_extended.o cla_gbamv.o \
|
||||
- cla_gbrcond_c.o cla_gbrcond_x.o cla_gbrpvgrw.o \
|
||||
- chesvxx.o cherfsx.o cla_herfsx_extended.o cla_heamv.o \
|
||||
- cla_hercond_c.o cla_hercond_x.o cla_herpvgrw.o \
|
||||
- cla_lin_berr.o clarscl2.o clascl2.o cla_wwaddw.o
|
||||
+CXLASRC = cgesvxx.$(SUFFIX) cgerfsx.$(SUFFIX) cla_gerfsx_extended.$(SUFFIX) cla_geamv.$(SUFFIX) \
|
||||
+ cla_gercond_c.$(SUFFIX) cla_gercond_x.$(SUFFIX) cla_gerpvgrw.$(SUFFIX) \
|
||||
+ csysvxx.$(SUFFIX) csyrfsx.$(SUFFIX) cla_syrfsx_extended.$(SUFFIX) cla_syamv.$(SUFFIX) \
|
||||
+ cla_syrcond_c.$(SUFFIX) cla_syrcond_x.$(SUFFIX) cla_syrpvgrw.$(SUFFIX) \
|
||||
+ cposvxx.$(SUFFIX) cporfsx.$(SUFFIX) cla_porfsx_extended.$(SUFFIX) \
|
||||
+ cla_porcond_c.$(SUFFIX) cla_porcond_x.$(SUFFIX) cla_porpvgrw.$(SUFFIX) \
|
||||
+ cgbsvxx.$(SUFFIX) cgbrfsx.$(SUFFIX) cla_gbrfsx_extended.$(SUFFIX) cla_gbamv.$(SUFFIX) \
|
||||
+ cla_gbrcond_c.$(SUFFIX) cla_gbrcond_x.$(SUFFIX) cla_gbrpvgrw.$(SUFFIX) \
|
||||
+ chesvxx.$(SUFFIX) cherfsx.$(SUFFIX) cla_herfsx_extended.$(SUFFIX) cla_heamv.$(SUFFIX) \
|
||||
+ cla_hercond_c.$(SUFFIX) cla_hercond_x.$(SUFFIX) cla_herpvgrw.$(SUFFIX) \
|
||||
+ cla_lin_berr.$(SUFFIX) clarscl2.$(SUFFIX) clascl2.$(SUFFIX) cla_wwaddw.$(SUFFIX)
|
||||
endif
|
||||
|
||||
-ZCLASRC = cpotrs.o cgetrs.o cpotrf.o cgetrf.o
|
||||
+ZCLASRC = cpotrs.$(SUFFIX)
|
||||
|
||||
DLASRC = \
|
||||
- dgbbrd.o dgbcon.o dgbequ.o dgbrfs.o dgbsv.o \
|
||||
- dgbsvx.o dgbtf2.o dgbtrf.o dgbtrs.o dgebak.o dgebal.o dgebd2.o \
|
||||
- dgebrd.o dgecon.o dgeequ.o dgees.o dgeesx.o dgeev.o dgeevx.o \
|
||||
- dgegs.o dgegv.o dgehd2.o dgehrd.o dgelq2.o dgelqf.o \
|
||||
- dgels.o dgelsd.o dgelss.o dgelsx.o dgelsy.o dgeql2.o dgeqlf.o \
|
||||
- dgeqp3.o dgeqpf.o dgeqr2.o dgeqr2p.o dgeqrf.o dgeqrfp.o dgerfs.o \
|
||||
- dgerq2.o dgerqf.o dgesc2.o dgesdd.o dgesv.o dgesvd.o dgesvx.o \
|
||||
- dgetc2.o dgetf2.o dgetrf.o dgetri.o \
|
||||
- dgetrs.o dggbak.o dggbal.o dgges.o dggesx.o dggev.o dggevx.o \
|
||||
- dggglm.o dgghrd.o dgglse.o dggqrf.o \
|
||||
- dggrqf.o dggsvd.o dggsvp.o dgtcon.o dgtrfs.o dgtsv.o \
|
||||
- dgtsvx.o dgttrf.o dgttrs.o dgtts2.o dhgeqz.o \
|
||||
- dhsein.o dhseqr.o dlabrd.o dlacon.o dlacn2.o \
|
||||
- dlaein.o dlaexc.o dlag2.o dlags2.o dlagtm.o dlagv2.o dlahqr.o \
|
||||
- dlahrd.o dlahr2.o dlaic1.o dlaln2.o dlals0.o dlalsa.o dlalsd.o \
|
||||
- dlangb.o dlange.o dlangt.o dlanhs.o dlansb.o dlansp.o \
|
||||
- dlansy.o dlantb.o dlantp.o dlantr.o dlanv2.o \
|
||||
- dlapll.o dlapmt.o \
|
||||
- dlaqgb.o dlaqge.o dlaqp2.o dlaqps.o dlaqsb.o dlaqsp.o dlaqsy.o \
|
||||
- dlaqr0.o dlaqr1.o dlaqr2.o dlaqr3.o dlaqr4.o dlaqr5.o \
|
||||
- dlaqtr.o dlar1v.o dlar2v.o iladlr.o iladlc.o \
|
||||
- dlarf.o dlarfb.o dlarfg.o dlarfgp.o dlarft.o dlarfx.o \
|
||||
- dlargv.o dlarrv.o dlartv.o \
|
||||
- dlarz.o dlarzb.o dlarzt.o dlaswp.o dlasy2.o dlasyf.o \
|
||||
- dlatbs.o dlatdf.o dlatps.o dlatrd.o dlatrs.o dlatrz.o dlatzm.o dlauu2.o \
|
||||
- dlauum.o dopgtr.o dopmtr.o dorg2l.o dorg2r.o \
|
||||
- dorgbr.o dorghr.o dorgl2.o dorglq.o dorgql.o dorgqr.o dorgr2.o \
|
||||
- dorgrq.o dorgtr.o dorm2l.o dorm2r.o \
|
||||
- dormbr.o dormhr.o dorml2.o dormlq.o dormql.o dormqr.o dormr2.o \
|
||||
- dormr3.o dormrq.o dormrz.o dormtr.o dpbcon.o dpbequ.o dpbrfs.o \
|
||||
- dpbstf.o dpbsv.o dpbsvx.o \
|
||||
- dpbtf2.o dpbtrf.o dpbtrs.o dpocon.o dpoequ.o dporfs.o dposv.o \
|
||||
- dposvx.o dpotf2.o dpotrf.o dpotri.o dpotrs.o dpstrf.o dpstf2.o \
|
||||
- dppcon.o dppequ.o \
|
||||
- dpprfs.o dppsv.o dppsvx.o dpptrf.o dpptri.o dpptrs.o dptcon.o \
|
||||
- dpteqr.o dptrfs.o dptsv.o dptsvx.o dpttrs.o dptts2.o drscl.o \
|
||||
- dsbev.o dsbevd.o dsbevx.o dsbgst.o dsbgv.o dsbgvd.o dsbgvx.o \
|
||||
- dsbtrd.o dspcon.o dspev.o dspevd.o dspevx.o dspgst.o \
|
||||
- dspgv.o dspgvd.o dspgvx.o dsprfs.o dspsv.o dspsvx.o dsptrd.o \
|
||||
- dsptrf.o dsptri.o dsptrs.o dstegr.o dstein.o dstev.o dstevd.o dstevr.o \
|
||||
- dstevx.o \
|
||||
- dsycon.o dsyev.o dsyevd.o dsyevr.o \
|
||||
- dsyevx.o dsygs2.o dsygst.o dsygv.o dsygvd.o dsygvx.o dsyrfs.o \
|
||||
- dsysv.o dsysvx.o \
|
||||
- dsytd2.o dsytf2.o dsytrd.o dsytrf.o dsytri.o dsytri2.o dsytri2x.o \
|
||||
- dsyswapr.o dsytrs.o dsytrs2.o dsyconv.o \
|
||||
- dtbcon.o dtbrfs.o dtbtrs.o dtgevc.o dtgex2.o dtgexc.o dtgsen.o \
|
||||
- dtgsja.o dtgsna.o dtgsy2.o dtgsyl.o dtpcon.o dtprfs.o dtptri.o \
|
||||
- dtptrs.o \
|
||||
- dtrcon.o dtrevc.o dtrexc.o dtrrfs.o dtrsen.o dtrsna.o dtrsyl.o \
|
||||
- dtrti2.o dtrtri.o dtrtrs.o dtzrqf.o dtzrzf.o dstemr.o \
|
||||
- dsgesv.o dsposv.o dlag2s.o slag2d.o dlat2s.o \
|
||||
- dlansf.o dpftrf.o dpftri.o dpftrs.o dsfrk.o dtfsm.o dtftri.o dtfttp.o \
|
||||
- dtfttr.o dtpttf.o dtpttr.o dtrttf.o dtrttp.o \
|
||||
- dgejsv.o dgesvj.o dgsvj0.o dgsvj1.o \
|
||||
- dgeequb.o dsyequb.o dpoequb.o dgbequb.o \
|
||||
- dbbcsd.o dlapmr.o dorbdb.o dorcsd.o \
|
||||
- dgeqrt.o dgeqrt2.o dgeqrt3.o dgemqrt.o \
|
||||
- dtpqrt.o dtpqrt2.o dtpmqrt.o dtprfb.o
|
||||
+ dgbbrd.$(SUFFIX) dgbcon.$(SUFFIX) dgbequ.$(SUFFIX) dgbrfs.$(SUFFIX) dgbsv.$(SUFFIX) \
|
||||
+ dgbsvx.$(SUFFIX) dgbtf2.$(SUFFIX) dgbtrf.$(SUFFIX) dgbtrs.$(SUFFIX) dgebak.$(SUFFIX) dgebal.$(SUFFIX) dgebd2.$(SUFFIX) \
|
||||
+ dgebrd.$(SUFFIX) dgecon.$(SUFFIX) dgeequ.$(SUFFIX) dgees.$(SUFFIX) dgeesx.$(SUFFIX) dgeev.$(SUFFIX) dgeevx.$(SUFFIX) \
|
||||
+ dgegs.$(SUFFIX) dgegv.$(SUFFIX) dgehd2.$(SUFFIX) dgehrd.$(SUFFIX) dgelq2.$(SUFFIX) dgelqf.$(SUFFIX) \
|
||||
+ dgels.$(SUFFIX) dgelsd.$(SUFFIX) dgelss.$(SUFFIX) dgelsx.$(SUFFIX) dgelsy.$(SUFFIX) dgeql2.$(SUFFIX) dgeqlf.$(SUFFIX) \
|
||||
+ dgeqp3.$(SUFFIX) dgeqpf.$(SUFFIX) dgeqr2.$(SUFFIX) dgeqr2p.$(SUFFIX) dgeqrf.$(SUFFIX) dgeqrfp.$(SUFFIX) dgerfs.$(SUFFIX) \
|
||||
+ dgerq2.$(SUFFIX) dgerqf.$(SUFFIX) dgesc2.$(SUFFIX) dgesdd.$(SUFFIX) dgesv.$(SUFFIX) dgesvd.$(SUFFIX) dgesvx.$(SUFFIX) \
|
||||
+ dgetc2.$(SUFFIX) dgetri.$(SUFFIX) \
|
||||
+ dggbak.$(SUFFIX) dggbal.$(SUFFIX) dgges.$(SUFFIX) dggesx.$(SUFFIX) dggev.$(SUFFIX) dggevx.$(SUFFIX) \
|
||||
+ dggglm.$(SUFFIX) dgghrd.$(SUFFIX) dgglse.$(SUFFIX) dggqrf.$(SUFFIX) \
|
||||
+ dggrqf.$(SUFFIX) dggsvd.$(SUFFIX) dggsvp.$(SUFFIX) dgtcon.$(SUFFIX) dgtrfs.$(SUFFIX) dgtsv.$(SUFFIX) \
|
||||
+ dgtsvx.$(SUFFIX) dgttrf.$(SUFFIX) dgttrs.$(SUFFIX) dgtts2.$(SUFFIX) dhgeqz.$(SUFFIX) \
|
||||
+ dhsein.$(SUFFIX) dhseqr.$(SUFFIX) dlabrd.$(SUFFIX) dlacon.$(SUFFIX) dlacn2.$(SUFFIX) \
|
||||
+ dlaein.$(SUFFIX) dlaexc.$(SUFFIX) dlag2.$(SUFFIX) dlags2.$(SUFFIX) dlagtm.$(SUFFIX) dlagv2.$(SUFFIX) dlahqr.$(SUFFIX) \
|
||||
+ dlahrd.$(SUFFIX) dlahr2.$(SUFFIX) dlaic1.$(SUFFIX) dlaln2.$(SUFFIX) dlals0.$(SUFFIX) dlalsa.$(SUFFIX) dlalsd.$(SUFFIX) \
|
||||
+ dlangb.$(SUFFIX) dlange.$(SUFFIX) dlangt.$(SUFFIX) dlanhs.$(SUFFIX) dlansb.$(SUFFIX) dlansp.$(SUFFIX) \
|
||||
+ dlansy.$(SUFFIX) dlantb.$(SUFFIX) dlantp.$(SUFFIX) dlantr.$(SUFFIX) dlanv2.$(SUFFIX) \
|
||||
+ dlapll.$(SUFFIX) dlapmt.$(SUFFIX) \
|
||||
+ dlaqgb.$(SUFFIX) dlaqge.$(SUFFIX) dlaqp2.$(SUFFIX) dlaqps.$(SUFFIX) dlaqsb.$(SUFFIX) dlaqsp.$(SUFFIX) dlaqsy.$(SUFFIX) \
|
||||
+ dlaqr0.$(SUFFIX) dlaqr1.$(SUFFIX) dlaqr2.$(SUFFIX) dlaqr3.$(SUFFIX) dlaqr4.$(SUFFIX) dlaqr5.$(SUFFIX) \
|
||||
+ dlaqtr.$(SUFFIX) dlar1v.$(SUFFIX) dlar2v.$(SUFFIX) iladlr.$(SUFFIX) iladlc.$(SUFFIX) \
|
||||
+ dlarf.$(SUFFIX) dlarfb.$(SUFFIX) dlarfg.$(SUFFIX) dlarfgp.$(SUFFIX) dlarft.$(SUFFIX) dlarfx.$(SUFFIX) \
|
||||
+ dlargv.$(SUFFIX) dlarrv.$(SUFFIX) dlartv.$(SUFFIX) \
|
||||
+ dlarz.$(SUFFIX) dlarzb.$(SUFFIX) dlarzt.$(SUFFIX) dlasy2.$(SUFFIX) dlasyf.$(SUFFIX) \
|
||||
+ dlatbs.$(SUFFIX) dlatdf.$(SUFFIX) dlatps.$(SUFFIX) dlatrd.$(SUFFIX) dlatrs.$(SUFFIX) dlatrz.$(SUFFIX) dlatzm.$(SUFFIX) \
|
||||
+ dopgtr.$(SUFFIX) dopmtr.$(SUFFIX) dorg2l.$(SUFFIX) dorg2r.$(SUFFIX) \
|
||||
+ dorgbr.$(SUFFIX) dorghr.$(SUFFIX) dorgl2.$(SUFFIX) dorglq.$(SUFFIX) dorgql.$(SUFFIX) dorgqr.$(SUFFIX) dorgr2.$(SUFFIX) \
|
||||
+ dorgrq.$(SUFFIX) dorgtr.$(SUFFIX) dorm2l.$(SUFFIX) dorm2r.$(SUFFIX) \
|
||||
+ dormbr.$(SUFFIX) dormhr.$(SUFFIX) dorml2.$(SUFFIX) dormlq.$(SUFFIX) dormql.$(SUFFIX) dormqr.$(SUFFIX) dormr2.$(SUFFIX) \
|
||||
+ dormr3.$(SUFFIX) dormrq.$(SUFFIX) dormrz.$(SUFFIX) dormtr.$(SUFFIX) dpbcon.$(SUFFIX) dpbequ.$(SUFFIX) dpbrfs.$(SUFFIX) \
|
||||
+ dpbstf.$(SUFFIX) dpbsv.$(SUFFIX) dpbsvx.$(SUFFIX) \
|
||||
+ dpbtf2.$(SUFFIX) dpbtrf.$(SUFFIX) dpbtrs.$(SUFFIX) dpocon.$(SUFFIX) dpoequ.$(SUFFIX) dporfs.$(SUFFIX) dposv.$(SUFFIX) \
|
||||
+ dposvx.$(SUFFIX) dpotri.$(SUFFIX) dpotrs.$(SUFFIX) dpstrf.$(SUFFIX) dpstf2.$(SUFFIX) \
|
||||
+ dppcon.$(SUFFIX) dppequ.$(SUFFIX) \
|
||||
+ dpprfs.$(SUFFIX) dppsv.$(SUFFIX) dppsvx.$(SUFFIX) dpptrf.$(SUFFIX) dpptri.$(SUFFIX) dpptrs.$(SUFFIX) dptcon.$(SUFFIX) \
|
||||
+ dpteqr.$(SUFFIX) dptrfs.$(SUFFIX) dptsv.$(SUFFIX) dptsvx.$(SUFFIX) dpttrs.$(SUFFIX) dptts2.$(SUFFIX) drscl.$(SUFFIX) \
|
||||
+ dsbev.$(SUFFIX) dsbevd.$(SUFFIX) dsbevx.$(SUFFIX) dsbgst.$(SUFFIX) dsbgv.$(SUFFIX) dsbgvd.$(SUFFIX) dsbgvx.$(SUFFIX) \
|
||||
+ dsbtrd.$(SUFFIX) dspcon.$(SUFFIX) dspev.$(SUFFIX) dspevd.$(SUFFIX) dspevx.$(SUFFIX) dspgst.$(SUFFIX) \
|
||||
+ dspgv.$(SUFFIX) dspgvd.$(SUFFIX) dspgvx.$(SUFFIX) dsprfs.$(SUFFIX) dspsv.$(SUFFIX) dspsvx.$(SUFFIX) dsptrd.$(SUFFIX) \
|
||||
+ dsptrf.$(SUFFIX) dsptri.$(SUFFIX) dsptrs.$(SUFFIX) dstegr.$(SUFFIX) dstein.$(SUFFIX) dstev.$(SUFFIX) dstevd.$(SUFFIX) dstevr.$(SUFFIX) \
|
||||
+ dstevx.$(SUFFIX) \
|
||||
+ dsycon.$(SUFFIX) dsyev.$(SUFFIX) dsyevd.$(SUFFIX) dsyevr.$(SUFFIX) \
|
||||
+ dsyevx.$(SUFFIX) dsygs2.$(SUFFIX) dsygst.$(SUFFIX) dsygv.$(SUFFIX) dsygvd.$(SUFFIX) dsygvx.$(SUFFIX) dsyrfs.$(SUFFIX) \
|
||||
+ dsysv.$(SUFFIX) dsysvx.$(SUFFIX) \
|
||||
+ dsytd2.$(SUFFIX) dsytf2.$(SUFFIX) dsytrd.$(SUFFIX) dsytrf.$(SUFFIX) dsytri.$(SUFFIX) dsytri2.$(SUFFIX) dsytri2x.$(SUFFIX) \
|
||||
+ dsyswapr.$(SUFFIX) dsytrs.$(SUFFIX) dsytrs2.$(SUFFIX) dsyconv.$(SUFFIX) \
|
||||
+ dtbcon.$(SUFFIX) dtbrfs.$(SUFFIX) dtbtrs.$(SUFFIX) dtgevc.$(SUFFIX) dtgex2.$(SUFFIX) dtgexc.$(SUFFIX) dtgsen.$(SUFFIX) \
|
||||
+ dtgsja.$(SUFFIX) dtgsna.$(SUFFIX) dtgsy2.$(SUFFIX) dtgsyl.$(SUFFIX) dtpcon.$(SUFFIX) dtprfs.$(SUFFIX) dtptri.$(SUFFIX) \
|
||||
+ dtptrs.$(SUFFIX) \
|
||||
+ dtrcon.$(SUFFIX) dtrevc.$(SUFFIX) dtrexc.$(SUFFIX) dtrrfs.$(SUFFIX) dtrsen.$(SUFFIX) dtrsna.$(SUFFIX) dtrsyl.$(SUFFIX) \
|
||||
+ dtrtrs.$(SUFFIX) dtzrqf.$(SUFFIX) dtzrzf.$(SUFFIX) dstemr.$(SUFFIX) \
|
||||
+ dsgesv.$(SUFFIX) dsposv.$(SUFFIX) dlag2s.$(SUFFIX) slag2d.$(SUFFIX) dlat2s.$(SUFFIX) \
|
||||
+ dlansf.$(SUFFIX) dpftrf.$(SUFFIX) dpftri.$(SUFFIX) dpftrs.$(SUFFIX) dsfrk.$(SUFFIX) dtfsm.$(SUFFIX) dtftri.$(SUFFIX) dtfttp.$(SUFFIX) \
|
||||
+ dtfttr.$(SUFFIX) dtpttf.$(SUFFIX) dtpttr.$(SUFFIX) dtrttf.$(SUFFIX) dtrttp.$(SUFFIX) \
|
||||
+ dgejsv.$(SUFFIX) dgesvj.$(SUFFIX) dgsvj0.$(SUFFIX) dgsvj1.$(SUFFIX) \
|
||||
+ dgeequb.$(SUFFIX) dsyequb.$(SUFFIX) dpoequb.$(SUFFIX) dgbequb.$(SUFFIX) \
|
||||
+ dbbcsd.$(SUFFIX) dlapmr.$(SUFFIX) dorbdb.$(SUFFIX) dorcsd.$(SUFFIX) \
|
||||
+ dgeqrt.$(SUFFIX) dgeqrt2.$(SUFFIX) dgeqrt3.$(SUFFIX) dgemqrt.$(SUFFIX) \
|
||||
+ dtpqrt.$(SUFFIX) dtpqrt2.$(SUFFIX) dtpmqrt.$(SUFFIX) dtprfb.$(SUFFIX)
|
||||
|
||||
ifdef USEXBLAS
|
||||
-DXLASRC = dgesvxx.o dgerfsx.o dla_gerfsx_extended.o dla_geamv.o \
|
||||
- dla_gercond.o dla_gerpvgrw.o dsysvxx.o dsyrfsx.o \
|
||||
- dla_syrfsx_extended.o dla_syamv.o dla_syrcond.o dla_syrpvgrw.o \
|
||||
- dposvxx.o dporfsx.o dla_porfsx_extended.o dla_porcond.o \
|
||||
- dla_porpvgrw.o dgbsvxx.o dgbrfsx.o dla_gbrfsx_extended.o \
|
||||
- dla_gbamv.o dla_gbrcond.o dla_gbrpvgrw.o dla_lin_berr.o dlarscl2.o \
|
||||
- dlascl2.o dla_wwaddw.o
|
||||
+DXLASRC = dgesvxx.$(SUFFIX) dgerfsx.$(SUFFIX) dla_gerfsx_extended.$(SUFFIX) dla_geamv.$(SUFFIX) \
|
||||
+ dla_gercond.$(SUFFIX) dla_gerpvgrw.$(SUFFIX) dsysvxx.$(SUFFIX) dsyrfsx.$(SUFFIX) \
|
||||
+ dla_syrfsx_extended.$(SUFFIX) dla_syamv.$(SUFFIX) dla_syrcond.$(SUFFIX) dla_syrpvgrw.$(SUFFIX) \
|
||||
+ dposvxx.$(SUFFIX) dporfsx.$(SUFFIX) dla_porfsx_extended.$(SUFFIX) dla_porcond.$(SUFFIX) \
|
||||
+ dla_porpvgrw.$(SUFFIX) dgbsvxx.$(SUFFIX) dgbrfsx.$(SUFFIX) dla_gbrfsx_extended.$(SUFFIX) \
|
||||
+ dla_gbamv.$(SUFFIX) dla_gbrcond.$(SUFFIX) dla_gbrpvgrw.$(SUFFIX) dla_lin_berr.$(SUFFIX) dlarscl2.$(SUFFIX) \
|
||||
+ dlascl2.$(SUFFIX) dla_wwaddw.$(SUFFIX)
|
||||
endif
|
||||
|
||||
ZLASRC = \
|
||||
- zbdsqr.o zgbbrd.o zgbcon.o zgbequ.o zgbrfs.o zgbsv.o zgbsvx.o \
|
||||
- zgbtf2.o zgbtrf.o zgbtrs.o zgebak.o zgebal.o zgebd2.o zgebrd.o \
|
||||
- zgecon.o zgeequ.o zgees.o zgeesx.o zgeev.o zgeevx.o \
|
||||
- zgegs.o zgegv.o zgehd2.o zgehrd.o zgelq2.o zgelqf.o \
|
||||
- zgels.o zgelsd.o zgelss.o zgelsx.o zgelsy.o zgeql2.o zgeqlf.o zgeqp3.o \
|
||||
- zgeqpf.o zgeqr2.o zgeqr2p.o zgeqrf.o zgeqrfp.o zgerfs.o zgerq2.o zgerqf.o \
|
||||
- zgesc2.o zgesdd.o zgesv.o zgesvd.o zgesvx.o zgetc2.o zgetf2.o zgetrf.o \
|
||||
- zgetri.o zgetrs.o \
|
||||
- zggbak.o zggbal.o zgges.o zggesx.o zggev.o zggevx.o zggglm.o \
|
||||
- zgghrd.o zgglse.o zggqrf.o zggrqf.o \
|
||||
- zggsvd.o zggsvp.o \
|
||||
- zgtcon.o zgtrfs.o zgtsv.o zgtsvx.o zgttrf.o zgttrs.o zgtts2.o zhbev.o \
|
||||
- zhbevd.o zhbevx.o zhbgst.o zhbgv.o zhbgvd.o zhbgvx.o zhbtrd.o \
|
||||
- zhecon.o zheev.o zheevd.o zheevr.o zheevx.o zhegs2.o zhegst.o \
|
||||
- zhegv.o zhegvd.o zhegvx.o zherfs.o zhesv.o zhesvx.o zhetd2.o \
|
||||
- zhetf2.o zhetrd.o \
|
||||
- zhetrf.o zhetri.o zhetri2.o zhetri2x.o zheswapr.o \
|
||||
- zhetrs.o zhetrs2.o zhgeqz.o zhpcon.o zhpev.o zhpevd.o \
|
||||
- zhpevx.o zhpgst.o zhpgv.o zhpgvd.o zhpgvx.o zhprfs.o zhpsv.o \
|
||||
- zhpsvx.o \
|
||||
- zhptrd.o zhptrf.o zhptri.o zhptrs.o zhsein.o zhseqr.o zlabrd.o \
|
||||
- zlacgv.o zlacon.o zlacn2.o zlacp2.o zlacpy.o zlacrm.o zlacrt.o zladiv.o \
|
||||
- zlaed0.o zlaed7.o zlaed8.o \
|
||||
- zlaein.o zlaesy.o zlaev2.o zlags2.o zlagtm.o \
|
||||
- zlahef.o zlahqr.o \
|
||||
- zlahrd.o zlahr2.o zlaic1.o zlals0.o zlalsa.o zlalsd.o zlangb.o zlange.o \
|
||||
- zlangt.o zlanhb.o \
|
||||
- zlanhe.o \
|
||||
- zlanhp.o zlanhs.o zlanht.o zlansb.o zlansp.o zlansy.o zlantb.o \
|
||||
- zlantp.o zlantr.o zlapll.o zlapmt.o zlaqgb.o zlaqge.o \
|
||||
- zlaqhb.o zlaqhe.o zlaqhp.o zlaqp2.o zlaqps.o zlaqsb.o \
|
||||
- zlaqr0.o zlaqr1.o zlaqr2.o zlaqr3.o zlaqr4.o zlaqr5.o \
|
||||
- zlaqsp.o zlaqsy.o zlar1v.o zlar2v.o ilazlr.o ilazlc.o \
|
||||
- zlarcm.o zlarf.o zlarfb.o \
|
||||
- zlarfg.o zlarft.o zlarfgp.o \
|
||||
- zlarfx.o zlargv.o zlarnv.o zlarrv.o zlartg.o zlartv.o \
|
||||
- zlarz.o zlarzb.o zlarzt.o zlascl.o zlaset.o zlasr.o \
|
||||
- zlassq.o zlaswp.o zlasyf.o \
|
||||
- zlatbs.o zlatdf.o zlatps.o zlatrd.o zlatrs.o zlatrz.o zlatzm.o zlauu2.o \
|
||||
- zlauum.o zpbcon.o zpbequ.o zpbrfs.o zpbstf.o zpbsv.o \
|
||||
- zpbsvx.o zpbtf2.o zpbtrf.o zpbtrs.o zpocon.o zpoequ.o zporfs.o \
|
||||
- zposv.o zposvx.o zpotf2.o zpotrf.o zpotri.o zpotrs.o zpstrf.o zpstf2.o \
|
||||
- zppcon.o zppequ.o zpprfs.o zppsv.o zppsvx.o zpptrf.o zpptri.o zpptrs.o \
|
||||
- zptcon.o zpteqr.o zptrfs.o zptsv.o zptsvx.o zpttrf.o zpttrs.o zptts2.o \
|
||||
- zrot.o zspcon.o zspmv.o zspr.o zsprfs.o zspsv.o \
|
||||
- zspsvx.o zsptrf.o zsptri.o zsptrs.o zdrscl.o zstedc.o \
|
||||
- zstegr.o zstein.o zsteqr.o \
|
||||
- zsycon.o zsymv.o \
|
||||
- zsyr.o zsyrfs.o zsysv.o zsysvx.o zsytf2.o zsytrf.o zsytri.o zsytri2.o zsytri2x.o \
|
||||
- zsyswapr.o zsytrs.o zsytrs2.o zsyconv.o \
|
||||
- ztbcon.o ztbrfs.o ztbtrs.o ztgevc.o ztgex2.o \
|
||||
- ztgexc.o ztgsen.o ztgsja.o ztgsna.o ztgsy2.o ztgsyl.o ztpcon.o \
|
||||
- ztprfs.o ztptri.o \
|
||||
- ztptrs.o ztrcon.o ztrevc.o ztrexc.o ztrrfs.o ztrsen.o ztrsna.o \
|
||||
- ztrsyl.o ztrti2.o ztrtri.o ztrtrs.o ztzrqf.o ztzrzf.o zung2l.o \
|
||||
- zung2r.o zungbr.o zunghr.o zungl2.o zunglq.o zungql.o zungqr.o zungr2.o \
|
||||
- zungrq.o zungtr.o zunm2l.o zunm2r.o zunmbr.o zunmhr.o zunml2.o \
|
||||
- zunmlq.o zunmql.o zunmqr.o zunmr2.o zunmr3.o zunmrq.o zunmrz.o \
|
||||
- zunmtr.o zupgtr.o \
|
||||
- zupmtr.o izmax1.o dzsum1.o zstemr.o \
|
||||
- zcgesv.o zcposv.o zlag2c.o clag2z.o zlat2c.o \
|
||||
- zhfrk.o ztfttp.o zlanhf.o zpftrf.o zpftri.o zpftrs.o ztfsm.o ztftri.o \
|
||||
- ztfttr.o ztpttf.o ztpttr.o ztrttf.o ztrttp.o \
|
||||
- zgeequb.o zgbequb.o zsyequb.o zpoequb.o zheequb.o \
|
||||
- zbbcsd.o zlapmr.o zunbdb.o zuncsd.o \
|
||||
- zgeqrt.o zgeqrt2.o zgeqrt3.o zgemqrt.o \
|
||||
- ztpqrt.o ztpqrt2.o ztpmqrt.o ztprfb.o
|
||||
+ zbdsqr.$(SUFFIX) zgbbrd.$(SUFFIX) zgbcon.$(SUFFIX) zgbequ.$(SUFFIX) zgbrfs.$(SUFFIX) zgbsv.$(SUFFIX) zgbsvx.$(SUFFIX) \
|
||||
+ zgbtf2.$(SUFFIX) zgbtrf.$(SUFFIX) zgbtrs.$(SUFFIX) zgebak.$(SUFFIX) zgebal.$(SUFFIX) zgebd2.$(SUFFIX) zgebrd.$(SUFFIX) \
|
||||
+ zgecon.$(SUFFIX) zgeequ.$(SUFFIX) zgees.$(SUFFIX) zgeesx.$(SUFFIX) zgeev.$(SUFFIX) zgeevx.$(SUFFIX) \
|
||||
+ zgegs.$(SUFFIX) zgegv.$(SUFFIX) zgehd2.$(SUFFIX) zgehrd.$(SUFFIX) zgelq2.$(SUFFIX) zgelqf.$(SUFFIX) \
|
||||
+ zgels.$(SUFFIX) zgelsd.$(SUFFIX) zgelss.$(SUFFIX) zgelsx.$(SUFFIX) zgelsy.$(SUFFIX) zgeql2.$(SUFFIX) zgeqlf.$(SUFFIX) zgeqp3.$(SUFFIX) \
|
||||
+ zgeqpf.$(SUFFIX) zgeqr2.$(SUFFIX) zgeqr2p.$(SUFFIX) zgeqrf.$(SUFFIX) zgeqrfp.$(SUFFIX) zgerfs.$(SUFFIX) zgerq2.$(SUFFIX) zgerqf.$(SUFFIX) \
|
||||
+ zgesc2.$(SUFFIX) zgesdd.$(SUFFIX) zgesv.$(SUFFIX) zgesvd.$(SUFFIX) zgesvx.$(SUFFIX) zgetc2.$(SUFFIX) \
|
||||
+ zgetri.$(SUFFIX) \
|
||||
+ zggbak.$(SUFFIX) zggbal.$(SUFFIX) zgges.$(SUFFIX) zggesx.$(SUFFIX) zggev.$(SUFFIX) zggevx.$(SUFFIX) zggglm.$(SUFFIX) \
|
||||
+ zgghrd.$(SUFFIX) zgglse.$(SUFFIX) zggqrf.$(SUFFIX) zggrqf.$(SUFFIX) \
|
||||
+ zggsvd.$(SUFFIX) zggsvp.$(SUFFIX) \
|
||||
+ zgtcon.$(SUFFIX) zgtrfs.$(SUFFIX) zgtsv.$(SUFFIX) zgtsvx.$(SUFFIX) zgttrf.$(SUFFIX) zgttrs.$(SUFFIX) zgtts2.$(SUFFIX) zhbev.$(SUFFIX) \
|
||||
+ zhbevd.$(SUFFIX) zhbevx.$(SUFFIX) zhbgst.$(SUFFIX) zhbgv.$(SUFFIX) zhbgvd.$(SUFFIX) zhbgvx.$(SUFFIX) zhbtrd.$(SUFFIX) \
|
||||
+ zhecon.$(SUFFIX) zheev.$(SUFFIX) zheevd.$(SUFFIX) zheevr.$(SUFFIX) zheevx.$(SUFFIX) zhegs2.$(SUFFIX) zhegst.$(SUFFIX) \
|
||||
+ zhegv.$(SUFFIX) zhegvd.$(SUFFIX) zhegvx.$(SUFFIX) zherfs.$(SUFFIX) zhesv.$(SUFFIX) zhesvx.$(SUFFIX) zhetd2.$(SUFFIX) \
|
||||
+ zhetf2.$(SUFFIX) zhetrd.$(SUFFIX) \
|
||||
+ zhetrf.$(SUFFIX) zhetri.$(SUFFIX) zhetri2.$(SUFFIX) zhetri2x.$(SUFFIX) zheswapr.$(SUFFIX) \
|
||||
+ zhetrs.$(SUFFIX) zhetrs2.$(SUFFIX) zhgeqz.$(SUFFIX) zhpcon.$(SUFFIX) zhpev.$(SUFFIX) zhpevd.$(SUFFIX) \
|
||||
+ zhpevx.$(SUFFIX) zhpgst.$(SUFFIX) zhpgv.$(SUFFIX) zhpgvd.$(SUFFIX) zhpgvx.$(SUFFIX) zhprfs.$(SUFFIX) zhpsv.$(SUFFIX) \
|
||||
+ zhpsvx.$(SUFFIX) \
|
||||
+ zhptrd.$(SUFFIX) zhptrf.$(SUFFIX) zhptri.$(SUFFIX) zhptrs.$(SUFFIX) zhsein.$(SUFFIX) zhseqr.$(SUFFIX) zlabrd.$(SUFFIX) \
|
||||
+ zlacgv.$(SUFFIX) zlacon.$(SUFFIX) zlacn2.$(SUFFIX) zlacp2.$(SUFFIX) zlacpy.$(SUFFIX) zlacrm.$(SUFFIX) zlacrt.$(SUFFIX) zladiv.$(SUFFIX) \
|
||||
+ zlaed0.$(SUFFIX) zlaed7.$(SUFFIX) zlaed8.$(SUFFIX) \
|
||||
+ zlaein.$(SUFFIX) zlaesy.$(SUFFIX) zlaev2.$(SUFFIX) zlags2.$(SUFFIX) zlagtm.$(SUFFIX) \
|
||||
+ zlahef.$(SUFFIX) zlahqr.$(SUFFIX) \
|
||||
+ zlahrd.$(SUFFIX) zlahr2.$(SUFFIX) zlaic1.$(SUFFIX) zlals0.$(SUFFIX) zlalsa.$(SUFFIX) zlalsd.$(SUFFIX) zlangb.$(SUFFIX) zlange.$(SUFFIX) \
|
||||
+ zlangt.$(SUFFIX) zlanhb.$(SUFFIX) \
|
||||
+ zlanhe.$(SUFFIX) \
|
||||
+ zlanhp.$(SUFFIX) zlanhs.$(SUFFIX) zlanht.$(SUFFIX) zlansb.$(SUFFIX) zlansp.$(SUFFIX) zlansy.$(SUFFIX) zlantb.$(SUFFIX) \
|
||||
+ zlantp.$(SUFFIX) zlantr.$(SUFFIX) zlapll.$(SUFFIX) zlapmt.$(SUFFIX) zlaqgb.$(SUFFIX) zlaqge.$(SUFFIX) \
|
||||
+ zlaqhb.$(SUFFIX) zlaqhe.$(SUFFIX) zlaqhp.$(SUFFIX) zlaqp2.$(SUFFIX) zlaqps.$(SUFFIX) zlaqsb.$(SUFFIX) \
|
||||
+ zlaqr0.$(SUFFIX) zlaqr1.$(SUFFIX) zlaqr2.$(SUFFIX) zlaqr3.$(SUFFIX) zlaqr4.$(SUFFIX) zlaqr5.$(SUFFIX) \
|
||||
+ zlaqsp.$(SUFFIX) zlaqsy.$(SUFFIX) zlar1v.$(SUFFIX) zlar2v.$(SUFFIX) ilazlr.$(SUFFIX) ilazlc.$(SUFFIX) \
|
||||
+ zlarcm.$(SUFFIX) zlarf.$(SUFFIX) zlarfb.$(SUFFIX) \
|
||||
+ zlarfg.$(SUFFIX) zlarft.$(SUFFIX) zlarfgp.$(SUFFIX) \
|
||||
+ zlarfx.$(SUFFIX) zlargv.$(SUFFIX) zlarnv.$(SUFFIX) zlarrv.$(SUFFIX) zlartg.$(SUFFIX) zlartv.$(SUFFIX) \
|
||||
+ zlarz.$(SUFFIX) zlarzb.$(SUFFIX) zlarzt.$(SUFFIX) zlascl.$(SUFFIX) zlaset.$(SUFFIX) zlasr.$(SUFFIX) \
|
||||
+ zlassq.$(SUFFIX) zlasyf.$(SUFFIX) \
|
||||
+ zlatbs.$(SUFFIX) zlatdf.$(SUFFIX) zlatps.$(SUFFIX) zlatrd.$(SUFFIX) zlatrs.$(SUFFIX) zlatrz.$(SUFFIX) zlatzm.$(SUFFIX) zlauu2.$(SUFFIX) \
|
||||
+ zpbcon.$(SUFFIX) zpbequ.$(SUFFIX) zpbrfs.$(SUFFIX) zpbstf.$(SUFFIX) zpbsv.$(SUFFIX) \
|
||||
+ zpbsvx.$(SUFFIX) zpbtf2.$(SUFFIX) zpbtrf.$(SUFFIX) zpbtrs.$(SUFFIX) zpocon.$(SUFFIX) zpoequ.$(SUFFIX) zporfs.$(SUFFIX) \
|
||||
+ zposv.$(SUFFIX) zposvx.$(SUFFIX) zpotri.$(SUFFIX) zpotrs.$(SUFFIX) zpstrf.$(SUFFIX) zpstf2.$(SUFFIX) \
|
||||
+ zppcon.$(SUFFIX) zppequ.$(SUFFIX) zpprfs.$(SUFFIX) zppsv.$(SUFFIX) zppsvx.$(SUFFIX) zpptrf.$(SUFFIX) zpptri.$(SUFFIX) zpptrs.$(SUFFIX) \
|
||||
+ zptcon.$(SUFFIX) zpteqr.$(SUFFIX) zptrfs.$(SUFFIX) zptsv.$(SUFFIX) zptsvx.$(SUFFIX) zpttrf.$(SUFFIX) zpttrs.$(SUFFIX) zptts2.$(SUFFIX) \
|
||||
+ zrot.$(SUFFIX) zspcon.$(SUFFIX) zspmv.$(SUFFIX) zspr.$(SUFFIX) zsprfs.$(SUFFIX) zspsv.$(SUFFIX) \
|
||||
+ zspsvx.$(SUFFIX) zsptrf.$(SUFFIX) zsptri.$(SUFFIX) zsptrs.$(SUFFIX) zdrscl.$(SUFFIX) zstedc.$(SUFFIX) \
|
||||
+ zstegr.$(SUFFIX) zstein.$(SUFFIX) zsteqr.$(SUFFIX) \
|
||||
+ zsycon.$(SUFFIX) zsymv.$(SUFFIX) \
|
||||
+ zsyr.$(SUFFIX) zsyrfs.$(SUFFIX) zsysv.$(SUFFIX) zsysvx.$(SUFFIX) zsytf2.$(SUFFIX) zsytrf.$(SUFFIX) zsytri.$(SUFFIX) zsytri2.$(SUFFIX) zsytri2x.$(SUFFIX) \
|
||||
+ zsyswapr.$(SUFFIX) zsytrs.$(SUFFIX) zsytrs2.$(SUFFIX) zsyconv.$(SUFFIX) \
|
||||
+ ztbcon.$(SUFFIX) ztbrfs.$(SUFFIX) ztbtrs.$(SUFFIX) ztgevc.$(SUFFIX) ztgex2.$(SUFFIX) \
|
||||
+ ztgexc.$(SUFFIX) ztgsen.$(SUFFIX) ztgsja.$(SUFFIX) ztgsna.$(SUFFIX) ztgsy2.$(SUFFIX) ztgsyl.$(SUFFIX) ztpcon.$(SUFFIX) \
|
||||
+ ztprfs.$(SUFFIX) ztptri.$(SUFFIX) \
|
||||
+ ztptrs.$(SUFFIX) ztrcon.$(SUFFIX) ztrevc.$(SUFFIX) ztrexc.$(SUFFIX) ztrrfs.$(SUFFIX) ztrsen.$(SUFFIX) ztrsna.$(SUFFIX) \
|
||||
+ ztrsyl.$(SUFFIX) ztrtrs.$(SUFFIX) ztzrqf.$(SUFFIX) ztzrzf.$(SUFFIX) zung2l.$(SUFFIX) \
|
||||
+ zung2r.$(SUFFIX) zungbr.$(SUFFIX) zunghr.$(SUFFIX) zungl2.$(SUFFIX) zunglq.$(SUFFIX) zungql.$(SUFFIX) zungqr.$(SUFFIX) zungr2.$(SUFFIX) \
|
||||
+ zungrq.$(SUFFIX) zungtr.$(SUFFIX) zunm2l.$(SUFFIX) zunm2r.$(SUFFIX) zunmbr.$(SUFFIX) zunmhr.$(SUFFIX) zunml2.$(SUFFIX) \
|
||||
+ zunmlq.$(SUFFIX) zunmql.$(SUFFIX) zunmqr.$(SUFFIX) zunmr2.$(SUFFIX) zunmr3.$(SUFFIX) zunmrq.$(SUFFIX) zunmrz.$(SUFFIX) \
|
||||
+ zunmtr.$(SUFFIX) zupgtr.$(SUFFIX) \
|
||||
+ zupmtr.$(SUFFIX) izmax1.$(SUFFIX) dzsum1.$(SUFFIX) zstemr.$(SUFFIX) \
|
||||
+ zcgesv.$(SUFFIX) zcposv.$(SUFFIX) zlag2c.$(SUFFIX) clag2z.$(SUFFIX) zlat2c.$(SUFFIX) \
|
||||
+ zhfrk.$(SUFFIX) ztfttp.$(SUFFIX) zlanhf.$(SUFFIX) zpftrf.$(SUFFIX) zpftri.$(SUFFIX) zpftrs.$(SUFFIX) ztfsm.$(SUFFIX) ztftri.$(SUFFIX) \
|
||||
+ ztfttr.$(SUFFIX) ztpttf.$(SUFFIX) ztpttr.$(SUFFIX) ztrttf.$(SUFFIX) ztrttp.$(SUFFIX) \
|
||||
+ zgeequb.$(SUFFIX) zgbequb.$(SUFFIX) zsyequb.$(SUFFIX) zpoequb.$(SUFFIX) zheequb.$(SUFFIX) \
|
||||
+ zbbcsd.$(SUFFIX) zlapmr.$(SUFFIX) zunbdb.$(SUFFIX) zuncsd.$(SUFFIX) \
|
||||
+ zgeqrt.$(SUFFIX) zgeqrt2.$(SUFFIX) zgeqrt3.$(SUFFIX) zgemqrt.$(SUFFIX) \
|
||||
+ ztpqrt.$(SUFFIX) ztpqrt2.$(SUFFIX) ztpmqrt.$(SUFFIX) ztprfb.$(SUFFIX)
|
||||
|
||||
ifdef USEXBLAS
|
||||
-ZXLASRC = zgesvxx.o zgerfsx.o zla_gerfsx_extended.o zla_geamv.o \
|
||||
- zla_gercond_c.o zla_gercond_x.o zla_gerpvgrw.o zsysvxx.o zsyrfsx.o \
|
||||
- zla_syrfsx_extended.o zla_syamv.o zla_syrcond_c.o zla_syrcond_x.o \
|
||||
- zla_syrpvgrw.o zposvxx.o zporfsx.o zla_porfsx_extended.o \
|
||||
- zla_porcond_c.o zla_porcond_x.o zla_porpvgrw.o zgbsvxx.o zgbrfsx.o \
|
||||
- zla_gbrfsx_extended.o zla_gbamv.o zla_gbrcond_c.o zla_gbrcond_x.o \
|
||||
- zla_gbrpvgrw.o zhesvxx.o zherfsx.o zla_herfsx_extended.o \
|
||||
- zla_heamv.o zla_hercond_c.o zla_hercond_x.o zla_herpvgrw.o \
|
||||
- zla_lin_berr.o zlarscl2.o zlascl2.o zla_wwaddw.o
|
||||
+ZXLASRC = zgesvxx.$(SUFFIX) zgerfsx.$(SUFFIX) zla_gerfsx_extended.$(SUFFIX) zla_geamv.$(SUFFIX) \
|
||||
+ zla_gercond_c.$(SUFFIX) zla_gercond_x.$(SUFFIX) zla_gerpvgrw.$(SUFFIX) zsysvxx.$(SUFFIX) zsyrfsx.$(SUFFIX) \
|
||||
+ zla_syrfsx_extended.$(SUFFIX) zla_syamv.$(SUFFIX) zla_syrcond_c.$(SUFFIX) zla_syrcond_x.$(SUFFIX) \
|
||||
+ zla_syrpvgrw.$(SUFFIX) zposvxx.$(SUFFIX) zporfsx.$(SUFFIX) zla_porfsx_extended.$(SUFFIX) \
|
||||
+ zla_porcond_c.$(SUFFIX) zla_porcond_x.$(SUFFIX) zla_porpvgrw.$(SUFFIX) zgbsvxx.$(SUFFIX) zgbrfsx.$(SUFFIX) \
|
||||
+ zla_gbrfsx_extended.$(SUFFIX) zla_gbamv.$(SUFFIX) zla_gbrcond_c.$(SUFFIX) zla_gbrcond_x.$(SUFFIX) \
|
||||
+ zla_gbrpvgrw.$(SUFFIX) zhesvxx.$(SUFFIX) zherfsx.$(SUFFIX) zla_herfsx_extended.$(SUFFIX) \
|
||||
+ zla_heamv.$(SUFFIX) zla_hercond_c.$(SUFFIX) zla_hercond_x.$(SUFFIX) zla_herpvgrw.$(SUFFIX) \
|
||||
+ zla_lin_berr.$(SUFFIX) zlarscl2.$(SUFFIX) zlascl2.$(SUFFIX) zla_wwaddw.$(SUFFIX)
|
||||
endif
|
||||
|
||||
ALLOBJ = $(SLASRC) $(DLASRC) $(DSLASRC) $(CLASRC) $(ZLASRC) $(ZCLASRC) \
|
||||
$(SCLAUX) $(DZLAUX) $(ALLAUX)
|
||||
|
||||
+ALLOBJ_P = $(ALLOBJ:.$(SUFFIX)=.$(PSUFFIX))
|
||||
+
|
||||
ifdef USEXBLAS
|
||||
ALLXOBJ = $(SXLASRC) $(DXLASRC) $(CXLASRC) $(ZXLASRC)
|
||||
endif
|
||||
|
||||
all: ../$(LAPACKLIB)
|
||||
|
||||
+lapack_prof: ../$(LAPACKLIB_P)
|
||||
+
|
||||
../$(LAPACKLIB): $(ALLOBJ) $(ALLXOBJ)
|
||||
$(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ) $(ALLXOBJ)
|
||||
$(RANLIB) $@
|
||||
|
||||
+../$(LAPACKLIB_P): $(ALLOBJ_P)
|
||||
+ $(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ_P)
|
||||
+ $(RANLIB) $@
|
||||
+
|
||||
single: $(SLASRC) $(DSLASRC) $(SXLASRC) $(SCLAUX) $(ALLAUX)
|
||||
$(ARCH) $(ARCHFLAGS) ../$(LAPACKLIB) $(SLASRC) $(DSLASRC) \
|
||||
$(SXLASRC) $(SCLAUX) $(ALLAUX) $(ALLXAUX)
|
||||
@@ -451,15 +459,24 @@
|
||||
@FRC=$(FRC)
|
||||
|
||||
clean:
|
||||
- rm -f *.o
|
||||
+ rm -f *.$(SUFFIX) *.$(PSUFFIX)
|
||||
|
||||
-.f.o:
|
||||
+%.$(SUFFIX): %.f
|
||||
$(FORTRAN) $(OPTS) -c $< -o $@
|
||||
|
||||
-slaruv.o: slaruv.f ; $(FORTRAN) $(NOOPT) -c $< -o $@
|
||||
-dlaruv.o: dlaruv.f ; $(FORTRAN) $(NOOPT) -c $< -o $@
|
||||
-sla_wwaddw.o: sla_wwaddw.f ; $(FORTRAN) $(NOOPT) -c $< -o $@
|
||||
-dla_wwaddw.o: dla_wwaddw.f ; $(FORTRAN) $(NOOPT) -c $< -o $@
|
||||
-cla_wwaddw.o: cla_wwaddw.f ; $(FORTRAN) $(NOOPT) -c $< -o $@
|
||||
-zla_wwaddw.o: zla_wwaddw.f ; $(FORTRAN) $(NOOPT) -c $< -o $@
|
||||
+%.$(PSUFFIX): %.f
|
||||
+ $(FORTRAN) $(POPTS) -c $< -o $@
|
||||
|
||||
+slaruv.$(SUFFIX): slaruv.f ; $(FORTRAN) $(NOOPT) -O0 -c $< -o $@
|
||||
+dlaruv.$(SUFFIX): dlaruv.f ; $(FORTRAN) $(NOOPT) -O0 -c $< -o $@
|
||||
+sla_wwaddw.$(SUFFIX): sla_wwaddw.f ; $(FORTRAN) $(NOOPT) -O0 -c $< -o $@
|
||||
+dla_wwaddw.$(SUFFIX): dla_wwaddw.f ; $(FORTRAN) $(NOOPT) -O0 -c $< -o $@
|
||||
+cla_wwaddw.$(SUFFIX): cla_wwaddw.f ; $(FORTRAN) $(NOOPT) -O0 -c $< -o $@
|
||||
+zla_wwaddw.$(SUFFIX): zla_wwaddw.f ; $(FORTRAN) $(NOOPT) -O0 -c $< -o $@
|
||||
+
|
||||
+slaruv.$(PSUFFIX): slaruv.f ; $(FORTRAN) $(PNOOPT) -O0 -c $< -o $@
|
||||
+dlaruv.$(PSUFFIX): dlaruv.f ; $(FORTRAN) $(PNOOPT) -O0 -c $< -o $@
|
||||
+sla_wwaddw.$(PSUFFIX): sla_wwaddw.f ; $(FORTRAN) $(PNOOPT) -O0 -c $< -o $@
|
||||
+dla_wwaddw.$(PSUFFIX): dla_wwaddw.f ; $(FORTRAN) $(PNOOPT) -O0 -c $< -o $@
|
||||
+cla_wwaddw.$(PSUFFIX): cla_wwaddw.f ; $(FORTRAN) $(PNOOPT) -O0 -c $< -o $@
|
||||
+zla_wwaddw.$(PSUFFIX): zla_wwaddw.f ; $(FORTRAN) $(PNOOPT) -O0 -c $< -o $@
|
||||
diff -ruN lapack-3.4.1.old/TESTING/EIG/Makefile lapack-3.4.1/TESTING/EIG/Makefile
|
||||
--- lapack-3.4.1.old/TESTING/EIG/Makefile 2011-09-26 23:52:31 +0200
|
||||
+++ lapack-3.4.1/TESTING/EIG/Makefile 2012-04-22 21:41:45 +0200
|
||||
@@ -78,7 +78,7 @@
|
||||
cget35.o cget36.o cget37.o cget38.o cget51.o cget52.o \
|
||||
cget54.o cglmts.o cgqrts.o cgrqts.o cgsvts.o \
|
||||
chbt21.o chet21.o chet22.o chpt21.o chst01.o \
|
||||
- clarfy.o clarhs.o clatm4.o clctes.o clctsx.o clsets.o csbmv.o \
|
||||
+ clarfy.o clarhs.o clatm4.o clctes.o clctsx.o clsets.o \
|
||||
csgt01.o cslect.o \
|
||||
cstt21.o cstt22.o cunt01.o cunt03.o
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
zget35.o zget36.o zget37.o zget38.o zget51.o zget52.o \
|
||||
zget54.o zglmts.o zgqrts.o zgrqts.o zgsvts.o \
|
||||
zhbt21.o zhet21.o zhet22.o zhpt21.o zhst01.o \
|
||||
- zlarfy.o zlarhs.o zlatm4.o zlctes.o zlctsx.o zlsets.o zsbmv.o \
|
||||
+ zlarfy.o zlarhs.o zlatm4.o zlctes.o zlctsx.o zlsets.o \
|
||||
zsgt01.o zslect.o \
|
||||
zstt21.o zstt22.o zunt01.o zunt03.o
|
||||
|
||||
@@ -129,22 +129,22 @@
|
||||
../xeigtsts: $(SEIGTST) $(SCIGTST) $(AEIGTST) ../../$(LAPACKLIB); \
|
||||
$(LOADER) $(LOADOPTS) -o xeigtsts \
|
||||
$(SEIGTST) $(SCIGTST) $(AEIGTST) ../../$(TMGLIB) \
|
||||
- ../../$(LAPACKLIB) $(BLASLIB) && mv xeigtsts $@
|
||||
+ ../../$(LAPACKLIB) $(BLASLIB) $(CEXTRALIB) && mv xeigtsts $@
|
||||
|
||||
../xeigtstc: $(CEIGTST) $(SCIGTST) $(AEIGTST) ../../$(LAPACKLIB); \
|
||||
$(LOADER) $(LOADOPTS) -o xeigtstc \
|
||||
$(CEIGTST) $(SCIGTST) $(AEIGTST) ../../$(TMGLIB) \
|
||||
- ../../$(LAPACKLIB) $(BLASLIB) && mv xeigtstc $@
|
||||
+ ../../$(LAPACKLIB) $(BLASLIB) $(CEXTRALIB) && mv xeigtstc $@
|
||||
|
||||
../xeigtstd: $(DEIGTST) $(DZIGTST) $(AEIGTST) ../../$(LAPACKLIB); \
|
||||
$(LOADER) $(LOADOPTS) -o xeigtstd \
|
||||
$(DEIGTST) $(DZIGTST) $(AEIGTST) ../../$(TMGLIB) \
|
||||
- ../../$(LAPACKLIB) $(BLASLIB) && mv xeigtstd $@
|
||||
+ ../../$(LAPACKLIB) $(BLASLIB) $(CEXTRALIB) && mv xeigtstd $@
|
||||
|
||||
../xeigtstz: $(ZEIGTST) $(DZIGTST) $(AEIGTST) ../../$(LAPACKLIB); \
|
||||
$(LOADER) $(LOADOPTS) -o xeigtstz \
|
||||
$(ZEIGTST) $(DZIGTST) $(AEIGTST) ../../$(TMGLIB) \
|
||||
- ../../$(LAPACKLIB) $(BLASLIB) && mv xeigtstz $@
|
||||
+ ../../$(LAPACKLIB) $(BLASLIB) $(CEXTRALIB) && mv xeigtstz $@
|
||||
|
||||
$(AEIGTST): $(FRC)
|
||||
$(SCIGTST): $(FRC)
|
||||
diff -ruN lapack-3.4.1.old/TESTING/LIN/Makefile lapack-3.4.1/TESTING/LIN/Makefile
|
||||
--- lapack-3.4.1.old/TESTING/LIN/Makefile 2012-04-02 21:06:36 +0200
|
||||
+++ lapack-3.4.1/TESTING/LIN/Makefile 2012-04-22 21:43:30 +0200
|
||||
@@ -109,7 +109,7 @@
|
||||
cqpt01.o cqrt01.o cqrt01p.o cqrt02.o cqrt03.o cqrt11.o \
|
||||
cqrt12.o cqrt13.o cqrt14.o cqrt15.o cqrt16.o \
|
||||
cqrt17.o crqt01.o crqt02.o crqt03.o crzt01.o crzt02.o \
|
||||
- csbmv.o cspt01.o \
|
||||
+ cspt01.o \
|
||||
cspt02.o cspt03.o csyt01.o csyt02.o csyt03.o \
|
||||
ctbt02.o ctbt03.o ctbt05.o ctbt06.o ctpt01.o \
|
||||
ctpt02.o ctpt03.o ctpt05.o ctpt06.o ctrt01.o \
|
||||
@@ -188,7 +188,7 @@
|
||||
zqpt01.o zqrt01.o zqrt01p.o zqrt02.o zqrt03.o zqrt11.o \
|
||||
zqrt12.o zqrt13.o zqrt14.o zqrt15.o zqrt16.o \
|
||||
zqrt17.o zrqt01.o zrqt02.o zrqt03.o zrzt01.o zrzt02.o \
|
||||
- zsbmv.o zspt01.o \
|
||||
+ zspt01.o \
|
||||
zspt02.o zspt03.o zsyt01.o zsyt02.o zsyt03.o \
|
||||
ztbt02.o ztbt03.o ztbt05.o ztbt06.o ztpt01.o \
|
||||
ztpt02.o ztpt03.o ztpt05.o ztpt06.o ztrt01.o \
|
||||
@@ -214,7 +214,7 @@
|
||||
zdrvab.o zdrvac.o zerrab.o zerrac.o zget08.o \
|
||||
alaerh.o alahd.o aladhd.o alareq.o \
|
||||
chkxer.o zget02.o zlarhs.o zlatb4.o \
|
||||
- zsbmv.o xerbla.o zpot06.o zlaipd.o
|
||||
+ xerbla.o zpot06.o zlaipd.o
|
||||
|
||||
SLINTSTRFP = schkrfp.o sdrvrfp.o sdrvrf1.o sdrvrf2.o sdrvrf3.o sdrvrf4.o serrrfp.o \
|
||||
slatb4.o slarhs.o sget04.o spot01.o spot03.o spot02.o \
|
||||
@@ -225,11 +225,11 @@
|
||||
chkxer.o xerbla.o alaerh.o aladhd.o alahd.o alasvm.o
|
||||
|
||||
CLINTSTRFP = cchkrfp.o cdrvrfp.o cdrvrf1.o cdrvrf2.o cdrvrf3.o cdrvrf4.o cerrrfp.o \
|
||||
- claipd.o clatb4.o clarhs.o csbmv.o cget04.o cpot01.o cpot03.o cpot02.o \
|
||||
+ claipd.o clatb4.o clarhs.o cget04.o cpot01.o cpot03.o cpot02.o \
|
||||
chkxer.o xerbla.o alaerh.o aladhd.o alahd.o alasvm.o
|
||||
|
||||
ZLINTSTRFP = zchkrfp.o zdrvrfp.o zdrvrf1.o zdrvrf2.o zdrvrf3.o zdrvrf4.o zerrrfp.o \
|
||||
- zlatb4.o zlaipd.o zlarhs.o zsbmv.o zget04.o zpot01.o zpot03.o zpot02.o \
|
||||
+ zlatb4.o zlaipd.o zlarhs.o zget04.o zpot01.o zpot03.o zpot02.o \
|
||||
chkxer.o xerbla.o alaerh.o aladhd.o alahd.o alasvm.o
|
||||
|
||||
all: single double complex complex16 proto-single proto-double proto-complex proto-complex16
|
||||
@@ -246,43 +246,43 @@
|
||||
|
||||
xlintsts : $(ALINTST) $(SLINTST) $(SCLNTST) ../../$(LAPACKLIB)
|
||||
$(LOADER) $(LOADOPTS) $(ALINTST) $(SCLNTST) $(SLINTST) \
|
||||
- ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o $@
|
||||
+ ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o $@ $(CEXTRALIB)
|
||||
|
||||
xlintstc : $(ALINTST) $(CLINTST) $(SCLNTST) ../../$(LAPACKLIB)
|
||||
$(LOADER) $(LOADOPTS) $(ALINTST) $(SCLNTST) $(CLINTST) \
|
||||
- ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o $@
|
||||
+ ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o $@ $(CEXTRALIB)
|
||||
|
||||
xlintstd : $(ALINTST) $(DLINTST) $(DZLNTST) ../../$(LAPACKLIB)
|
||||
$(LOADER) $(LOADOPTS) $^ \
|
||||
- ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o $@
|
||||
+ ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o $@ $(CEXTRALIB)
|
||||
|
||||
xlintstz : $(ALINTST) $(ZLINTST) $(DZLNTST) ../../$(LAPACKLIB)
|
||||
$(LOADER) $(LOADOPTS) $(ALINTST) $(DZLNTST) $(ZLINTST) \
|
||||
- ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o $@
|
||||
+ ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o $@ $(CEXTRALIB)
|
||||
|
||||
xlintstds : $(DSLINTST) ../../$(LAPACKLIB)
|
||||
$(LOADER) $(LOADOPTS) $(DSLINTST) \
|
||||
- ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@
|
||||
+ ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@ $(CEXTRALIB)
|
||||
|
||||
xlintstzc : $(ZCLINTST) ../../$(LAPACKLIB)
|
||||
$(LOADER) $(LOADOPTS) $(ZCLINTST) \
|
||||
- ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@
|
||||
+ ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@ $(CEXTRALIB)
|
||||
|
||||
xlintstrfs : $(SLINTSTRFP) ../../$(LAPACKLIB)
|
||||
$(LOADER) $(LOADOPTS) $(SLINTSTRFP) \
|
||||
- ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@
|
||||
+ ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@ $(CEXTRALIB)
|
||||
|
||||
xlintstrfd : $(DLINTSTRFP) ../../$(LAPACKLIB)
|
||||
$(LOADER) $(LOADOPTS) $(DLINTSTRFP) \
|
||||
- ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@
|
||||
+ ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@ $(CEXTRALIB)
|
||||
|
||||
xlintstrfc : $(CLINTSTRFP) ../../$(LAPACKLIB)
|
||||
$(LOADER) $(LOADOPTS) $(CLINTSTRFP) \
|
||||
- ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@
|
||||
+ ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@ $(CEXTRALIB)
|
||||
|
||||
xlintstrfz : $(ZLINTSTRFP) ../../$(LAPACKLIB)
|
||||
$(LOADER) $(LOADOPTS) $(ZLINTSTRFP) \
|
||||
- ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@
|
||||
+ ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o $@ $(CEXTRALIB)
|
||||
|
||||
../xlintsts: xlintsts
|
||||
mv xlintsts $@
|
||||
diff -ruN lapack-3.4.1.old/lapacke/src/Makefile lapack-3.4.1/lapacke/src/Makefile
|
||||
--- lapack-3.4.1.old/lapacke/src/Makefile 2012-04-02 22:16:32 +0200
|
||||
+++ lapack-3.4.1/lapacke/src/Makefile 2012-04-22 21:38:38 +0200
|
||||
@@ -2040,19 +2040,21 @@
|
||||
lapacke_zlagsy.o \
|
||||
lapacke_zlagsy_work.o
|
||||
|
||||
-ALLOBJ = $(SRC_OBJ) $(MATGEN_OBJ)
|
||||
+OBJ_FILES := $(SRC_OBJ)
|
||||
|
||||
-ifdef USEXBLAS
|
||||
-ALLXOBJ = $(SXLASRC) $(DXLASRC) $(CXLASRC) $(ZXLASRC)
|
||||
+ifdef LAPACKE_EXTENDED
|
||||
+OBJ_FILES += $(SXLASRC) $(DXLASRC) $(CXLASRC) $(ZXLASRC)
|
||||
endif
|
||||
|
||||
-
|
||||
-OBJ_FILES := $(C_FILES:.o=.o)
|
||||
+ifdef LAPACKE_TESTING
|
||||
+OBJ_FILES += $(MATGEN_OBJ)
|
||||
+endif
|
||||
|
||||
all: ../../$(LAPACKELIB)
|
||||
|
||||
-../../$(LAPACKELIB): $(ALLOBJ) $(ALLXOBJ)
|
||||
- $(ARCH) $(ARCHFLAGS) ../../$(LAPACKELIB) $(ALLOBJ) $(ALLXOBJ)
|
||||
+../../$(LAPACKELIB): $(OBJ_FILES)
|
||||
+# http://hackage.haskell.org/trac/gtk2hs/ticket/1146
|
||||
+ echo $(OBJ_FILES) | xargs -n 100 $(ARCH) $(ARCHFLAGS) ../../$(LAPACKELIB)
|
||||
$(RANLIB) ../../$(LAPACKELIB)
|
||||
|
||||
.c.o:
|
File diff suppressed because it is too large
Load Diff
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
|
||||
echo " Please read https://github.com/xianyi/OpenBLAS/wiki/How-to-use-OpenBLAS-in-Microsoft-Visual-Studio "
|
||||
make BINARY=64 CC=x86_64-w64-mingw32-gcc FC=x86_64-w64-mingw32-gfortran
|
||||
make BINARY=64 CC=gcc FC=gfortran
|
||||
|
|
Loading…
Reference in New Issue