Skip to content

Commit 0ac073f

Browse files
committed
Merge pull request #376 from wernsaar/develop
Merged some Lapack optimized functions https://github.com/xianyi/OpenBLAS/wiki/Fixed-optimized-kernels-To-do-List
2 parents 10a16bd + 25e899b commit 0ac073f

File tree

24 files changed

+257
-1184
lines changed

24 files changed

+257
-1184
lines changed

Makefile

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,7 @@ else
207207
netlib : lapack_prebuild
208208
ifndef NOFORTRAN
209209
@$(MAKE) -C $(NETLIB_LAPACK_DIR) lapacklib
210+
@$(MAKE) -C $(NETLIB_LAPACK_DIR) tmglib
210211
endif
211212
ifndef NO_LAPACKE
212213
@$(MAKE) -C $(NETLIB_LAPACK_DIR) lapackelib
@@ -230,11 +231,18 @@ ifndef NOFORTRAN
230231
-@echo "ARCHFLAGS = -ru" >> $(NETLIB_LAPACK_DIR)/make.inc
231232
-@echo "RANLIB = $(RANLIB)" >> $(NETLIB_LAPACK_DIR)/make.inc
232233
-@echo "LAPACKLIB = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
234+
-@echo "TMGLIB = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
235+
-@echo "BLASLIB = ../../../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
233236
-@echo "LAPACKELIB = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc
234237
-@echo "LAPACKLIB_P = ../$(LIBNAME_P)" >> $(NETLIB_LAPACK_DIR)/make.inc
235238
-@echo "SUFFIX = $(SUFFIX)" >> $(NETLIB_LAPACK_DIR)/make.inc
236239
-@echo "PSUFFIX = $(PSUFFIX)" >> $(NETLIB_LAPACK_DIR)/make.inc
237240
-@echo "CEXTRALIB = $(EXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc
241+
ifeq ($(F_COMPILER), GFORTRAN)
242+
-@echo "TIMER = INT_ETIME" >> $(NETLIB_LAPACK_DIR)/make.inc
243+
else
244+
-@echo "TIMER = NONE" >> $(NETLIB_LAPACK_DIR)/make.inc
245+
endif
238246
-@cat make.inc >> $(NETLIB_LAPACK_DIR)/make.inc
239247
endif
240248

@@ -256,13 +264,12 @@ lapack-timing : large.tgz timing.tgz
256264
ifndef NOFORTRAN
257265
(cd $(NETLIB_LAPACK_DIR); $(TAR) zxf ../timing.tgz TIMING)
258266
(cd $(NETLIB_LAPACK_DIR)/TIMING; $(TAR) zxf ../../large.tgz )
259-
make -C $(NETLIB_LAPACK_DIR) tmglib
260267
make -C $(NETLIB_LAPACK_DIR)/TIMING
261268
endif
262269

263270

264271
lapack-test :
265-
make -j 1 -C $(NETLIB_LAPACK_DIR) tmglib
272+
(cd $(NETLIB_LAPACK_DIR)/TESTING && rm -f x* *.out)
266273
make -j 1 -C $(NETLIB_LAPACK_DIR)/TESTING xeigtstc xeigtstd xeigtsts xeigtstz xlintstc xlintstd xlintstds xlintstrfd xlintstrfz xlintsts xlintstz xlintstzc xlintstrfs xlintstrfc
267274
(cd $(NETLIB_LAPACK_DIR); ./lapack_testing.py -r )
268275

@@ -291,4 +298,5 @@ endif
291298
@$(MAKE) -C $(NETLIB_LAPACK_DIR) clean
292299
@rm -f $(NETLIB_LAPACK_DIR)/make.inc $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke_mangling.h
293300
@rm -f *.grd Makefile.conf_last config_last.h
301+
@(cd $(NETLIB_LAPACK_DIR)/TESTING && rm -f x* *.out testing_results.txt)
294302
@echo Done.

