Skip to content

Commit 12ab180

Browse files
committed
Merge branch 'develop'
2 parents a71e8c8 + 1e03a62 commit 12ab180

File tree

97 files changed

+50784
-4146
lines changed

Some content is hidden

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

97 files changed

+50784
-4146
lines changed

CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 2.8.4)
66
project(OpenBLAS)
77
set(OpenBLAS_MAJOR_VERSION 0)
88
set(OpenBLAS_MINOR_VERSION 2)
9-
set(OpenBLAS_PATCH_VERSION 17)
9+
set(OpenBLAS_PATCH_VERSION 18)
1010
set(OpenBLAS_VERSION "${OpenBLAS_MAJOR_VERSION}.${OpenBLAS_MINOR_VERSION}.${OpenBLAS_PATCH_VERSION}")
1111

1212
enable_language(ASM)

CONTRIBUTORS.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -147,5 +147,6 @@ In chronological order:
147147
* [2016-03-14] Additional functional Assembly Kernels for Cortex-A57
148148
* [2016-03-14] Optimize Dgemm 4x4 for Cortex-A57
149149

150-
* [Your name or handle] <[email or website]>
151-
* [Date] [Brief summary of your changes]
150+
* theoractice <https://github.com/theoractice/>
151+
* [2016-03-20] Fix compiler error in VisualStudio with CMake
152+
* [2016-03-22] Fix access violation on Windows while static linking

Changelog.txt

+18
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,22 @@
11
OpenBLAS ChangeLog
2+
====================================================================
3+
Version 0.2.18
4+
12-Apr-2016
5+
common:
6+
* If you set MAKE_NB_JOBS flag less or equal than zero,
7+
make will be without -j.
8+
9+
x86/x86_64:
10+
* Support building Visual Studio static library. (#813, Thanks, theoractice)
11+
* Fix bugs to pass buidbot CI tests (http://build.openblas.net)
12+
13+
ARM:
14+
* Provide DGEMM 8x4 kernel for Cortex-A57 (Thanks, Ashwin Sekhar T K)
15+
16+
POWER:
17+
* Optimize S and C BLAS3 on Power8
18+
* Optimize BLAS2/1 on Power8
19+
220
====================================================================
321
Version 0.2.17
422
20-Mar-2016

Makefile.rule

+5-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#
44

55
# This library's version
6-
VERSION = 0.2.17
6+
VERSION = 0.2.18
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
@@ -112,7 +112,10 @@ NO_AFFINITY = 1
112112
# NO_PARALLEL_MAKE = 1
113113

114114
# Force number of make jobs. The default is the number of logical CPU of the host.
115-
# This is particularly useful when using distcc
115+
# This is particularly useful when using distcc.
116+
# A negative value will disable adding a -j flag to make, allowing to use a parent
117+
# make -j value. This is useful to call OpenBLAS make from an other project
118+
# makefile
116119
# MAKE_NB_JOBS = 2
117120

118121
# If you would like to know minute performance report of GotoBLAS.

appveyor.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version: 0.2.15.{build}
1+
version: 0.2.18.{build}
22

33
#environment:
44

benchmark/Makefile

+86-2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ LIBMKL = -L$(MKL) -lmkl_intel_lp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread
3333
# Apple vecLib
3434
LIBVECLIB = -framework Accelerate
3535

36+
ESSL=/opt/ibm/lib
37+
#LIBESSL = -lesslsmp $(ESSL)/libxlomp_ser.so.1 $(ESSL)/libxlf90_r.so.1 $(ESSL)/libxlfmath.so.1 $(ESSL)/libxlsmp.so.1 /opt/ibm/xlC/13.1.3/lib/libxl.a
38+
LIBESSL = -lesslsmp $(ESSL)/libxlf90_r.so.1 $(ESSL)/libxlfmath.so.1 $(ESSL)/libxlsmp.so.1 /opt/ibm/xlC/13.1.3/lib/libxl.a
39+
3640
ifeq ($(OSNAME), WINNT)
3741

3842
goto :: slinpack.goto dlinpack.goto clinpack.goto zlinpack.goto \
@@ -44,6 +48,7 @@ goto :: slinpack.goto dlinpack.goto clinpack.goto zlinpack.goto \
4448
ssyr2k.goto dsyr2k.goto csyr2k.goto zsyr2k.goto \
4549
sger.goto dger.goto cger.goto zger.goto \
4650
sdot.goto ddot.goto \
51+
srot.goto drot.goto \
4752
saxpy.goto daxpy.goto caxpy.goto zaxpy.goto \
4853
scopy.goto dcopy.goto ccopy.goto zcopy.goto \
4954
sswap.goto dswap.goto cswap.goto zswap.goto \
@@ -151,6 +156,7 @@ goto :: slinpack.goto dlinpack.goto clinpack.goto zlinpack.goto \
151156
ssyr2k.goto dsyr2k.goto csyr2k.goto zsyr2k.goto \
152157
sger.goto dger.goto cger.goto zger.goto \
153158
sdot.goto ddot.goto cdot.goto zdot.goto \
159+
srot.goto drot.goto \
154160
saxpy.goto daxpy.goto caxpy.goto zaxpy.goto \
155161
scopy.goto dcopy.goto ccopy.goto zcopy.goto \
156162
sswap.goto dswap.goto cswap.goto zswap.goto \
@@ -253,7 +259,9 @@ mkl :: slinpack.mkl dlinpack.mkl clinpack.mkl zlinpack.mkl \
253259

254260
endif
255261

256-
262+
essl :: sgemm.essl strmm.essl dgemm.essl dtrmm.essl \
263+
cgemm.essl ctrmm.essl zgemm.essl ztrmm.essl \
264+
slinpack.essl clinpack.essl dlinpack.essl zlinpack.essl
257265

258266
veclib :: slinpack.veclib dlinpack.veclib clinpack.veclib zlinpack.veclib \
259267
scholesky.veclib dcholesky.veclib ccholesky.veclib zcholesky.veclib \
@@ -306,6 +314,9 @@ slinpack.mkl : slinpack.$(SUFFIX)
306314
slinpack.veclib : slinpack.$(SUFFIX)
307315
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBVECLIB) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
308316

317+
slinpack.essl : slinpack.$(SUFFIX)
318+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBESSL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
319+
309320
##################################### Dlinpack ####################################################
310321
dlinpack.goto : dlinpack.$(SUFFIX) ../$(LIBNAME)
311322
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB) -lm
@@ -322,6 +333,9 @@ dlinpack.mkl : dlinpack.$(SUFFIX)
322333
dlinpack.veclib : dlinpack.$(SUFFIX)
323334
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBVECLIB) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
324335

