Skip to content

Commit 7e4e195

Browse files
committed
Merge branch 'develop'
2 parents a7126c2 + ac5a7e1 commit 7e4e195

134 files changed

Lines changed: 28183 additions & 5278 deletions

File tree

Some content is hidden

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

Changelog.txt

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,21 @@
11
OpenBLAS ChangeLog
22
====================================================================
3-
Version 0.2.10
3+
Version 0.2.12
4+
13-Oct-2014
5+
common:
6+
* Added CBLAS interface for ?omatcopy and ?imatcopy.
7+
* Enable ?gemm3m functions.
8+
* Added benchmark for ?gemm3m.
9+
* Optimized multithreading lower limits.
10+
* Disabled SYMM3M and HEMM3M functions
11+
because of segment violations.
12+
13+
x86/x86-64:
14+
* Improved axpy and symv performance on AMD Bulldozer.
15+
* Improved gemv performance on modern Intel and AMD CPUs.
16+
17+
====================================================================
18+
Version 0.2.11
419
18-Aug-2014
520
common:
621
* Added some benchmark codes.

Makefile.rule

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#
44

55
# This library's version
6-
VERSION = 0.2.11
6+
VERSION = 0.2.12
77

88
# If you set the suffix, the library name will be libopenblas_$(LIBNAMESUFFIX).a
99
# and libopenblas_$(LIBNAMESUFFIX).so. Meanwhile, the soname in shared library

Makefile.system

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ FCOMMON_OPT += -m128bit-long-double
339339
endif
340340
ifeq ($(C_COMPILER), CLANG)
341341
EXPRECISION = 1
342-
CCOMMON_OPT += -DEXPRECISION
342+
CCOMMON_OPT += -DEXPRECISION
343343
FCOMMON_OPT += -m128bit-long-double
344344
endif
345345
endif
@@ -350,6 +350,7 @@ ifeq ($(C_COMPILER), INTEL)
350350
CCOMMON_OPT += -wd981
351351
endif
352352

353+
353354
ifeq ($(USE_OPENMP), 1)
354355
# ifeq logical or. GCC or LSB
355356
ifeq ($(C_COMPILER), $(filter $(C_COMPILER),GCC LSB))

README.md

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,16 +55,23 @@ Please read GotoBLAS_01Readme.txt
5555

5656
#### x86/x86-64:
5757
- **Intel Xeon 56xx (Westmere)**: Used GotoBLAS2 Nehalem codes.
58-
- **Intel Sandy Bridge**: Optimized Level-3 BLAS with AVX on x86-64.
59-
- **Intel Haswell**: Optimized Level-3 BLAS with AVX on x86-64 (identical to Sandy Bridge).
58+
- **Intel Sandy Bridge**: Optimized Level-3 and Level-2 BLAS with AVX on x86-64.
59+
- **Intel Haswell**: Optimized Level-3 and Level-2 BLAS with AVX2 and FMA on x86-64.
6060
- **AMD Bobcat**: Used GotoBLAS2 Barcelona codes.
61-
- **AMD Bulldozer**: x86-64 S/DGEMM AVX kernels. (Thank Werner Saar)
62-
- **AMD PILEDRIVER**: Used Bulldozer codes.
61+
- **AMD Bulldozer**: x86-64 ?GEMM FMA4 kernels. (Thank Werner Saar)
62+
- **AMD PILEDRIVER**: Uses Bulldozer codes with some optimizations.
6363

6464
#### MIPS64:
6565
- **ICT Loongson 3A**: Optimized Level-3 BLAS and the part of Level-1,2.
6666
- **ICT Loongson 3B**: Experimental
6767

