Update LAPACK to 3.9.0
This commit is contained in:
parent
4a62c8f665
commit
4ee9b48e59
|
@ -4,89 +4,120 @@
|
||||||
# April 2012
|
# April 2012
|
||||||
#
|
#
|
||||||
|
|
||||||
include make.inc
|
TOPSRCDIR = .
|
||||||
|
include $(TOPSRCDIR)/make.inc
|
||||||
|
|
||||||
|
.PHONY: all
|
||||||
all: lapack_install lib blas_testing lapack_testing
|
all: lapack_install lib blas_testing lapack_testing
|
||||||
|
|
||||||
|
.PHONY: lib
|
||||||
lib: lapacklib tmglib
|
lib: lapacklib tmglib
|
||||||
#lib: blaslib variants lapacklib tmglib
|
#lib: blaslib variants lapacklib tmglib
|
||||||
|
|
||||||
|
.PHONY: blaslib
|
||||||
blaslib:
|
blaslib:
|
||||||
$(MAKE) -C BLAS
|
$(MAKE) -C BLAS
|
||||||
|
|
||||||
|
.PHONY: cblaslib
|
||||||
cblaslib:
|
cblaslib:
|
||||||
$(MAKE) -C CBLAS
|
$(MAKE) -C CBLAS
|
||||||
|
|
||||||
|
.PHONY: lapacklib
|
||||||
lapacklib:
|
lapacklib:
|
||||||
$(MAKE) -C SRC
|
$(MAKE) -C SRC
|
||||||
|
|
||||||
|
.PHONY: lapackelib
|
||||||
lapackelib:
|
lapackelib:
|
||||||
$(MAKE) -C LAPACKE
|
$(MAKE) -C LAPACKE
|
||||||
|
|
||||||
|
.PHONY: blaspplib
|
||||||
|
blaspplib:
|
||||||
|
@echo "Thank you for your interest in BLAS++, a newly developed C++ API for BLAS library"
|
||||||
|
@echo "The objective of BLAS++ is to provide a convenient, performance oriented API for development in the C++ language, that, for the most part, preserves established conventions, while, at the same time, takes advantages of modern C++ features, such as: namespaces, templates, exceptions, etc."
|
||||||
|
@echo "We are still working on integrating BLAS++ in our library. For the moment, you can download directly blas++ from https://bitbucket.org/icl/blaspp"
|
||||||
|
@echo "For support BLAS++ related question, please email: slate-user@icl.utk.edu"
|
||||||
|
|
||||||
|
.PHONY: lapackpplib
|
||||||
|
lapackpplib:
|
||||||
|
@echo "Thank you for your interest in LAPACK++, a newly developed C++ API for LAPACK library"
|
||||||
|
@echo "The objective of LAPACK++ is to provide a convenient, performance oriented API for development in the C++ language, that, for the most part, preserves established conventions, while, at the same time, takes advantages of modern C++ features, such as: namespaces, templates, exceptions, etc."
|
||||||
|
@echo "We are still working on integrating LAPACK++ in our library. For the moment, you can download directly lapack++ from https://bitbucket.org/icl/lapackpp"
|
||||||
|
@echo "For support LAPACK++ related question, please email: slate-user@icl.utk.edu"
|
||||||
|
|
||||||
|
.PHONY: tmglib
|
||||||
tmglib:
|
tmglib:
|
||||||
$(MAKE) -C TESTING/MATGEN
|
$(MAKE) -C TESTING/MATGEN
|
||||||
|
|
||||||
|
.PHONY: variants
|
||||||
variants:
|
variants:
|
||||||
$(MAKE) -C SRC/VARIANTS
|
$(MAKE) -C SRC/VARIANTS
|
||||||
|
|
||||||
|
.PHONY: lapack_install
|
||||||
lapack_install:
|
lapack_install:
|
||||||
$(MAKE) -C INSTALL run
|
$(MAKE) -C INSTALL run
|
||||||
|
|
||||||
|
.PHONY: blas_testing
|
||||||
blas_testing: blaslib
|
blas_testing: blaslib
|
||||||
$(MAKE) -C BLAS blas_testing
|
$(MAKE) -C BLAS blas_testing
|
||||||
|
|
||||||
|
.PHONY: cblas_testing
|
||||||
cblas_testing: cblaslib blaslib
|
cblas_testing: cblaslib blaslib
|
||||||
$(MAKE) -C CBLAS cblas_testing
|
$(MAKE) -C CBLAS cblas_testing
|
||||||
|
|
||||||
|
.PHONY: lapack_testing
|
||||||
lapack_testing: tmglib lapacklib blaslib
|
lapack_testing: tmglib lapacklib blaslib
|
||||||
$(MAKE) -C TESTING/LIN cleanexe
|
$(MAKE) -C TESTING/LIN cleanexe
|
||||||
$(MAKE) -C TESTING
|
$(MAKE) -C TESTING
|
||||||
./lapack_testing.py
|
./lapack_testing.py
|
||||||
|
|
||||||
|
.PHONY: variants_testing
|
||||||
variants_testing: tmglib variants lapacklib blaslib
|
variants_testing: tmglib variants lapacklib blaslib
|
||||||
$(MAKE) -C TESTING/LIN cleanexe
|
$(MAKE) -C TESTING/LIN cleanexe
|
||||||
$(MAKE) -C TESTING/LIN VARLIB='SRC/VARIANTS/cholrl.a'
|
$(MAKE) -C TESTING/LIN VARLIB='../../SRC/VARIANTS/cholrl.a'
|
||||||
$(MAKE) -C TESTING stest.out && mv TESTING/stest.out TESTING/stest_cholrl.out
|
$(MAKE) -C TESTING stest.out && mv TESTING/stest.out TESTING/stest_cholrl.out
|
||||||
$(MAKE) -C TESTING dtest.out && mv TESTING/dtest.out TESTING/dtest_cholrl.out
|
$(MAKE) -C TESTING dtest.out && mv TESTING/dtest.out TESTING/dtest_cholrl.out
|
||||||
$(MAKE) -C TESTING ctest.out && mv TESTING/ctest.out TESTING/ctest_cholrl.out
|
$(MAKE) -C TESTING ctest.out && mv TESTING/ctest.out TESTING/ctest_cholrl.out
|
||||||
$(MAKE) -C TESTING ztest.out && mv TESTING/ztest.out TESTING/ztest_cholrl.out
|
$(MAKE) -C TESTING ztest.out && mv TESTING/ztest.out TESTING/ztest_cholrl.out
|
||||||
$(MAKE) -C TESTING/LIN cleanexe
|
$(MAKE) -C TESTING/LIN cleanexe
|
||||||
$(MAKE) -C TESTING/LIN VARLIB='SRC/VARIANTS/choltop.a'
|
$(MAKE) -C TESTING/LIN VARLIB='../../SRC/VARIANTS/choltop.a'
|
||||||
$(MAKE) -C TESTING stest.out && mv TESTING/stest.out TESTING/stest_choltop.out
|
$(MAKE) -C TESTING stest.out && mv TESTING/stest.out TESTING/stest_choltop.out
|
||||||
$(MAKE) -C TESTING dtest.out && mv TESTING/dtest.out TESTING/dtest_choltop.out
|
$(MAKE) -C TESTING dtest.out && mv TESTING/dtest.out TESTING/dtest_choltop.out
|
||||||
$(MAKE) -C TESTING ctest.out && mv TESTING/ctest.out TESTING/ctest_choltop.out
|
$(MAKE) -C TESTING ctest.out && mv TESTING/ctest.out TESTING/ctest_choltop.out
|
||||||
$(MAKE) -C TESTING ztest.out && mv TESTING/ztest.out TESTING/ztest_choltop.out
|
$(MAKE) -C TESTING ztest.out && mv TESTING/ztest.out TESTING/ztest_choltop.out
|
||||||
$(MAKE) -C TESTING/LIN cleanexe
|
$(MAKE) -C TESTING/LIN cleanexe
|
||||||
$(MAKE) -C TESTING/LIN VARLIB='SRC/VARIANTS/lucr.a'
|
$(MAKE) -C TESTING/LIN VARLIB='../../SRC/VARIANTS/lucr.a'
|
||||||
$(MAKE) -C TESTING stest.out && mv TESTING/stest.out TESTING/stest_lucr.out
|
$(MAKE) -C TESTING stest.out && mv TESTING/stest.out TESTING/stest_lucr.out
|
||||||
$(MAKE) -C TESTING dtest.out && mv TESTING/dtest.out TESTING/dtest_lucr.out
|
$(MAKE) -C TESTING dtest.out && mv TESTING/dtest.out TESTING/dtest_lucr.out
|
||||||
$(MAKE) -C TESTING ctest.out && mv TESTING/ctest.out TESTING/ctest_lucr.out
|
$(MAKE) -C TESTING ctest.out && mv TESTING/ctest.out TESTING/ctest_lucr.out
|
||||||
$(MAKE) -C TESTING ztest.out && mv TESTING/ztest.out TESTING/ztest_lucr.out
|
$(MAKE) -C TESTING ztest.out && mv TESTING/ztest.out TESTING/ztest_lucr.out
|
||||||
$(MAKE) -C TESTING/LIN cleanexe
|
$(MAKE) -C TESTING/LIN cleanexe
|
||||||
$(MAKE) -C TESTING/LIN VARLIB='SRC/VARIANTS/lull.a'
|
$(MAKE) -C TESTING/LIN VARLIB='../../SRC/VARIANTS/lull.a'
|
||||||
$(MAKE) -C TESTING stest.out && mv TESTING/stest.out TESTING/stest_lull.out
|
$(MAKE) -C TESTING stest.out && mv TESTING/stest.out TESTING/stest_lull.out
|
||||||
$(MAKE) -C TESTING dtest.out && mv TESTING/dtest.out TESTING/dtest_lull.out
|
$(MAKE) -C TESTING dtest.out && mv TESTING/dtest.out TESTING/dtest_lull.out
|
||||||
$(MAKE) -C TESTING ctest.out && mv TESTING/ctest.out TESTING/ctest_lull.out
|
$(MAKE) -C TESTING ctest.out && mv TESTING/ctest.out TESTING/ctest_lull.out
|
||||||
$(MAKE) -C TESTING ztest.out && mv TESTING/ztest.out TESTING/ztest_lull.out
|
$(MAKE) -C TESTING ztest.out && mv TESTING/ztest.out TESTING/ztest_lull.out
|
||||||
$(MAKE) -C TESTING/LIN cleanexe
|
$(MAKE) -C TESTING/LIN cleanexe
|
||||||
$(MAKE) -C TESTING/LIN VARLIB='SRC/VARIANTS/lurec.a'
|
$(MAKE) -C TESTING/LIN VARLIB='../../SRC/VARIANTS/lurec.a'
|
||||||
$(MAKE) -C TESTING stest.out && mv TESTING/stest.out TESTING/stest_lurec.out
|
$(MAKE) -C TESTING stest.out && mv TESTING/stest.out TESTING/stest_lurec.out
|
||||||
$(MAKE) -C TESTING dtest.out && mv TESTING/dtest.out TESTING/dtest_lurec.out
|
$(MAKE) -C TESTING dtest.out && mv TESTING/dtest.out TESTING/dtest_lurec.out
|
||||||
$(MAKE) -C TESTING ctest.out && mv TESTING/ctest.out TESTING/ctest_lurec.out
|
$(MAKE) -C TESTING ctest.out && mv TESTING/ctest.out TESTING/ctest_lurec.out
|
||||||
$(MAKE) -C TESTING ztest.out && mv TESTING/ztest.out TESTING/ztest_lurec.out
|
$(MAKE) -C TESTING ztest.out && mv TESTING/ztest.out TESTING/ztest_lurec.out
|
||||||
$(MAKE) -C TESTING/LIN cleanexe
|
$(MAKE) -C TESTING/LIN cleanexe
|
||||||
$(MAKE) -C TESTING/LIN VARLIB='SRC/VARIANTS/qrll.a'
|
$(MAKE) -C TESTING/LIN VARLIB='../../SRC/VARIANTS/qrll.a'
|
||||||
$(MAKE) -C TESTING stest.out && mv TESTING/stest.out TESTING/stest_qrll.out
|
$(MAKE) -C TESTING stest.out && mv TESTING/stest.out TESTING/stest_qrll.out
|
||||||
$(MAKE) -C TESTING dtest.out && mv TESTING/dtest.out TESTING/dtest_qrll.out
|
$(MAKE) -C TESTING dtest.out && mv TESTING/dtest.out TESTING/dtest_qrll.out
|
||||||
$(MAKE) -C TESTING ctest.out && mv TESTING/ctest.out TESTING/ctest_qrll.out
|
$(MAKE) -C TESTING ctest.out && mv TESTING/ctest.out TESTING/ctest_qrll.out
|
||||||
$(MAKE) -C TESTING ztest.out && mv TESTING/ztest.out TESTING/ztest_qrll.out
|
$(MAKE) -C TESTING ztest.out && mv TESTING/ztest.out TESTING/ztest_qrll.out
|
||||||
|
|
||||||
|
.PHONY: cblas_example
|
||||||
cblas_example: cblaslib blaslib
|
cblas_example: cblaslib blaslib
|
||||||
$(MAKE) -C CBLAS cblas_example
|
$(MAKE) -C CBLAS cblas_example
|
||||||
|
|
||||||
|
.PHONY: lapacke_example
|
||||||
lapacke_example: lapackelib lapacklib blaslib
|
lapacke_example: lapackelib lapacklib blaslib
|
||||||
$(MAKE) -C LAPACKE lapacke_example
|
$(MAKE) -C LAPACKE lapacke_example
|
||||||
|
|
||||||
|
.PHONY: html
|
||||||
html:
|
html:
|
||||||
@echo "LAPACK HTML PAGES GENERATION with Doxygen"
|
@echo "LAPACK HTML PAGES GENERATION with Doxygen"
|
||||||
doxygen DOCS/Doxyfile
|
doxygen DOCS/Doxyfile
|
||||||
|
@ -96,6 +127,7 @@ html:
|
||||||
@echo "Online version available at http://www.netlib.org/lapack/explore-html/"
|
@echo "Online version available at http://www.netlib.org/lapack/explore-html/"
|
||||||
@echo "=================="
|
@echo "=================="
|
||||||
|
|
||||||
|
.PHONY: man
|
||||||
man:
|
man:
|
||||||
@echo "LAPACK MAN PAGES GENERATION with Doxygen"
|
@echo "LAPACK MAN PAGES GENERATION with Doxygen"
|
||||||
doxygen DOCS/Doxyfile_man
|
doxygen DOCS/Doxyfile_man
|
||||||
|
@ -105,6 +137,7 @@ man:
|
||||||
@echo "Usage: man dgetrf.f"
|
@echo "Usage: man dgetrf.f"
|
||||||
@echo "=================="
|
@echo "=================="
|
||||||
|
|
||||||
|
.PHONY: clean cleanobj cleanlib cleanexe cleantest
|
||||||
clean:
|
clean:
|
||||||
$(MAKE) -C INSTALL clean
|
$(MAKE) -C INSTALL clean
|
||||||
$(MAKE) -C BLAS clean
|
$(MAKE) -C BLAS clean
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
[](https://travis-ci.org/Reference-LAPACK/lapack)
|
[](https://travis-ci.org/Reference-LAPACK/lapack)
|
||||||
[](https://ci.appveyor.com/project/langou/lapack/)
|
[](https://ci.appveyor.com/project/langou/lapack/)
|
||||||
[](https://codecov.io/gh/Reference-LAPACK/lapack)
|
[](https://codecov.io/gh/Reference-LAPACK/lapack)
|
||||||
|
[](https://repology.org/metapackage/lapack/versions)
|
||||||
|
|
||||||
|
|
||||||
* VERSION 1.0 : February 29, 1992
|
* VERSION 1.0 : February 29, 1992
|
||||||
|
@ -29,6 +30,7 @@
|
||||||
* VERSION 3.7.0 : December 2016
|
* VERSION 3.7.0 : December 2016
|
||||||
* VERSION 3.7.1 : June 2017
|
* VERSION 3.7.1 : June 2017
|
||||||
* VERSION 3.8.0 : November 2017
|
* VERSION 3.8.0 : November 2017
|
||||||
|
* VERSION 3.9.0 : November 2019
|
||||||
|
|
||||||
LAPACK is a library of Fortran subroutines for solving the most commonly
|
LAPACK is a library of Fortran subroutines for solving the most commonly
|
||||||
occurring problems in numerical linear algebra.
|
occurring problems in numerical linear algebra.
|
||||||
|
@ -70,6 +72,14 @@ CBLAS, a C interface to the BLAS, and (5) LAPACKE, a C interface to LAPACK.
|
||||||
- LAPACK includes also the CMake build. You will need to have CMake installed
|
- LAPACK includes also the CMake build. You will need to have CMake installed
|
||||||
on your machine (CMake is available at http://www.cmake.org/). CMake will
|
on your machine (CMake is available at http://www.cmake.org/). CMake will
|
||||||
allow an easy installation on a Windows Machine.
|
allow an easy installation on a Windows Machine.
|
||||||
|
An example CMake build is:
|
||||||
|
```sh
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake -DCMAKE_INSTALL_LIBDIR=$HOME/.local/lapack ..
|
||||||
|
cmake --build -j . --target install
|
||||||
|
```
|
||||||
|
That installs the LAPACK library under $HOME/.local/lapack/
|
||||||
- Specific information to run LAPACK under Windows is available at
|
- Specific information to run LAPACK under Windows is available at
|
||||||
http://icl.cs.utk.edu/lapack-for-windows/lapack/.
|
http://icl.cs.utk.edu/lapack-for-windows/lapack/.
|
||||||
|
|
||||||
|
@ -115,4 +125,3 @@ LAPACK now includes the LAPACKE package. LAPACKE is a Standard C language API
|
||||||
for LAPACK This was born from a collaboration of the LAPACK and INTEL Math
|
for LAPACK This was born from a collaboration of the LAPACK and INTEL Math
|
||||||
Kernel Library teams. See:
|
Kernel Library teams. See:
|
||||||
http://www.netlib.org/lapack/#_standard_c_language_apis_for_lapack.
|
http://www.netlib.org/lapack/#_standard_c_language_apis_for_lapack.
|
||||||
|
|
||||||
|
|
|
@ -69,7 +69,8 @@ find_program(HOSTNAME NAMES hostname)
|
||||||
find_program(UNAME NAMES uname)
|
find_program(UNAME NAMES uname)
|
||||||
|
|
||||||
# Get the build name and hostname
|
# Get the build name and hostname
|
||||||
exec_program(${HOSTNAME} ARGS OUTPUT_VARIABLE hostname)
|
execute_process(${HOSTNAME}
|
||||||
|
OUTPUT_VARIABLE hostname)
|
||||||
string(REGEX REPLACE "[/\\\\+<> #]" "-" hostname "${hostname}")
|
string(REGEX REPLACE "[/\\\\+<> #]" "-" hostname "${hostname}")
|
||||||
|
|
||||||
message("HOSTNAME: ${hostname}")
|
message("HOSTNAME: ${hostname}")
|
||||||
|
@ -83,7 +84,8 @@ find_package(Git REQUIRED)
|
||||||
set(CTEST_GIT_COMMAND ${GIT_EXECUTABLE})
|
set(CTEST_GIT_COMMAND ${GIT_EXECUTABLE})
|
||||||
set(CTEST_UPDATE_COMMAND ${GIT_EXECUTABLE})
|
set(CTEST_UPDATE_COMMAND ${GIT_EXECUTABLE})
|
||||||
macro(getuname name flag)
|
macro(getuname name flag)
|
||||||
exec_program("${UNAME}" ARGS "${flag}" OUTPUT_VARIABLE "${name}")
|
execute_process(COMMAND "${UNAME}" "${flag}"
|
||||||
|
OUTPUT_VARIABLE "${name}")
|
||||||
string(REGEX REPLACE "[/\\\\+<> #]" "-" "${name}" "${${name}}")
|
string(REGEX REPLACE "[/\\\\+<> #]" "-" "${name}" "${${name}}")
|
||||||
string(REGEX REPLACE "^(......|.....|....|...|..|.).*" "\\1" "${name}" "${${name}}")
|
string(REGEX REPLACE "^(......|.....|....|...|..|.).*" "\\1" "${name}" "${${name}}")
|
||||||
endmacro()
|
endmacro()
|
||||||
|
@ -167,7 +169,7 @@ endif()
|
||||||
# dashboard then set this variable to the directory
|
# dashboard then set this variable to the directory
|
||||||
# the dashboard should be in
|
# the dashboard should be in
|
||||||
make_directory("${CTEST_DASHBOARD_ROOT}")
|
make_directory("${CTEST_DASHBOARD_ROOT}")
|
||||||
# these are the the name of the source and binary directory on disk.
|
# these are the names of the source and binary directory on disk.
|
||||||
# They will be appended to DASHBOARD_ROOT
|
# They will be appended to DASHBOARD_ROOT
|
||||||
set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_DIR_NAME}")
|
set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_DIR_NAME}")
|
||||||
set(CTEST_BINARY_DIRECTORY "${CTEST_SOURCE_DIRECTORY}-${CTEST_BUILD_NAME}")
|
set(CTEST_BINARY_DIRECTORY "${CTEST_SOURCE_DIRECTORY}-${CTEST_BUILD_NAME}")
|
||||||
|
|
|
@ -12,8 +12,8 @@ import os, sys, math
|
||||||
import getopt
|
import getopt
|
||||||
# Arguments
|
# Arguments
|
||||||
try:
|
try:
|
||||||
opts, args = getopt.getopt(sys.argv[1:], "hd:srep:t:n",
|
opts, args = getopt.getopt(sys.argv[1:], "hd:b:srep:t:n",
|
||||||
["help", "dir", "short", "run", "error","prec=","test=","number"])
|
["help", "dir", "bin", "short", "run", "error","prec=","test=","number"])
|
||||||
|
|
||||||
except getopt.error as msg:
|
except getopt.error as msg:
|
||||||
print(msg)
|
print(msg)
|
||||||
|
@ -29,14 +29,13 @@ only_numbers=0
|
||||||
test_dir='TESTING'
|
test_dir='TESTING'
|
||||||
bin_dir='bin/Release'
|
bin_dir='bin/Release'
|
||||||
|
|
||||||
abs_bin_dir=os.path.normpath(os.path.join(os.getcwd(),bin_dir))
|
|
||||||
|
|
||||||
for o, a in opts:
|
for o, a in opts:
|
||||||
if o in ("-h", "--help"):
|
if o in ("-h", "--help"):
|
||||||
print(sys.argv[0]+" [-h|--help] [-d dir |--dir dir] [-s |--short] [-r |--run] [-e |--error] [-p p |--prec p] [-t test |--test test] [-n | --number]")
|
print(sys.argv[0]+" [-h|--help] [-d dir |--dir dir] [-s |--short] [-r |--run] [-e |--error] [-p p |--prec p] [-t test |--test test] [-n | --number]")
|
||||||
print(" - h is to print this message")
|
print(" - h is to print this message")
|
||||||
print(" - r is to use to run the LAPACK tests then analyse the output (.out files). By default, the script will not run all the LAPACK tests")
|
print(" - r is to use to run the LAPACK tests then analyse the output (.out files). By default, the script will not run all the LAPACK tests")
|
||||||
print(" - d [dir] is to indicate where is the LAPACK testing directory (.out files). By default, the script will use .")
|
print(" - d [dir] is to indicate where is the LAPACK testing directory (.out files). By default, the script will use .")
|
||||||
|
print(" - b [bin] is to indicate where is the LAPACK binary files are located. By default, the script will use .")
|
||||||
print(" LEVEL OF OUTPUT")
|
print(" LEVEL OF OUTPUT")
|
||||||
print(" - x is to print a detailed summary")
|
print(" - x is to print a detailed summary")
|
||||||
print(" - e is to print only the error summary")
|
print(" - e is to print only the error summary")
|
||||||
|
@ -75,6 +74,8 @@ for o, a in opts:
|
||||||
just_errors = 1
|
just_errors = 1
|
||||||
if o in ( '-p', '--prec' ):
|
if o in ( '-p', '--prec' ):
|
||||||
prec = a
|
prec = a
|
||||||
|
if o in ( '-b', '--bin' ):
|
||||||
|
bin_dir = a
|
||||||
if o in ( '-d', '--dir' ):
|
if o in ( '-d', '--dir' ):
|
||||||
test_dir = a
|
test_dir = a
|
||||||
if o in ( '-t', '--test' ):
|
if o in ( '-t', '--test' ):
|
||||||
|
@ -85,6 +86,8 @@ for o, a in opts:
|
||||||
|
|
||||||
# process options
|
# process options
|
||||||
|
|
||||||
|
abs_bin_dir=os.path.normpath(os.path.join(os.getcwd(),bin_dir))
|
||||||
|
|
||||||
os.chdir(test_dir)
|
os.chdir(test_dir)
|
||||||
|
|
||||||
execution=1
|
execution=1
|
||||||
|
@ -114,10 +117,7 @@ def run_summary_test( f, cmdline, short_summary):
|
||||||
pipe = open(cmdline,'r')
|
pipe = open(cmdline,'r')
|
||||||
r=0
|
r=0
|
||||||
else:
|
else:
|
||||||
if os.name != 'nt':
|
cmdline = os.path.join(abs_bin_dir, cmdline)
|
||||||
cmdline='./' + cmdline
|
|
||||||
else :
|
|
||||||
cmdline=abs_bin_dir+os.path.sep+cmdline
|
|
||||||
|
|
||||||
outfile=cmdline.split()[4]
|
outfile=cmdline.split()[4]
|
||||||
#pipe = open(outfile,'w')
|
#pipe = open(outfile,'w')
|
||||||
|
@ -257,16 +257,16 @@ for dtype in range_prec:
|
||||||
else:
|
else:
|
||||||
if dtest==16:
|
if dtest==16:
|
||||||
# LIN TESTS
|
# LIN TESTS
|
||||||
cmdbase="LIN/xlintst"+letter+" < "+dtests[0][dtest]+".in > "+dtests[2][dtest]+".out"
|
cmdbase="xlintst"+letter+" < "+dtests[0][dtest]+".in > "+dtests[2][dtest]+".out"
|
||||||
elif dtest==17:
|
elif dtest==17:
|
||||||
# PROTO LIN TESTS
|
# PROTO LIN TESTS
|
||||||
cmdbase="LIN/xlintst"+letter+dtypes[0][dtype-1]+" < "+dtests[0][dtest]+".in > "+dtests[2][dtest]+".out"
|
cmdbase="xlintst"+letter+dtypes[0][dtype-1]+" < "+dtests[0][dtest]+".in > "+dtests[2][dtest]+".out"
|
||||||
elif dtest==18:
|
elif dtest==18:
|
||||||
# PROTO LIN TESTS
|
# PROTO LIN TESTS
|
||||||
cmdbase="LIN/xlintstrf"+letter+" < "+dtests[0][dtest]+".in > "+dtests[2][dtest]+".out"
|
cmdbase="xlintstrf"+letter+" < "+dtests[0][dtest]+".in > "+dtests[2][dtest]+".out"
|
||||||
else:
|
else:
|
||||||
# EIG TESTS
|
# EIG TESTS
|
||||||
cmdbase="EIG/xeigtst"+letter+" < "+dtests[0][dtest]+".in > "+dtests[2][dtest]+".out"
|
cmdbase="xeigtst"+letter+" < "+dtests[0][dtest]+".in > "+dtests[2][dtest]+".out"
|
||||||
if (not just_errors and not short_summary):
|
if (not just_errors and not short_summary):
|
||||||
print("Testing "+name+" "+dtests[1][dtest]+"-"+cmdbase, end=' ')
|
print("Testing "+name+" "+dtests[1][dtest]+"-"+cmdbase, end=' ')
|
||||||
# Run the process: either to read the file or run the LAPACK testing
|
# Run the process: either to read the file or run the LAPACK testing
|
||||||
|
|
|
@ -11,7 +11,7 @@ SHELL = /bin/sh
|
||||||
CC = gcc
|
CC = gcc
|
||||||
CFLAGS = -O3
|
CFLAGS = -O3
|
||||||
|
|
||||||
# Modify the FORTRAN and OPTS definitions to refer to the compiler
|
# Modify the FC and FFLAGS definitions to the desired compiler
|
||||||
# and desired compiler options for your machine. NOOPT refers to
|
# and desired compiler options for your machine. NOOPT refers to
|
||||||
# the compiler options desired when NO OPTIMIZATION is selected.
|
# the compiler options desired when NO OPTIMIZATION is selected.
|
||||||
#
|
#
|
||||||
|
@ -19,22 +19,20 @@ CFLAGS = -O3
|
||||||
# and handle these quantities appropriately. As a consequence, one
|
# and handle these quantities appropriately. As a consequence, one
|
||||||
# should not compile LAPACK with flags such as -ffpe-trap=overflow.
|
# should not compile LAPACK with flags such as -ffpe-trap=overflow.
|
||||||
#
|
#
|
||||||
FORTRAN = gfortran
|
FC = gfortran
|
||||||
OPTS = -O2 -frecursive
|
FFLAGS = -O2 -frecursive
|
||||||
DRVOPTS = $(OPTS)
|
FFLAGS_DRV = $(FFLAGS)
|
||||||
NOOPT = -O0 -frecursive
|
FFLAGS_NOOPT = -O0 -frecursive
|
||||||
|
|
||||||
# Define LOADER and LOADOPTS to refer to the loader and desired
|
# Define LDFLAGS to the desired linker options for your machine.
|
||||||
# load options for your machine.
|
|
||||||
#
|
#
|
||||||
LOADER = gfortran
|
LDFLAGS =
|
||||||
LOADOPTS =
|
|
||||||
|
|
||||||
# The archiver and the flag(s) to use when building an archive
|
# The archiver and the flag(s) to use when building an archive
|
||||||
# (library). If your system has no ranlib, set RANLIB = echo.
|
# (library). If your system has no ranlib, set RANLIB = echo.
|
||||||
#
|
#
|
||||||
ARCH = ar
|
AR = ar
|
||||||
ARCHFLAGS = cr
|
ARFLAGS = cr
|
||||||
RANLIB = ranlib
|
RANLIB = ranlib
|
||||||
|
|
||||||
# Timer for the SECOND and DSECND routines
|
# Timer for the SECOND and DSECND routines
|
||||||
|
@ -78,8 +76,8 @@ TIMER = INT_ETIME
|
||||||
# machine-specific, optimized BLAS library should be used whenever
|
# machine-specific, optimized BLAS library should be used whenever
|
||||||
# possible.)
|
# possible.)
|
||||||
#
|
#
|
||||||
BLASLIB = ../../librefblas.a
|
BLASLIB = $(TOPSRCDIR)/librefblas.a
|
||||||
CBLASLIB = ../../libcblas.a
|
CBLASLIB = $(TOPSRCDIR)/libcblas.a
|
||||||
LAPACKLIB = liblapack.a
|
LAPACKLIB = $(TOPSRCDIR)/liblapack.a
|
||||||
TMGLIB = libtmglib.a
|
TMGLIB = $(TOPSRCDIR)/libtmglib.a
|
||||||
LAPACKELIB = liblapacke.a
|
LAPACKELIB = $(TOPSRCDIR)/liblapacke.a
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
# cd build
|
||||||
|
# meson --buildtype release --prefix=$HOME/.local/lapack ..
|
||||||
|
# ninja
|
||||||
|
# ninja install
|
||||||
|
|
||||||
|
project('LAPACK', 'fortran',
|
||||||
|
default_options : ['default_library=static', 'libdir=lib/'],
|
||||||
|
version : '3.8.0')
|
||||||
|
|
||||||
|
subdir('BLAS/SRC')
|
||||||
|
subdir('SRC')
|
||||||
|
|
||||||
|
prec = get_option('realkind')
|
||||||
|
|
||||||
|
|
||||||
|
if prec == 'd'
|
||||||
|
bsrc = DBLAS1 + DBLAS2 + DBLAS3
|
||||||
|
lsrc = DZLAUX + DSLASRC
|
||||||
|
elif prec == 's'
|
||||||
|
bsrc = SBLAS1 + SBLAS2 + SBLAS3
|
||||||
|
lsrc = SCLAUX + SLASRC
|
||||||
|
endif
|
||||||
|
|
||||||
|
blas = library('blas', bsrc,
|
||||||
|
install : true)
|
||||||
|
|
||||||
|
lapack = library('lapack', lsrc, ALLAUX,
|
||||||
|
install : true)
|
|
@ -0,0 +1,3 @@
|
||||||
|
option('realkind', type : 'string', value : 'd',
|
||||||
|
description : 's: real32 d: real64 c: complex32 z: complex64')
|
||||||
|
|
Loading…
Reference in New Issue