336+
dlinpack.essl : dlinpack.$(SUFFIX)
337+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBESSL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
338+
325339
##################################### Clinpack ####################################################
326340

327341
clinpack.goto : clinpack.$(SUFFIX) ../$(LIBNAME)
@@ -339,6 +353,9 @@ clinpack.mkl : clinpack.$(SUFFIX)
339353
clinpack.veclib : clinpack.$(SUFFIX)
340354
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBVECLIB) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
341355

356+
clinpack.essl : clinpack.$(SUFFIX)
357+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBESSL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
358+
342359
##################################### Zlinpack ####################################################
343360

344361
zlinpack.goto : zlinpack.$(SUFFIX) ../$(LIBNAME)
@@ -356,6 +373,9 @@ zlinpack.mkl : zlinpack.$(SUFFIX)
356373
zlinpack.veclib : zlinpack.$(SUFFIX)
357374
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBVECLIB) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
358375

376+
zlinpack.essl : zlinpack.$(SUFFIX)
377+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBESSL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
378+
359379
##################################### Scholesky ###################################################
360380

361381
scholesky.goto : scholesky.$(SUFFIX) ../$(LIBNAME)
@@ -441,6 +461,9 @@ sgemm.mkl : sgemm.$(SUFFIX)
441461
sgemm.veclib : sgemm.$(SUFFIX)
442462
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBVECLIB) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
443463

464+
sgemm.essl : sgemm.$(SUFFIX)
465+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBESSL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
466+
444467
##################################### Dgemm ####################################################
445468
dgemm.goto : dgemm.$(SUFFIX) ../$(LIBNAME)
446469
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB) -lm
@@ -457,6 +480,9 @@ dgemm.mkl : dgemm.$(SUFFIX)
457480
dgemm.veclib : dgemm.$(SUFFIX)
458481
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBVECLIB) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
459482

483+
dgemm.essl : dgemm.$(SUFFIX)
484+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBESSL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
485+
460486
##################################### Cgemm ####################################################
461487

462488
cgemm.goto : cgemm.$(SUFFIX) ../$(LIBNAME)
@@ -474,6 +500,9 @@ cgemm.mkl : cgemm.$(SUFFIX)
474500
cgemm.veclib : cgemm.$(SUFFIX)
475501
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBVECLIB) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
476502

503+
cgemm.essl : cgemm.$(SUFFIX)
504+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBESSL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
505+
477506
##################################### Zgemm ####################################################
478507

479508
zgemm.goto : zgemm.$(SUFFIX) ../$(LIBNAME)
@@ -491,6 +520,9 @@ zgemm.mkl : zgemm.$(SUFFIX)
491520
zgemm.veclib : zgemm.$(SUFFIX)
492521
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBVECLIB) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
493522

523+
zgemm.essl : zgemm.$(SUFFIX)
524+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBESSL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
525+
494526
##################################### Ssymm ####################################################
495527
ssymm.goto : ssymm.$(SUFFIX) ../$(LIBNAME)
496528
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB) -lm
@@ -573,6 +605,9 @@ strmm.mkl : strmm.$(SUFFIX)
573605
strmm.veclib : strmm.$(SUFFIX)
574606
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBVECLIB) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
575607