68+
#### ARM:
69+
- **ARMV6**: Optimized BLAS for vfpv2 and vfpv3-d16 ( e.g. BCM2835, Cortex M0+ )
70+
- **ARMV7**: Optimized BLAS for vfpv3-d32 ( e.g. Cortex A8, A9 and A15 )
71+
72+
#### ARM64:
73+
- **ARMV8**: Experimental
74+
6875
### Support OS:
6976
- **GNU/Linux**
7077
- **MingWin/Windows**: Please read <https://github.com/xianyi/OpenBLAS/wiki/How-to-use-OpenBLAS-in-Microsoft-Visual-Studio>.
@@ -116,8 +123,8 @@ Please see Changelog.txt to obtain the differences between GotoBLAS2 1.13 BSD ve
116123
* Please read [Faq](https://github.com/xianyi/OpenBLAS/wiki/Faq) at first.
117124
* Please use gcc version 4.6 and above to compile Sandy Bridge AVX kernels on Linux/MingW/BSD.
118125
* Please use Clang version 3.1 and above to compile the library on Sandy Bridge microarchitecture. The Clang 3.0 will generate the wrong AVX binary code.
119-
* The number of CPUs/Cores should less than or equal to 256.
120-
* On Linux, OpenBLAS sets the processor affinity by default. This may cause [the conflict with R parallel](https://stat.ethz.ch/pipermail/r-sig-hpc/2012-April/001348.html). You can build the library with NO_AFFINITY=1.
126+
* The number of CPUs/Cores should less than or equal to 256. On Linux x86_64(amd64), there is experimental support for up to 1024 CPUs/Cores and 128 numa nodes if you build the library with BIGNUMA=1.
127+
* OpenBLAS does not set processor affinity by default. On Linux, you can enable processor affinity by commenting the line NO_AFFINITY=1 in Makefile.rule. But this may cause [the conflict with R parallel](https://stat.ethz.ch/pipermail/r-sig-hpc/2012-April/001348.html).
121128
* On Loongson 3A. make test would be failed because of pthread_create error. The error code is EAGAIN. However, it will be OK when you run the same testcase on shell.
122129

123130
## Contributing

TargetList.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ PENRYN
1919
DUNNINGTON
2020
NEHALEM
2121
SANDYBRIDGE
22+
HASWELL
2223
ATOM
2324

2425
b)AMD CPU:
@@ -30,6 +31,7 @@ SHANGHAI
3031
ISTANBUL
3132
BOBCAT
3233
BULLDOZER
34+
PILEDRIVER
3335

3436
c)VIA CPU:
3537
SSE_GENERIC
@@ -59,3 +61,7 @@ ITANIUM2
5961
SPARC
6062
SPARCV7
6163

64+
6.ARM CPU:
65+
ARMV7
66+
ARMV6
67+
ARMV5

benchmark/Makefile

Lines changed: 206 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,10 @@ goto :: slinpack.goto dlinpack.goto clinpack.goto zlinpack.goto \
3535
ssyrk.goto dsyrk.goto csyrk.goto zsyrk.goto \
3636
ssyr2k.goto dsyr2k.goto csyr2k.goto zsyr2k.goto \
3737
sger.goto dger.goto \
38-
ssymv.goto dsymv.goto \
38+
sdot.goto ddot.goto \
39+
saxpy.goto daxpy.goto caxpy.goto zaxpy.goto \
40+
ssymv.goto dsymv.goto csymv.goto zsymv.goto \
41+
chemv.goto zhemv.goto \
3942
chemm.goto zhemm.goto \
4043
cherk.goto zherk.goto \
4144
cher2k.goto zher2k.goto \
@@ -53,7 +56,10 @@ acml :: slinpack.acml dlinpack.acml clinpack.acml zlinpack.acml \
5356
ssyrk.acml dsyrk.acml csyrk.acml zsyrk.acml \
5457
ssyr2k.acml dsyr2k.acml csyr2k.acml zsyr2k.acml \
5558
sger.acml dger.acml \
56-
ssymv.acml dsymv.acml \
59+
sdot.acml ddot.acml \
60+
saxpy.acml daxpy.acml caxpy.acml zaxpy.acml \
61+
ssymv.acml dsymv.acml csymv.acml zsymv.acml \
62+
chemv.acml zhemv.acml \
5763
chemm.acml zhemm.acml \
5864
cherk.acml zherk.acml \
5965
cher2k.acml zher2k.acml \
@@ -71,7 +77,10 @@ atlas :: slinpack.atlas dlinpack.atlas clinpack.atlas zlinpack.atlas \
7177
ssyrk.atlas dsyrk.atlas csyrk.atlas zsyrk.atlas \
7278
ssyr2k.atlas dsyr2k.atlas csyr2k.atlas zsyr2k.atlas \
7379
sger.atlas dger.atlas \
74-
ssymv.atlas dsymv.atlas \
80+
sdot.atlas ddot.atlas \
81+
saxpy.atlas daxpy.atlas caxpy.atlas zaxpy.atlas \
82+
ssymv.atlas dsymv.atlas csymv.atlas zsymv.atlas \
83+
chemv.atlas zhemv.atlas \
7584
chemm.acml zhemm.acml \
7685
chemm.atlas zhemm.atlas \
7786
cherk.atlas zherk.atlas \
@@ -90,7 +99,10 @@ mkl :: slinpack.mkl dlinpack.mkl clinpack.mkl zlinpack.mkl \
9099
ssyrk.mkl dsyrk.mkl csyrk.mkl zsyrk.mkl \
91100
ssyr2k.mkl dsyr2k.mkl csyr2k.mkl zsyr2k.mkl \
92101
sger.mkl dger.mkl \
93-
ssymv.mkl dsymv.mkl \
102+
sdot.mkl ddot.mkl \
103+
saxpy.mkl daxpy.mkl caxpy.mkl zaxpy.mkl \
104+
ssymv.mkl dsymv.mkl csymv.mkl zsymv.mkl \
105+
chemv.mkl zhemv.mkl \
94106
chemm.mkl zhemm.mkl \
95107
cherk.mkl zherk.mkl \
96108
cher2k.mkl zher2k.mkl \
@@ -100,7 +112,12 @@ mkl :: slinpack.mkl dlinpack.mkl clinpack.mkl zlinpack.mkl \
100112
spotrf.mkl dpotrf.mkl cpotrf.mkl zpotrf.mkl \
101113
ssymm.mkl dsymm.mkl csymm.mkl zsymm.mkl
102114

103-
all :: goto atlas acml mkl
115+
116+
goto_3m :: cgemm3m.goto zgemm3m.goto
117+
118+
mkl_3m :: cgemm3m.mkl zgemm3m.mkl
119+
120+
all :: goto mkl atlas acml
104121

105122
##################################### Slinpack ####################################################
106123
slinpack.goto : slinpack.$(SUFFIX) ../$(LIBNAME)
@@ -732,6 +749,32 @@ dsymv.atlas : dsymv.$(SUFFIX)
732749
dsymv.mkl : dsymv.$(SUFFIX)
733750
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBMKL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
734751

752+
##################################### Csymv ####################################################
753+
csymv.goto : csymv.$(SUFFIX) ../$(LIBNAME)
754+
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) -lm
755+
756+
csymv.acml : csymv.$(SUFFIX)
757+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBACML) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
758+
759+
csymv.atlas : csymv.$(SUFFIX)
760+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBATLAS) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
761+
762+
csymv.mkl : csymv.$(SUFFIX)
763+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBMKL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
764+
765+
##################################### Dsymv ####################################################
766+
zsymv.goto : zsymv.$(SUFFIX) ../$(LIBNAME)
767+
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) -lm
768+
769+
zsymv.acml : zsymv.$(SUFFIX)
770+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBACML) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
771+
772+
zsymv.atlas : zsymv.$(SUFFIX)
773+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBATLAS) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
774+
775+
zsymv.mkl : zsymv.$(SUFFIX)
776+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBMKL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
777+
735778
##################################### Sgeev ####################################################
736779
sgeev.goto : sgeev.$(SUFFIX) ../$(LIBNAME)
737780
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) -lm
@@ -896,6 +939,131 @@ zpotrf.atlas : zpotrf.$(SUFFIX)
896939
zpotrf.mkl : zpotrf.$(SUFFIX)
897940
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBMKL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
898941