exports/gensymbol

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2667,34 +2667,34 @@
26672667
## @(MATGEN_OBJ) from `lapack-3.4.1/lapacke/src/Makefile`
26682668
## Not exported: requires LAPACKE_TESTING to be set and depends on libtmg
26692669
## (see `lapack-3.4.1/TESTING/MATGEN`).
2670-
#LAPACKE_clatms,
2671-
#LAPACKE_clatms_work,
2672-
#LAPACKE_dlatms,
2673-
#LAPACKE_dlatms_work,
2674-
#LAPACKE_slatms,
2675-
#LAPACKE_slatms_work,
2676-
#LAPACKE_zlatms,
2677-
#LAPACKE_zlatms_work,
2678-
#LAPACKE_clagge,
2679-
#LAPACKE_clagge_work,
2680-
#LAPACKE_dlagge,
2681-
#LAPACKE_dlagge_work,
2682-
#LAPACKE_slagge,
2683-
#LAPACKE_slagge_work,
2684-
#LAPACKE_zlagge,
2685-
#LAPACKE_zlagge_work,
2686-
#LAPACKE_claghe,
2687-
#LAPACKE_claghe_work,
2688-
#LAPACKE_zlaghe,
2689-
#LAPACKE_zlaghe_work,
2690-
#LAPACKE_clagsy,
2691-
#LAPACKE_clagsy_work,
2692-
#LAPACKE_dlagsy,
2693-
#LAPACKE_dlagsy_work,
2694-
#LAPACKE_slagsy,
2695-
#LAPACKE_slagsy_work,
2696-
#LAPACKE_zlagsy,
2697-
#LAPACKE_zlagsy_work,
2670+
LAPACKE_clatms,
2671+
LAPACKE_clatms_work,
2672+
LAPACKE_dlatms,
2673+
LAPACKE_dlatms_work,
2674+
LAPACKE_slatms,
2675+
LAPACKE_slatms_work,
2676+
LAPACKE_zlatms,
2677+
LAPACKE_zlatms_work,
2678+
LAPACKE_clagge,
2679+
LAPACKE_clagge_work,
2680+
LAPACKE_dlagge,
2681+
LAPACKE_dlagge_work,
2682+
LAPACKE_slagge,
2683+
LAPACKE_slagge_work,
2684+
LAPACKE_zlagge,
2685+
LAPACKE_zlagge_work,
2686+
LAPACKE_claghe,
2687+
LAPACKE_claghe_work,
2688+
LAPACKE_zlaghe,
2689+
LAPACKE_zlaghe_work,
2690+
LAPACKE_clagsy,
2691+
LAPACKE_clagsy_work,
2692+
LAPACKE_dlagsy,
2693+
LAPACKE_dlagsy_work,
2694+
LAPACKE_slagsy,
2695+
LAPACKE_slagsy_work,
2696+
LAPACKE_zlagsy,
2697+
LAPACKE_zlagsy_work,
26982698
);
26992699

27002700
#These function may need 2 underscores.

interface/Makefile

Lines changed: 29 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,8 @@ XBLASOBJS = $(XBLAS1OBJS) $(XBLAS2OBJS) $(XBLAS3OBJS)
349349
350350
SLAPACKOBJS = \
351351
sgetrf.$(SUFFIX) sgetrs.$(SUFFIX) spotrf.$(SUFFIX) sgetf2.$(SUFFIX) \
352-
spotf2.$(SUFFIX) slaswp.$(SUFFIX) sgesv.$(SUFFIX)
352+
spotf2.$(SUFFIX) slaswp.$(SUFFIX) sgesv.$(SUFFIX) slauu2.$(SUFFIX) \
353+
slauum.$(SUFFIX) strti2.$(SUFFIX) strtri.$(SUFFIX) spotri.$(SUFFIX)
353354

354355

355356
#DLAPACKOBJS = \
@@ -359,7 +360,8 @@ SLAPACKOBJS = \
359360
360361
DLAPACKOBJS = \
361362
dgetrf.$(SUFFIX) dgetrs.$(SUFFIX) dpotrf.$(SUFFIX) dgetf2.$(SUFFIX) \
362-
dpotf2.$(SUFFIX) dlaswp.$(SUFFIX) dgesv.$(SUFFIX)
363+
dpotf2.$(SUFFIX) dlaswp.$(SUFFIX) dgesv.$(SUFFIX) dlauu2.$(SUFFIX) \
364+
dlauum.$(SUFFIX) dtrti2.$(SUFFIX) dtrtri.$(SUFFIX) dpotri.$(SUFFIX)
363365

364366

365367
QLAPACKOBJS = \
@@ -374,7 +376,8 @@ QLAPACKOBJS = \
374376
375377
CLAPACKOBJS = \
376378
cgetrf.$(SUFFIX) cgetrs.$(SUFFIX) cpotrf.$(SUFFIX) cgetf2.$(SUFFIX) \
377-
cpotf2.$(SUFFIX) claswp.$(SUFFIX) cgesv.$(SUFFIX)
379+
cpotf2.$(SUFFIX) claswp.$(SUFFIX) cgesv.$(SUFFIX) clauu2.$(SUFFIX) \
380+
clauum.$(SUFFIX) ctrti2.$(SUFFIX) ctrtri.$(SUFFIX) cpotri.$(SUFFIX)
378381

379382