608+
strmm.essl : strmm.$(SUFFIX)
609+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBESSL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
610+
576611
##################################### Dtrmm ####################################################
577612
dtrmm.goto : dtrmm.$(SUFFIX) ../$(LIBNAME)
578613
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB) -lm
@@ -589,6 +624,9 @@ dtrmm.mkl : dtrmm.$(SUFFIX)
589624
dtrmm.veclib : dtrmm.$(SUFFIX)
590625
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBVECLIB) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
591626

627+
dtrmm.essl : dtrmm.$(SUFFIX)
628+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBESSL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
629+
592630
##################################### Ctrmm ####################################################
593631

594632
ctrmm.goto : ctrmm.$(SUFFIX) ../$(LIBNAME)
@@ -606,6 +644,9 @@ ctrmm.mkl : ctrmm.$(SUFFIX)
606644
ctrmm.veclib : ctrmm.$(SUFFIX)
607645
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBVECLIB) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
608646

647+
ctrmm.essl : ctrmm.$(SUFFIX)
648+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBESSL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
649+
609650
##################################### Ztrmm ####################################################
610651

611652
ztrmm.goto : ztrmm.$(SUFFIX) ../$(LIBNAME)
@@ -623,6 +664,9 @@ ztrmm.mkl : ztrmm.$(SUFFIX)
623664
ztrmm.veclib : ztrmm.$(SUFFIX)
624665
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBVECLIB) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
625666

667+
ztrmm.essl : ztrmm.$(SUFFIX)
668+
-$(CC) $(CFLAGS) -o $(@F) $^ $(LIBESSL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
669+
626670
##################################### Strsm ####################################################
627671
strsm.goto : strsm.$(SUFFIX) ../$(LIBNAME)
628672
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB) -lm
@@ -1413,6 +1457,39 @@ zdot.mkl : zdot-intel.$(SUFFIX)
14131457
zdot.veclib : zdot-intel.$(SUFFIX)
14141458
$(CC) $(CFLAGS) -o $(@F) $^ $(LIBVECLIB) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
14151459

1460+
##################################### Srot ####################################################
1461+
srot.goto : srot.$(SUFFIX) ../$(LIBNAME)
1462+
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB) -lm
1463+
1464+
srot.acml : srot.$(SUFFIX)
1465+
$(CC) $(CFLAGS) -o $(@F) $^ $(LIBACML) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1466+
1467+
srot.atlas : srot.$(SUFFIX)
1468+
$(CC) $(CFLAGS) -o $(@F) $^ $(LIBATLAS) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1469+
1470+
srot.mkl : srot.$(SUFFIX)
1471+
$(CC) $(CFLAGS) -o $(@F) $^ $(LIBMKL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1472+
1473+
srot.veclib : srot.$(SUFFIX)
1474+
$(CC) $(CFLAGS) -o $(@F) $^ $(LIBVECLIB) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1475+
1476+
##################################### Drot ####################################################
1477+
drot.goto : drot.$(SUFFIX) ../$(LIBNAME)
1478+
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB) -lm
1479+
1480+
drot.acml : drot.$(SUFFIX)
1481+
$(CC) $(CFLAGS) -o $(@F) $^ $(LIBACML) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1482+
1483+
drot.atlas : drot.$(SUFFIX)
1484+
$(CC) $(CFLAGS) -o $(@F) $^ $(LIBATLAS) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1485+
1486+
drot.mkl : drot.$(SUFFIX)
1487+
$(CC) $(CFLAGS) -o $(@F) $^ $(LIBMKL) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1488+
1489+
drot.veclib : drot.$(SUFFIX)
1490+
$(CC) $(CFLAGS) -o $(@F) $^ $(LIBVECLIB) $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB)
1491+
1492+
14161493
##################################### Saxpy ####################################################
14171494
saxpy.goto : saxpy.$(SUFFIX) ../$(LIBNAME)
14181495
$(CC) $(CFLAGS) -o $(@F) $^ $(CEXTRALIB) $(EXTRALIB) $(FEXTRALIB) -lm
@@ -2124,6 +2201,13 @@ cgesv.$(SUFFIX) : gesv.c
21242201
zgesv.$(SUFFIX) : gesv.c
21252202
$(CC) $(CFLAGS) -c -DCOMPLEX -DDOUBLE -o $(@F) $^
21262203

2204+
srot.$(SUFFIX) : rot.c
2205+
$(CC) $(CFLAGS) -c -UCOMPLEX -UDOUBLE -o $(@F) $^
2206+
2207+
drot.$(SUFFIX) : rot.c
2208+
$(CC) $(CFLAGS) -c -UCOMPLEX -DDOUBLE -o $(@F) $^
2209+
2210+
21272211

21282212

21292213

@@ -2137,7 +2221,7 @@ smallscaling: smallscaling.c ../$(LIBNAME)
21372221
$(CC) $(CFLAGS) -o $(@F) $^ $(EXTRALIB) -fopenmp -lm
21382222

21392223
clean ::
2140-
@rm -f *.goto *.mkl *.acml *.atlas *.veclib
2224+
@rm -f *.goto *.mkl *.acml *.atlas *.veclib *.essl
21412225

21422226
include $(TOPDIR)/Makefile.tail
21432227

0 commit comments

Comments
 (0)