942+
##################################### Chemv ####################################################
943+
944+
chemv.goto : chemv.$(SUFFIX) ../$(LIBNAME)
945+
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) -lm
946+
947+
chemv.acml : chemv.$(SUFFIX)
948+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBACML) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
949+
950+
chemv.atlas : chemv.$(SUFFIX)
951+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBATLAS) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
952+
953+
chemv.mkl : chemv.$(SUFFIX)
954+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBMKL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
955+
956+
##################################### Zhemv ####################################################
957+
958+
zhemv.goto : zhemv.$(SUFFIX) ../$(LIBNAME)
959+
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) -lm
960+
961+
zhemv.acml : zhemv.$(SUFFIX)
962+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBACML) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
963+
964+
zhemv.atlas : zhemv.$(SUFFIX)
965+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBATLAS) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
966+
967+
zhemv.mkl : zhemv.$(SUFFIX)
968+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBMKL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
969+
970+
##################################### Sdot ####################################################
971+
sdot.goto : sdot.$(SUFFIX) ../$(LIBNAME)
972+
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) -lm
973+
974+
sdot.acml : sdot.$(SUFFIX)
975+
$(CC) $(CFLAGS) -o $(@F) $^ $(LIBACML) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
976+
977+
sdot.atlas : sdot.$(SUFFIX)
978+
$(CC) $(CFLAGS) -o $(@F) $^ $(LIBATLAS) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
979+
980+
sdot.mkl : sdot.$(SUFFIX)
981+
$(CC) $(CFLAGS) -o $(@F) $^ $(LIBMKL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
982+
983+
##################################### Ddot ####################################################
984+
ddot.goto : ddot.$(SUFFIX) ../$(LIBNAME)
985+
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) -lm
986+
987+
ddot.acml : ddot.$(SUFFIX)
988+
$(CC) $(CFLAGS) -o $(@F) $^ $(LIBACML) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
989+
990+
ddot.atlas : ddot.$(SUFFIX)
991+
$(CC) $(CFLAGS) -o $(@F) $^ $(LIBATLAS) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
992+
993+
ddot.mkl : ddot.$(SUFFIX)
994+
$(CC) $(CFLAGS) -o $(@F) $^ $(LIBMKL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
995+
996+
##################################### Saxpy ####################################################
997+
saxpy.goto : saxpy.$(SUFFIX) ../$(LIBNAME)
998+
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) -lm
999+
1000+
saxpy.acml : saxpy.$(SUFFIX)
1001+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBACML) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1002+
1003+
saxpy.atlas : saxpy.$(SUFFIX)
1004+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBATLAS) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1005+
1006+
saxpy.mkl : saxpy.$(SUFFIX)
1007+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBMKL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1008+
1009+
##################################### Daxpy ####################################################
1010+
daxpy.goto : daxpy.$(SUFFIX) ../$(LIBNAME)
1011+
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) -lm
1012+
1013+
daxpy.acml : daxpy.$(SUFFIX)
1014+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBACML) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1015+
1016+
daxpy.atlas : daxpy.$(SUFFIX)
1017+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBATLAS) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1018+
1019+
daxpy.mkl : daxpy.$(SUFFIX)
1020+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBMKL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1021+
1022+
##################################### Caxpy ####################################################
1023+
1024+
caxpy.goto : caxpy.$(SUFFIX) ../$(LIBNAME)
1025+
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) -lm
1026+
1027+
caxpy.acml : caxpy.$(SUFFIX)
1028+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBACML) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1029+
1030+
caxpy.atlas : caxpy.$(SUFFIX)
1031+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBATLAS) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1032+
1033+
caxpy.mkl : caxpy.$(SUFFIX)
1034+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBMKL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1035+
1036+
##################################### Zaxpy ####################################################
1037+
1038+
zaxpy.goto : zaxpy.$(SUFFIX) ../$(LIBNAME)
1039+
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) -lm
1040+
1041+
zaxpy.acml : zaxpy.$(SUFFIX)
1042+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBACML) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1043+
1044+
zaxpy.atlas : zaxpy.$(SUFFIX)
1045+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBATLAS) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1046+
1047+
zaxpy.mkl : zaxpy.$(SUFFIX)
1048+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBMKL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1049+
1050+
1051+
##################################### Cgemm3m ####################################################
1052+
1053+
cgemm3m.goto : cgemm3m.$(SUFFIX) ../$(LIBNAME)
1054+
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) -lm
1055+
1056+
cgemm3m.mkl : cgemm3m.$(SUFFIX)
1057+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBMKL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1058+
1059+
##################################### Zgemm3m ####################################################
1060+
1061+
zgemm3m.goto : zgemm3m.$(SUFFIX) ../$(LIBNAME)
1062+
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) -lm
1063+
1064+
zgemm3m.mkl : zgemm3m.$(SUFFIX)
1065+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBMKL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1066+
8991067