380383
#ZLAPACKOBJS = \
@@ -384,7 +387,9 @@ CLAPACKOBJS = \
384387
385388
ZLAPACKOBJS = \
386389
zgetrf.$(SUFFIX) zgetrs.$(SUFFIX) zpotrf.$(SUFFIX) zgetf2.$(SUFFIX) \
387-
zpotf2.$(SUFFIX) zlaswp.$(SUFFIX) zgesv.$(SUFFIX)
390+
zpotf2.$(SUFFIX) zlaswp.$(SUFFIX) zgesv.$(SUFFIX) zlauu2.$(SUFFIX) \
391+
zlauum.$(SUFFIX) ztrti2.$(SUFFIX) ztrtri.$(SUFFIX) zpotri.$(SUFFIX)
392+
388393

389394

390395

@@ -1788,37 +1793,37 @@ zgetrf.$(SUFFIX) zgetrf.$(PSUFFIX) : lapack/zgetrf.c
17881793
xgetrf.$(SUFFIX) xgetrf.$(PSUFFIX) : zgetrf.c
17891794
$(CC) -c $(CFLAGS) $< -o $(@F)
17901795

1791-
slauu2.$(SUFFIX) slauu2.$(PSUFFIX) : lauu2.c
1796+
slauu2.$(SUFFIX) slauu2.$(PSUFFIX) : lapack/lauu2.c
17921797
$(CC) -c $(CFLAGS) $< -o $(@F)
17931798

1794-
dlauu2.$(SUFFIX) dlauu2.$(PSUFFIX) : lauu2.c
1799+
dlauu2.$(SUFFIX) dlauu2.$(PSUFFIX) : lapack/lauu2.c
17951800
$(CC) -c $(CFLAGS) $< -o $(@F)
17961801

17971802
qlauu2.$(SUFFIX) qlauu2.$(PSUFFIX) : lauu2.c
17981803
$(CC) -c $(CFLAGS) $< -o $(@F)
17991804

1800-
clauu2.$(SUFFIX) clauu2.$(PSUFFIX) : zlauu2.c
1805+
clauu2.$(SUFFIX) clauu2.$(PSUFFIX) : lapack/zlauu2.c
18011806
$(CC) -c $(CFLAGS) $< -o $(@F)
18021807

1803-
zlauu2.$(SUFFIX) zlauu2.$(PSUFFIX) : zlauu2.c
1808+
zlauu2.$(SUFFIX) zlauu2.$(PSUFFIX) : lapack/zlauu2.c
18041809
$(CC) -c $(CFLAGS) $< -o $(@F)
18051810

18061811
xlauu2.$(SUFFIX) xlauu2.$(PSUFFIX) : zlauu2.c
18071812
$(CC) -c $(CFLAGS) $< -o $(@F)
18081813

1809-
slauum.$(SUFFIX) slauum.$(PSUFFIX) : lauum.c
1814+
slauum.$(SUFFIX) slauum.$(PSUFFIX) : lapack/lauum.c
18101815
$(CC) -c $(CFLAGS) $< -o $(@F)
18111816

1812-
dlauum.$(SUFFIX) dlauum.$(PSUFFIX) : lauum.c
1817+
dlauum.$(SUFFIX) dlauum.$(PSUFFIX) : lapack/lauum.c
18131818
$(CC) -c $(CFLAGS) $< -o $(@F)
18141819

18151820
qlauum.$(SUFFIX) qlauum.$(PSUFFIX) : lauum.c
18161821
$(CC) -c $(CFLAGS) $< -o $(@F)
18171822

1818-
clauum.$(SUFFIX) clauum.$(PSUFFIX) : zlauum.c
1823+
clauum.$(SUFFIX) clauum.$(PSUFFIX) : lapack/zlauum.c
18191824
$(CC) -c $(CFLAGS) $< -o $(@F)
18201825

1821-
zlauum.$(SUFFIX) zlauum.$(PSUFFIX) : zlauum.c
1826+
zlauum.$(SUFFIX) zlauum.$(PSUFFIX) : lapack/zlauum.c
18221827
$(CC) -c $(CFLAGS) $< -o $(@F)
18231828

18241829
xlauum.$(SUFFIX) xlauum.$(PSUFFIX) : zlauum.c
@@ -1860,37 +1865,37 @@ zpotrf.$(SUFFIX) zpotrf.$(PSUFFIX) : lapack/zpotrf.c
18601865
xpotrf.$(SUFFIX) xpotrf.$(PSUFFIX) : zpotrf.c
18611866
$(CC) -c $(CFLAGS) $< -o $(@F)
18621867

1863-
strti2.$(SUFFIX) strti2.$(PSUFFIX) : trti2.c
1868+
strti2.$(SUFFIX) strti2.$(PSUFFIX) : lapack/trti2.c
18641869
$(CC) -c $(CFLAGS) $< -o $(@F)
18651870

