|
|
@@ -51,7 +51,7 @@ |
|
|
|
zgeadd, dzsum); |
|
|
|
|
|
|
|
@blasobjs = (lsame, xerbla); |
|
|
|
@halfblasobjs = (sbgemm, sbdot, sbstobf16, sbdtobf16, sbf16tos, dbf16tod); |
|
|
|
@bfblasobjs = (sbgemm, sbdot, sbstobf16, sbdtobf16, sbf16tos, dbf16tod); |
|
|
|
@cblasobjsc = ( |
|
|
|
cblas_caxpy, cblas_ccopy, cblas_cdotc, cblas_cdotu, cblas_cgbmv, cblas_cgemm, cblas_cgemv, |
|
|
|
cblas_cgerc, cblas_cgeru, cblas_chbmv, cblas_chemm, cblas_chemv, cblas_cher2, cblas_cher2k, |
|
|
@@ -72,7 +72,7 @@ |
|
|
|
); |
|
|
|
|
|
|
|
@cblasobjss = ( |
|
|
|
cblas_sasum, cblas_saxpy, |
|
|
|
cblas_sasum, cblas_saxpy, cblas_saxpby, |
|
|
|
cblas_scopy, cblas_sdot, cblas_sdsdot, cblas_sgbmv, cblas_sgemm, |
|
|
|
cblas_sgemv, cblas_sger, cblas_snrm2, cblas_srot, cblas_srotg, |
|
|
|
cblas_srotm, cblas_srotmg, cblas_ssbmv, cblas_sscal, cblas_sspmv, cblas_sspr2, cblas_sspr, |
|
|
@@ -92,9 +92,9 @@ |
|
|
|
cblas_izamax, cblas_izamin, cblas_izmin, cblas_izmax, cblas_dzsum,cblas_zimatcopy,cblas_zomatcopy |
|
|
|
); |
|
|
|
|
|
|
|
@cblasobjs = ( cblas_xerbla ); |
|
|
|
@cblasobjs = ( cblas_xerbla ); |
|
|
|
|
|
|
|
@halfcblasobjs = (cblas_sbgemm, cblas_sbdot, cblas_sbstobf16, cblas_sbdtobf16, cblas_sbf16tos, cblas_dbf16tod); |
|
|
|
@bfcblasobjs = (cblas_sbgemm, cblas_sbdot, cblas_sbstobf16, cblas_sbdtobf16, cblas_sbf16tos, cblas_dbf16tod); |
|
|
|
|
|
|
|
@exblasobjs = ( |
|
|
|
qamax,qamin,qasum,qaxpy,qcabs1,qcopy,qdot,qgbmv,qgemm, |
|
|
@@ -415,7 +415,7 @@ zpotri, |
|
|
|
cgeqrt, cgeqrt2, cgeqrt3, cgemqrt, |
|
|
|
ctpqrt, ctpqrt2, ctpmqrt, ctprfb, |
|
|
|
); |
|
|
|
@lapack2objszc = ( |
|
|
|
@lapackobjs2zc = ( |
|
|
|
# ZCLASRC -- Double-single mixed precision complex routines called from |
|
|
|
# single, single-extra and double precision complex LAPACK |
|
|
|
# routines (i.e. from CLASRC, CXLASRC, ZLASRC). |
|
|
@@ -425,7 +425,7 @@ zpotri, |
|
|
|
cpotrs, |
|
|
|
); |
|
|
|
|
|
|
|
@lapack2objsd = ( |
|
|
|
@lapackobjs2d = ( |
|
|
|
# DLASRC -- Double precision real LAPACK routines |
|
|
|
# already provided by @lapackobjs: |
|
|
|
# dgesv, dgetf2, dgetrs, dlaswp, dlauu2, dlauum, dpotf2, dpotrf, dpotri, |
|
|
@@ -568,7 +568,7 @@ zpotri, |
|
|
|
); |
|
|
|
# functions added for lapack-3.6.0 |
|
|
|
|
|
|
|
@lapack2objsc = ( @lapack2objsc, |
|
|
|
@lapackobjs2c = ( @lapackobjs2c, |
|
|
|
cgejsv, |
|
|
|
cgesvdx, |
|
|
|
cgesvj, |
|
|
@@ -604,7 +604,7 @@ zpotri, |
|
|
|
csyr2, |
|
|
|
cunm22, |
|
|
|
); |
|
|
|
@lapackobjs2d = (@lapack2objsd, |
|
|
|
@lapackobjs2d = (@lapackobjs2d, |
|
|
|
dbdsvdx, |
|
|
|
dgesvdx, |
|
|
|
dgetrf2, |
|
|
@@ -637,7 +637,7 @@ zpotri, |
|
|
|
dpotrf2, |
|
|
|
dsecnd, |
|
|
|
); |
|
|
|
@lapack2objss = (@lapack2objss, |
|
|
|
@lapackobjs2s = (@lapackobjs2s, |
|
|
|
sbdsvdx, |
|
|
|
second, |
|
|
|
sgesvdx, |
|
|
@@ -670,7 +670,7 @@ zpotri, |
|
|
|
sorm22, |
|
|
|
spotrf2, |
|
|
|
); |
|
|
|
@lapack2objsz = (@lapack2objsz, |
|
|
|
@lapackobjs2z = (@lapackobjs2z, |
|
|
|
zgejsv, |
|
|
|
zgesvdx, |
|
|
|
zgesvj, |
|
|
@@ -707,7 +707,7 @@ zpotri, |
|
|
|
zunm22, |
|
|
|
); |
|
|
|
# functions added for lapack-3.7.0 |
|
|
|
@lapack2objss = (@lapack2objss, |
|
|
|
@lapackobjs2s = (@lapackobjs2s, |
|
|
|
slarfy, |
|
|
|
strevc3, |
|
|
|
sgelqt, |
|
|
@@ -726,7 +726,7 @@ zpotri, |
|
|
|
stplqt2, |
|
|
|
stpmlqt, |
|
|
|
); |
|
|
|
@lapack2objsd = (@lapack2objsd, |
|
|
|
@lapackobjs2d = (@lapackobjs2d, |
|
|
|
dlarfy, |
|
|
|
dsyconvf, |
|
|
|
dtrevc3, |
|
|
@@ -746,7 +746,7 @@ zpotri, |
|
|
|
dtplqt2, |
|
|
|
dtpmlqt, |
|
|
|
); |
|
|
|
@lapack2objsc = (@lapack2objsc, |
|
|
|
@lapackobjs2c = (@lapackobjs2c, |
|
|
|
clarfy, |
|
|
|
csyconvf, |
|
|
|
ctrevc3, |
|
|
@@ -766,7 +766,7 @@ zpotri, |
|
|
|
ctplqt2, |
|
|
|
ctpmlqt, |
|
|
|
); |
|
|
|
@lapack2objsz = (@lapack2objsz, |
|
|
|
@lapackobjs2z = (@lapackobjs2z, |
|
|
|
zlarfy, |
|
|
|
zsyconvf, |
|
|
|
ztrevc3, |
|
|
@@ -786,7 +786,7 @@ zpotri, |
|
|
|
zlamswlq, |
|
|
|
zgemlq, |
|
|
|
); |
|
|
|
@lapack2objs = (@lapack2objs, |
|
|
|
@lapackobjs2 = (@lapackobjs2, |
|
|
|
sladiv1, |
|
|
|
dladiv1, |
|
|
|
iparam2stage, |
|
|
@@ -796,21 +796,21 @@ zpotri, |
|
|
|
ilaenv2stage, |
|
|
|
); |
|
|
|
# functions added for lapack-3.9.0 |
|
|
|
@lapack2objsc = (@lapack2objsc, |
|
|
|
@lapackobjs2c = (@lapackobjs2c, |
|
|
|
cgesvdq, |
|
|
|
cungtsqr, |
|
|
|
dcombssq, |
|
|
|
); |
|
|
|
@lapack2objsd = (@lapack2objsd, |
|
|
|
@lapackobjs2d = (@lapackobjs2d, |
|
|
|
dgesvdq, |
|
|
|
dorgtsqr, |
|
|
|
); |
|
|
|
@lapack2objss = (@lapack2objss, |
|
|
|
@lapackobjs2s = (@lapackobjs2s, |
|
|
|
scombssq, |
|
|
|
sgesvdq, |
|
|
|
sorgtsqr, |
|
|
|
); |
|
|
|
@lapack2objsz = (@lapack2objsz, |
|
|
|
@lapackobjs2z = (@lapackobjs2z, |
|
|
|
zgesvdq, |
|
|
|
zungtsqr |
|
|
|
); |
|
|
@@ -835,10 +835,29 @@ zpotri, |
|
|
|
dlatzm, dtzrqf); |
|
|
|
|
|
|
|
@lapack_deprecated_objss = ( |
|
|
|
sgelsx, |
|
|
|
sgegs, |
|
|
|
sgegv, |
|
|
|
sgegv, |
|
|
|
sgeqpf, |
|
|
|
sggsvd, |
|
|
|
sggsvp, |
|
|
|
slahrd, |
|
|
|
slatzm, |
|
|
|
stzrqf |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
@lapack_deprecated_objsz = ( |
|
|
|
zgegs, |
|
|
|
zgegv, |
|
|
|
zgelsx, |
|
|
|
zgeqpf, |
|
|
|
zggsvd, |
|
|
|
zggsvp, |
|
|
|
zlahrd, |
|
|
|
zlatzm, |
|
|
|
ztzrqf |
|
|
|
); |
|
|
|
|
|
|
|
@lapacke_deprecated_objsc = ( |
|
|
|
LAPACKE_cggsvp, |
|
|
|
LAPACKE_cggsvp_work, |
|
|
@@ -3590,48 +3609,66 @@ use File::Basename; |
|
|
|
my $dirname = File::Spec->catfile(dirname(dirname(File::Spec->rel2abs(__FILE__))), "lapack-netlib"); |
|
|
|
|
|
|
|
if ($ARGV[12] == 1) { |
|
|
|
@blasobjs = (@blasobjs, @halfblasobjs); |
|
|
|
@cblasobjs = (@cblasobjs, @halfcblasobjs); |
|
|
|
@blasobjs = (@blasobjs, @bfblasobjs); |
|
|
|
@cblasobjs = (@cblasobjs, @bfcblasobjs); |
|
|
|
} |
|
|
|
if ($ARGV[13] == 1) { |
|
|
|
@blasobjs = (@blasobjs, @blasobjss); |
|
|
|
@cblasobjs = (@cblasobjs, @cblasobjss); |
|
|
|
@lapackobjs = (@lapackobjs, @lapackobjss); |
|
|
|
@lapack2objs = (@lapack2objs, @lapack2objss); |
|
|
|
@lapackobjs2 = (@lapackobjs2, @lapackobjs2s); |
|
|
|
@lapackobjs2 = (@lapackobjs2, @lapackobjs2sc); |
|
|
|
@lapackobjs2 = (@lapackobjs2, @lapackobjs2ds); |
|
|
|
@lapack_deprecated_objs = (@lapack_deprecated_objs, @lapack_deprecated_objss); |
|
|
|
@lapacke_deprecated_objs = (@lapacke_deprecated_objs, @lapacke_deprecated_objss); |
|
|
|
@lapack_embeded_underscore_objs = (@lapack_embeded_underscore_objs, @lapack_embeded_underscore_objs_s); |
|
|
|
@lapackeobjs = (@lapackeobjs, @lapackeobjss); |
|
|
|
@lapackobjs2 = (@lapackobjs2, @lapackobjs2s); |
|
|
|
} |
|
|
|
if ($ARGV[14] == 1) { |
|
|
|
@blasobjs = (@blasobjs, @blasobjsd); |
|
|
|
@cblasobjs = (@cblasobjs, @cblasobjsd); |
|
|
|
@lapackobjs = (@lapackobjs, @lapackobjsd); |
|
|
|
@lapack2objs = (@lapack2objs, @lapack2objsd); |
|
|
|
if ($ARGV[13] == 0) { |
|
|
|
@lapackobjs2 = (@lapackobjs2, @lapackobjs2ds); |
|
|
|
} |
|
|
|
@lapackobjs2 = (@lapackobjs2, @lapackobjs2d, @lapackobjs2dz); |
|
|
|
@lapack_deprecated_objs = (@lapack_deprecated_objs, @lapack_deprecated_objsd); |
|
|
|
@lapacke_deprecated_objs = (@lapacke_deprecated_objs, @lapacke_deprecated_objsd); |
|
|
|
@lapack_embeded_underscore_objs = (@lapack_embeded_underscore_objs, @lapack_embeded_underscore_objs_d); |
|
|
|
@lapackeobjs = (@lapackeobjs, @lapackeobjsd); |
|
|
|
@lapackobjs2 = (@lapackobjs2, @lapackobjs2d); |
|
|
|
} |
|
|
|
if ($ARGV[15] == 1) { |
|
|
|
@blasobjs = (@blasobjs, @blasobjsc); |
|
|
|
@cblasobjs = (@cblasobjs, @cblasobjsc); |
|
|
|
@gemm3mobjs = (@gemm3mobjs, @gemm3mobjsc); |
|
|
|
@cblasgemm3mobjs = (@cblasgemm3mobjs, @sblasgemm3mobjsc); |
|
|
|
@cblasgemm3mobjs = (@cblasgemm3mobjs, @cblasgemm3mobjsc); |
|
|
|
@lapackobjs = (@lapackobjs, @lapackobjsc); |
|
|
|
@lapack2objs = (@lapack2objs, @lapack2objsc, @lapac2objszc); |
|
|
|
@lapackobjs2 = (@lapackobjs2, @lapackobjs2c, @lapackobjs2zc); |
|
|
|
if ($ARGV[13] == 0) { |
|
|
|
@lapackobjs2 = (@lapackobjs2, @lapackobjs2sc); |
|
|
|
} |
|
|
|
@lapack_deprecated_objs = (@lapack_deprecated_objs, @lapack_deprecated_objsc); |
|
|
|
@lapacke_deprecated_objs = (@lapacke_deprecated_objs, @lapacke_deprecated_objsc); |
|
|
|
@lapack_embeded_underscore_objs = (@lapack_embeded_underscore_objs, @lapack_embeded_underscore_objs_c); |
|
|
|
@lapackeobjs = (@lapackeobjs, @lapackeobjsc); |
|
|
|
@lapackobjs2 = (@lapackobjs2, @lapackobjs2sc, @lapackobjs2c); |
|
|
|
} |
|
|
|
if ($ARGV[16] == 1) { |
|
|
|
@blasobjs = (@blasobjs, @blasobjsz); |
|
|
|
@cblasobjs = (@cblasobjs, @cblasobjsz); |
|
|
|
@gemm3mobjs = (@gemm3mobjs, @gemm3mobjsz); |
|
|
|
@cblasgemm3mobjs = (@cblasgemm3mobjs, @sblasgemm3mobjsz); |
|
|
|
@cblasgemm3mobjs = (@cblasgemm3mobjs, @cblasgemm3mobjsz); |
|
|
|
@lapackobjs = (@lapackobjs, @lapackobjsz); |
|
|
|
@lapack2objs = (@lapack2objs, @lapack2objsz, @lapack2objszc); |
|
|
|
@lapackobjs2 = (@lapackobjs2, @lapackobjs2z); |
|
|
|
if ($ARGV[15] == 0) { |
|
|
|
@lapackobjs2 = (@lapackobjs2, @lapackobjs2zc); |
|
|
|
} |
|
|
|
if ($ARGV[14] == 0) { |
|
|
|
@lapackobjs2 = (@lapackobjs2, @lapackobjs2dz); |
|
|
|
} |
|
|
|
@lapack_deprecated_objs = (@lapack_deprecated_objs, @lapack_deprecated_objsz); |
|
|
|
@lapacke_deprecated_objs = (@lapacke_deprecated_objs, @lapacke_deprecated_objsz); |
|
|
|
@lapack_embeded_underscore_objs = (@lapack_embeded_underscore_objs, @lapack_embeded_underscore_objs_z); |
|
|
|
@lapackeobjs = (@lapackeobjs, @lapackeobjsz); |
|
|
|
@lapackobjs2 = (@lapackobjs2, @lapackobjs2dz, @lapackobjs2z); |
|
|
|
} |
|
|
|
if ($ARGV[8] == 1) { |
|
|
|
#ONLY_CBLAS=1 |
|
|
|