9001068
###################################################################################################
9011069

@@ -1037,6 +1205,12 @@ ssymv.$(SUFFIX) : symv.c
10371205
dsymv.$(SUFFIX) : symv.c
10381206
$(CC) $(CFLAGS) -c -UCOMPLEX -DDOUBLE -o $(@F) $^
10391207

1208+
csymv.$(SUFFIX) : symv.c
1209+
$(CC) $(CFLAGS) -c -DCOMPLEX -UDOUBLE -o $(@F) $^
1210+
1211+
zsymv.$(SUFFIX) : symv.c
1212+
$(CC) $(CFLAGS) -c -DCOMPLEX -DDOUBLE -o $(@F) $^
1213+
10401214
sgeev.$(SUFFIX) : geev.c
10411215
$(CC) $(CFLAGS) -c -UCOMPLEX -UDOUBLE -o $(@F) $^
10421216

@@ -1073,8 +1247,35 @@ cpotrf.$(SUFFIX) : potrf.c
10731247
zpotrf.$(SUFFIX) : potrf.c
10741248
$(CC) $(CFLAGS) -c -DCOMPLEX -DDOUBLE -o $(@F) $^
10751249

1250+
chemv.$(SUFFIX) : hemv.c
1251+
$(CC) $(CFLAGS) -c -DCOMPLEX -UDOUBLE -o $(@F) $^
1252+
1253+
zhemv.$(SUFFIX) : hemv.c
1254+
$(CC) $(CFLAGS) -c -DCOMPLEX -DDOUBLE -o $(@F) $^
1255+
1256+
sdot.$(SUFFIX) : dot.c
1257+
$(CC) $(CFLAGS) -c -UCOMPLEX -UDOUBLE -o $(@F) $^
1258+
1259+
ddot.$(SUFFIX) : dot.c
1260+
$(CC) $(CFLAGS) -c -UCOMPLEX -DDOUBLE -o $(@F) $^
1261+
1262+
saxpy.$(SUFFIX) : axpy.c
1263+
$(CC) $(CFLAGS) -c -UCOMPLEX -UDOUBLE -o $(@F) $^
1264+
1265+
daxpy.$(SUFFIX) : axpy.c
1266+
$(CC) $(CFLAGS) -c -UCOMPLEX -DDOUBLE -o $(@F) $^
1267+
1268+
caxpy.$(SUFFIX) : axpy.c
1269+
$(CC) $(CFLAGS) -c -DCOMPLEX -UDOUBLE -o $(@F) $^
10761270

1271+
zaxpy.$(SUFFIX) : axpy.c
1272+
$(CC) $(CFLAGS) -c -DCOMPLEX -DDOUBLE -o $(@F) $^
10771273

1274+
cgemm3m.$(SUFFIX) : gemm3m.c
1275+
$(CC) $(CFLAGS) -c -DCOMPLEX -UDOUBLE -o $(@F) $^
1276+
1277+
zgemm3m.$(SUFFIX) : gemm3m.c
1278+
$(CC) $(CFLAGS) -c -DCOMPLEX -DDOUBLE -o $(@F) $^
10781279

10791280

10801281
clean ::

0 commit comments

Comments
 (0)