Skip to content

Commit d35baf3

Browse files
committed
added lapack 3.7.0 with latest patches from git
1 parent 24efbbd commit d35baf3

File tree

6,320 files changed

+1777853
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

6,320 files changed

+1777853
-0
lines changed

lapack-netlib/BLAS/CMakeLists.txt

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
add_subdirectory(SRC)
2+
if(BUILD_TESTING)
3+
add_subdirectory(TESTING)
4+
endif()
5+
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/blas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/blas.pc @ONLY)
6+
install(FILES
7+
${CMAKE_CURRENT_BINARY_DIR}/blas.pc
8+
DESTINATION ${PKG_CONFIG_DIR}
9+
)

lapack-netlib/BLAS/SRC/CMakeLists.txt

+149
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
#######################################################################
2+
# This is the makefile to create a library for the BLAS.
3+
# The files are grouped as follows:
4+
#
5+
# SBLAS1 -- Single precision real BLAS routines
6+
# CBLAS1 -- Single precision complex BLAS routines
7+
# DBLAS1 -- Double precision real BLAS routines
8+
# ZBLAS1 -- Double precision complex BLAS routines
9+
#
10+
# CB1AUX -- Real BLAS routines called by complex routines
11+
# ZB1AUX -- D.P. real BLAS routines called by d.p. complex
12+
# routines
13+
#
14+
# ALLBLAS -- Auxiliary routines for Level 2 and 3 BLAS
15+
#
16+
# SBLAS2 -- Single precision real BLAS2 routines
17+
# CBLAS2 -- Single precision complex BLAS2 routines
18+
# DBLAS2 -- Double precision real BLAS2 routines
19+
# ZBLAS2 -- Double precision complex BLAS2 routines
20+
#
21+
# SBLAS3 -- Single precision real BLAS3 routines
22+
# CBLAS3 -- Single precision complex BLAS3 routines
23+
# DBLAS3 -- Double precision real BLAS3 routines
24+
# ZBLAS3 -- Double precision complex BLAS3 routines
25+
#
26+
# The library can be set up to include routines for any combination
27+
# of the four precisions. To create or add to the library, enter make
28+
# followed by one or more of the precisions desired. Some examples:
29+
# make single
30+
# make single complex
31+
# make single double complex complex16
32+
# Note that these commands are not safe for parallel builds.
33+
#
34+
# Alternatively, the commands
35+
# make all
36+
# or
37+
# make
38+
# without any arguments creates a library of all four precisions.
39+
# The name of the library is held in BLASLIB, which is set in the
40+
# top-level make.inc
41+
#
42+
# To remove the object files after the library is created, enter
43+
# make clean
44+
# To force the source files to be recompiled, enter, for example,
45+
# make single FRC=FRC
46+
#
47+
#---------------------------------------------------------------------
48+
#
49+
# Edward Anderson, University of Tennessee
50+
# March 26, 1990
51+
# Susan Ostrouchov, Last updated September 30, 1994
52+
# ejr, May 2006.
53+
#
54+
#######################################################################
55+
56+
#---------------------------------------------------------
57+
# Comment out the next 6 definitions if you already have
58+
# the Level 1 BLAS.
59+
#---------------------------------------------------------
60+
set(SBLAS1 isamax.f sasum.f saxpy.f scopy.f sdot.f snrm2.f
61+
srot.f srotg.f sscal.f sswap.f sdsdot.f srotmg.f srotm.f)
62+
63+
set(CBLAS1 scabs1.f scasum.f scnrm2.f icamax.f caxpy.f ccopy.f
64+
cdotc.f cdotu.f csscal.f crotg.f cscal.f cswap.f csrot.f)
65+
66+
set(DBLAS1 idamax.f dasum.f daxpy.f dcopy.f ddot.f dnrm2.f
67+
drot.f drotg.f dscal.f dsdot.f dswap.f drotmg.f drotm.f)
68+
69+
set(ZBLAS1 dcabs1.f dzasum.f dznrm2.f izamax.f zaxpy.f zcopy.f
70+
zdotc.f zdotu.f zdscal.f zrotg.f zscal.f zswap.f zdrot.f)
71+
72+
set(CB1AUX isamax.f sasum.f saxpy.f scopy.f snrm2.f sscal.f)
73+
74+
set(ZB1AUX idamax.f dasum.f daxpy.f dcopy.f dnrm2.f dscal.f)
75+
76+
#---------------------------------------------------------------------
77+
# The following line defines auxiliary routines needed by both the
78+
# Level 2 and Level 3 BLAS. Comment it out only if you already have
79+
# both the Level 2 and 3 BLAS.
80+
#---------------------------------------------------------------------
81+
set(ALLBLAS lsame.f xerbla.f xerbla_array.f)
82+
83+
#---------------------------------------------------------
84+
# Comment out the next 4 definitions if you already have
85+
# the Level 2 BLAS.
86+
#---------------------------------------------------------
87+
set(SBLAS2 sgemv.f sgbmv.f ssymv.f ssbmv.f sspmv.f
88+
strmv.f stbmv.f stpmv.f strsv.f stbsv.f stpsv.f
89+
sger.f ssyr.f sspr.f ssyr2.f sspr2.f)
90+
91+
set(CBLAS2 cgemv.f cgbmv.f chemv.f chbmv.f chpmv.f
92+
ctrmv.f ctbmv.f ctpmv.f ctrsv.f ctbsv.f ctpsv.f
93+
cgerc.f cgeru.f cher.f chpr.f cher2.f chpr2.f)
94+
95+
set(DBLAS2 dgemv.f dgbmv.f dsymv.f dsbmv.f dspmv.f
96+
dtrmv.f dtbmv.f dtpmv.f dtrsv.f dtbsv.f dtpsv.f
97+
dger.f dsyr.f dspr.f dsyr2.f dspr2.f)
98+
99+
set(ZBLAS2 zgemv.f zgbmv.f zhemv.f zhbmv.f zhpmv.f
100+
ztrmv.f ztbmv.f ztpmv.f ztrsv.f ztbsv.f ztpsv.f
101+
zgerc.f zgeru.f zher.f zhpr.f zher2.f zhpr2.f)
102+
103+
#---------------------------------------------------------
104+
# Comment out the next 4 definitions if you already have
105+
# the Level 3 BLAS.
106+
#---------------------------------------------------------
107+
set(SBLAS3 sgemm.f ssymm.f ssyrk.f ssyr2k.f strmm.f strsm.f)
108+
109+
set(CBLAS3 cgemm.f csymm.f csyrk.f csyr2k.f ctrmm.f ctrsm.f
110+
chemm.f cherk.f cher2k.f)
111+
112+
set(DBLAS3 dgemm.f dsymm.f dsyrk.f dsyr2k.f dtrmm.f dtrsm.f)
113+
114+
set(ZBLAS3 zgemm.f zsymm.f zsyrk.f zsyr2k.f ztrmm.f ztrsm.f
115+
zhemm.f zherk.f zher2k.f)
116+
# default build all of it
117+
set(ALLOBJ ${SBLAS1} ${SBLAS2} ${SBLAS3} ${DBLAS1} ${DBLAS2} ${DBLAS3}
118+
${CBLAS1} ${CBLAS2} ${CBLAS3} ${ZBLAS1}
119+
${ZBLAS2} ${ZBLAS3} ${ALLBLAS})
120+
121+
if(BLAS_SINGLE)
122+
set(ALLOBJ ${SBLAS1} ${ALLBLAS}
123+
${SBLAS2} ${SBLAS3})
124+
endif()
125+
if(BLAS_DOUBLE)
126+
set(ALLOBJ ${DBLAS1} ${ALLBLAS}
127+
${DBLAS2} ${DBLAS3})
128+
endif()
129+
if(BLAS_COMPLEX)
130+
set(ALLOBJ ${BLASLIB} ${CBLAS1} ${CB1AUX}
131+
${ALLBLAS} ${CBLAS2})
132+
endif()
133+
if(BLAS_COMPLEX16)
134+
set(ALLOBJ ${BLASLIB} ${ZBLAS1} ${ZB1AUX}
135+
${ALLBLAS} ${ZBLAS2} ${ZBLAS3})
136+
endif()
137+
138+
139+
add_library(blas ${ALLOBJ})
140+
#if(UNIX)
141+
# target_link_libraries(blas m)
142+
#endif()
143+
set_target_properties(
144+
blas PROPERTIES
145+
VERSION ${LAPACK_VERSION}
146+
SOVERSION ${LAPACK_MAJOR_VERSION}
147+
)
148+
target_link_libraries(blas)
149+
lapack_install_library(blas)