1866-
dtrti2.$(SUFFIX) dtrti2.$(PSUFFIX) : trti2.c
1871+
dtrti2.$(SUFFIX) dtrti2.$(PSUFFIX) : lapack/trti2.c
18671872
$(CC) -c $(CFLAGS) $< -o $(@F)
18681873

18691874
qtrti2.$(SUFFIX) qtrti2.$(PSUFFIX) : trti2.c
18701875
$(CC) -c $(CFLAGS) $< -o $(@F)
18711876

1872-
ctrti2.$(SUFFIX) ctrti2.$(PSUFFIX) : ztrti2.c
1877+
ctrti2.$(SUFFIX) ctrti2.$(PSUFFIX) : lapack/ztrti2.c
18731878
$(CC) -c $(CFLAGS) $< -o $(@F)
18741879

1875-
ztrti2.$(SUFFIX) ztrti2.$(PSUFFIX) : ztrti2.c
1880+
ztrti2.$(SUFFIX) ztrti2.$(PSUFFIX) : lapack/ztrti2.c
18761881
$(CC) -c $(CFLAGS) $< -o $(@F)
18771882

18781883
xtrti2.$(SUFFIX) xtrti2.$(PSUFFIX) : ztrti2.c
18791884
$(CC) -c $(CFLAGS) $< -o $(@F)
18801885

1881-
strtri.$(SUFFIX) strtri.$(PSUFFIX) : trtri.c
1886+
strtri.$(SUFFIX) strtri.$(PSUFFIX) : lapack/trtri.c
18821887
$(CC) -c $(CFLAGS) $< -o $(@F)
18831888

1884-
dtrtri.$(SUFFIX) dtrtri.$(PSUFFIX) : trtri.c
1889+
dtrtri.$(SUFFIX) dtrtri.$(PSUFFIX) : lapack/trtri.c
18851890
$(CC) -c $(CFLAGS) $< -o $(@F)
18861891

18871892
qtrtri.$(SUFFIX) qtrtri.$(PSUFFIX) : trtri.c
18881893
$(CC) -c $(CFLAGS) $< -o $(@F)
18891894

1890-
ctrtri.$(SUFFIX) ctrtri.$(PSUFFIX) : ztrtri.c
1895+
ctrtri.$(SUFFIX) ctrtri.$(PSUFFIX) : lapack/ztrtri.c
18911896
$(CC) -c $(CFLAGS) $< -o $(@F)
18921897

1893-
ztrtri.$(SUFFIX) ztrtri.$(PSUFFIX) : ztrtri.c
1898+
ztrtri.$(SUFFIX) ztrtri.$(PSUFFIX) : lapack/ztrtri.c
18941899
$(CC) -c $(CFLAGS) $< -o $(@F)
18951900

18961901
xtrtri.$(SUFFIX) xtrtri.$(PSUFFIX) : ztrtri.c
@@ -1950,19 +1955,19 @@ zgesv.$(SUFFIX) zgesv.$(PSUFFIX) : lapack/gesv.c
19501955
xgesv.$(SUFFIX) xgesv.$(PSUFFIX) : gesv.c
19511956
$(CC) -c $(CFLAGS) $< -o $(@F)
19521957

1953-
spotri.$(SUFFIX) spotri.$(PSUFFIX) : potri.c
1958+
spotri.$(SUFFIX) spotri.$(PSUFFIX) : lapack/potri.c
19541959
$(CC) -c $(CFLAGS) $< -o $(@F)
19551960

1956-
dpotri.$(SUFFIX) dpotri.$(PSUFFIX) : potri.c
1961+
dpotri.$(SUFFIX) dpotri.$(PSUFFIX) : lapack/potri.c
19571962
$(CC) -c $(CFLAGS) $< -o $(@F)
19581963

19591964
qpotri.$(SUFFIX) qpotri.$(PSUFFIX) : potri.c
19601965
$(CC) -c $(CFLAGS) $< -o $(@F)
19611966

1962-
cpotri.$(SUFFIX) cpotri.$(PSUFFIX) : zpotri.c
1967+
cpotri.$(SUFFIX) cpotri.$(PSUFFIX) : lapack/zpotri.c
19631968
$(CC) -c $(CFLAGS) $< -o $(@F)
19641969

1965-
zpotri.$(SUFFIX) zpotri.$(PSUFFIX) : zpotri.c
1970+
zpotri.$(SUFFIX) zpotri.$(PSUFFIX) : lapack/zpotri.c
19661971
$(CC) -c $(CFLAGS) $< -o $(@F)
19671972

19681973
xpotri.$(SUFFIX) xpotri.$(PSUFFIX) : zpotri.c

0 commit comments

Comments
 (0)