lapack-netlib/BLAS/SRC/Makefile

+171
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
include ../../make.inc
2+
3+
#######################################################################
4+
# This is the makefile to create a library for the BLAS.
5+
# The files are grouped as follows:
6+
#
7+
# SBLAS1 -- Single precision real BLAS routines
8+
# CBLAS1 -- Single precision complex BLAS routines
9+
# DBLAS1 -- Double precision real BLAS routines
10+
# ZBLAS1 -- Double precision complex BLAS routines
11+
#
12+
# CB1AUX -- Real BLAS routines called by complex routines
13+
# ZB1AUX -- D.P. real BLAS routines called by d.p. complex
14+
# routines
15+
#
16+
# ALLBLAS -- Auxiliary routines for Level 2 and 3 BLAS
17+
#
18+
# SBLAS2 -- Single precision real BLAS2 routines
19+
# CBLAS2 -- Single precision complex BLAS2 routines
20+
# DBLAS2 -- Double precision real BLAS2 routines
21+
# ZBLAS2 -- Double precision complex BLAS2 routines
22+
#
23+
# SBLAS3 -- Single precision real BLAS3 routines
24+
# CBLAS3 -- Single precision complex BLAS3 routines
25+
# DBLAS3 -- Double precision real BLAS3 routines
26+
# ZBLAS3 -- Double precision complex BLAS3 routines
27+
#
28+
# The library can be set up to include routines for any combination
29+
# of the four precisions. To create or add to the library, enter make
30+
# followed by one or more of the precisions desired. Some examples:
31+
# make single
32+
# make single complex
33+
# make single double complex complex16
34+
# Note that these commands are not safe for parallel builds.
35+
#
36+
# Alternatively, the commands
37+
# make all
38+
# or
39+
# make
40+
# without any arguments creates a library of all four precisions.
41+
# The name of the library is held in BLASLIB, which is set in the
42+
# top-level make.inc
43+
#
44+
# To remove the object files after the library is created, enter
45+
# make clean
46+
# To force the source files to be recompiled, enter, for example,
47+
# make single FRC=FRC
48+
#
49+
#---------------------------------------------------------------------
50+
#
51+
# Edward Anderson, University of Tennessee
52+
# March 26, 1990
53+
# Susan Ostrouchov, Last updated September 30, 1994
54+
# ejr, May 2006.
55+
#
56+
#######################################################################
57+
58+
all: $(BLASLIB)
59+
60+
#---------------------------------------------------------
61+
# Comment out the next 6 definitions if you already have
62+
# the Level 1 BLAS.
63+
#---------------------------------------------------------
64+
SBLAS1 = isamax.o sasum.o saxpy.o scopy.o sdot.o snrm2.o \
65+
srot.o srotg.o sscal.o sswap.o sdsdot.o srotmg.o srotm.o
66+
$(SBLAS1): $(FRC)
67+
68+
CBLAS1 = scabs1.o scasum.o scnrm2.o icamax.o caxpy.o ccopy.o \
69+
cdotc.o cdotu.o csscal.o crotg.o cscal.o cswap.o csrot.o
70+
$(CBLAS1): $(FRC)
71+
72+
DBLAS1 = idamax.o dasum.o daxpy.o dcopy.o ddot.o dnrm2.o \
73+
drot.o drotg.o dscal.o dsdot.o dswap.o drotmg.o drotm.o
74+
$(DBLAS1): $(FRC)
75+
76+
ZBLAS1 = dcabs1.o dzasum.o dznrm2.o izamax.o zaxpy.o zcopy.o \
77+
zdotc.o zdotu.o zdscal.o zrotg.o zscal.o zswap.o zdrot.o
78+
$(ZBLAS1): $(FRC)
79+
80+
CB1AUX = isamax.o sasum.o saxpy.o scopy.o snrm2.o sscal.o
81+
$(CB1AUX): $(FRC)
82+
83+
ZB1AUX = idamax.o dasum.o daxpy.o dcopy.o dnrm2.o dscal.o
84+
$(ZB1AUX): $(FRC)
85+
86+
#---------------------------------------------------------------------
87+
# The following line defines auxiliary routines needed by both the
88+
# Level 2 and Level 3 BLAS. Comment it out only if you already have
89+
# both the Level 2 and 3 BLAS.
90+
#---------------------------------------------------------------------
91+
ALLBLAS = lsame.o xerbla.o xerbla_array.o
92+
$(ALLBLAS): $(FRC)
93+
94+
#---------------------------------------------------------
95+
# Comment out the next 4 definitions if you already have
96+
# the Level 2 BLAS.
97+
#---------------------------------------------------------
98+
SBLAS2 = sgemv.o sgbmv.o ssymv.o ssbmv.o sspmv.o \
99+
strmv.o stbmv.o stpmv.o strsv.o stbsv.o stpsv.o \
100+
sger.o ssyr.o sspr.o ssyr2.o sspr2.o
101+
$(SBLAS2): $(FRC)
102+
103+
CBLAS2 = cgemv.o cgbmv.o chemv.o chbmv.o chpmv.o \
104+
ctrmv.o ctbmv.o ctpmv.o ctrsv.o ctbsv.o ctpsv.o \
105+
cgerc.o cgeru.o cher.o chpr.o cher2.o chpr2.o
106+
$(CBLAS2): $(FRC)
107+
108+
DBLAS2 = dgemv.o dgbmv.o dsymv.o dsbmv.o dspmv.o \
109+
dtrmv.o dtbmv.o dtpmv.o dtrsv.o dtbsv.o dtpsv.o \
110+
dger.o dsyr.o dspr.o dsyr2.o dspr2.o
111+
$(DBLAS2): $(FRC)
112+
113+
ZBLAS2 = zgemv.o zgbmv.o zhemv.o zhbmv.o zhpmv.o \
114+
ztrmv.o ztbmv.o ztpmv.o ztrsv.o ztbsv.o ztpsv.o \
115+
zgerc.o zgeru.o zher.o zhpr.o zher2.o zhpr2.o
116+
$(ZBLAS2): $(FRC)
117+
118+
#---------------------------------------------------------
119+
# Comment out the next 4 definitions if you already have
120+
# the Level 3 BLAS.
121+
#---------------------------------------------------------
122+
SBLAS3 = sgemm.o ssymm.o ssyrk.o ssyr2k.o strmm.o strsm.o
123+
$(SBLAS3): $(FRC)
124+
125+
CBLAS3 = cgemm.o csymm.o csyrk.o csyr2k.o ctrmm.o ctrsm.o \
126+
chemm.o cherk.o cher2k.o
127+
$(CBLAS3): $(FRC)
128+
129+
DBLAS3 = dgemm.o dsymm.o dsyrk.o dsyr2k.o dtrmm.o dtrsm.o
130+
$(DBLAS3): $(FRC)
131+
132+
ZBLAS3 = zgemm.o zsymm.o zsyrk.o zsyr2k.o ztrmm.o ztrsm.o \
133+
zhemm.o zherk.o zher2k.o
134+
$(ZBLAS3): $(FRC)
135+
136+
ALLOBJ = $(SBLAS1) $(SBLAS2) $(SBLAS3) $(DBLAS1) $(DBLAS2) $(DBLAS3) \
137+
$(CBLAS1) $(CBLAS2) $(CBLAS3) $(ZBLAS1) \
138+
$(ZBLAS2) $(ZBLAS3) $(ALLBLAS)
139+
140+
$(BLASLIB): $(ALLOBJ)
141+
$(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ)
142+
$(RANLIB) $@
143+
144+
single: $(SBLAS1) $(ALLBLAS) $(SBLAS2) $(SBLAS3)
145+
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(SBLAS1) $(ALLBLAS) \
146+
$(SBLAS2) $(SBLAS3)
147+
$(RANLIB) $(BLASLIB)
148+
149+
double: $(DBLAS1) $(ALLBLAS) $(DBLAS2) $(DBLAS3)
150+
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(DBLAS1) $(ALLBLAS) \
151+
$(DBLAS2) $(DBLAS3)
152+
$(RANLIB) $(BLASLIB)
153+
154+
complex: $(CBLAS1) $(CB1AUX) $(ALLBLAS) $(CBLAS2) $(CBLAS3)
155+
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(CBLAS1) $(CB1AUX) \
156+
$(ALLBLAS) $(CBLAS2) $(CBLAS3)
157+
$(RANLIB) $(BLASLIB)
158+
159+
complex16: $(ZBLAS1) $(ZB1AUX) $(ALLBLAS) $(ZBLAS2) $(ZBLAS3)
160+
$(ARCH) $(ARCHFLAGS) $(BLASLIB) $(ZBLAS1) $(ZB1AUX) \
161+
$(ALLBLAS) $(ZBLAS2) $(ZBLAS3)
162+
$(RANLIB) $(BLASLIB)
163+
164+
FRC:
165+
@FRC=$(FRC)
166+
167+
clean:
168+
rm -f *.o
169+
170+
.f.o:
171+
$(FORTRAN) $(OPTS) -c -o $@ $<

0 commit comments

Comments
 (0)