Skip to content

Commit d2b11c4

Browse files
authored
Merge pull request #3033 from xianyi/develop
Update branch from develop to release 0.3.13
2 parents c5f280a + 7bc0e4a commit d2b11c4

File tree

293 files changed

+34689
-5193
lines changed

Some content is hidden

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

293 files changed

+34689
-5193
lines changed

.travis.yml

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -211,44 +211,48 @@ matrix:
211211

212212
- &test-macos
213213
os: osx
214-
osx_image: xcode10.1
214+
osx_image: xcode11.5
215215
before_script:
216216
- COMMON_FLAGS="DYNAMIC_ARCH=1 NUM_THREADS=32"
217-
- brew update
218-
- brew install gcc@8 # for gfortran
219217
script:
220218
- travis_wait 45 make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE
221219
env:
222-
- BTYPE="TARGET=NEHALEM BINARY=64 INTERFACE64=1 FC=gfortran-8"
220+
- BTYPE="TARGET=NEHALEM BINARY=64 INTERFACE64=1 FC=gfortran-9"
223221

224222
- <<: *test-macos
225223
osx_image: xcode12
226224
before_script:
227225
- COMMON_FLAGS="DYNAMIC_ARCH=1 NUM_THREADS=32"
228226
- brew update
229-
- brew install gcc@10 # for gfortran
227+
- brew install gcc@10
230228
script:
231229
- travis_wait 45 make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE
232230
env:
233231
- BTYPE="TARGET=NEHALEM BINARY=64 INTERFACE64=1 FC=gfortran-10"
234232

235-
- <<: *test-macos
236-
osx_image: xcode10.0
237-
env:
238-
- BTYPE="TARGET=NEHALEM BINARY=32 NOFORTRAN=1"
233+
# - <<: *test-macos
234+
# osx_image: xcode10
235+
# env:
236+
# - BTYPE="TARGET=NEHALEM BINARY=32 NOFORTRAN=1"
239237

240238
- <<: *test-macos
241-
osx_image: xcode10.1
239+
osx_image: xcode11.5
240+
before_script:
241+
- COMMON_FLAGS="DYNAMIC_ARCH=1 NUM_THREADS=32"
242+
- brew update
242243
env:
243-
- CC="/Applications/Xcode-10.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang"
244-
- CFLAGS="-O2 -Wno-macro-redefined -isysroot /Applications/Xcode-10.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk -arch arm64 -miphoneos-version-min=10.0"
244+
# - CC="/Applications/Xcode-10.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang"
245+
# - CFLAGS="-O2 -Wno-macro-redefined -isysroot /Applications/Xcode-10.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk -arch arm64 -miphoneos-version-min=10.0"
246+
- CC="/Applications/Xcode-11.5.GM.Seed.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang"
247+
- CFLAGS="-O2 -Wno-macro-redefined -isysroot /Applications/Xcode-11.5.GM.Seed.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk -arch arm64 -miphoneos-version-min=10.0"
245248
- BTYPE="TARGET=ARMV8 BINARY=64 HOSTCC=clang NOFORTRAN=1"
246-
247249
- <<: *test-macos
248-
osx_image: xcode10.1
250+
osx_image: xcode11.5
249251
env:
250-
- CC="/Applications/Xcode-10.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang"
251-
- CFLAGS="-O2 -mno-thumb -Wno-macro-redefined -isysroot /Applications/Xcode-10.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk -arch armv7 -miphoneos-version-min=5.1"
252+
# - CC="/Applications/Xcode-10.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang"
253+
# - CFLAGS="-O2 -mno-thumb -Wno-macro-redefined -isysroot /Applications/Xcode-10.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk -arch armv7 -miphoneos-version-min=5.1"
254+
- CC="/Applications/Xcode-11.5.GM.Seed.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang"
255+
- CFLAGS="-O2 -mno-thumb -Wno-macro-redefined -isysroot /Applications/Xcode-11.5.GM.Seed.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk -arch armv7 -miphoneos-version-min=5.1"
252256
- BTYPE="TARGET=ARMV7 HOSTCC=clang NOFORTRAN=1"
253257

254258
- &test-graviton2

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 2.8.5)
66
project(OpenBLAS C ASM)
77
set(OpenBLAS_MAJOR_VERSION 0)
88
set(OpenBLAS_MINOR_VERSION 3)
9-
set(OpenBLAS_PATCH_VERSION 12)
9+
set(OpenBLAS_PATCH_VERSION 13)
1010
set(OpenBLAS_VERSION "${OpenBLAS_MAJOR_VERSION}.${OpenBLAS_MINOR_VERSION}.${OpenBLAS_PATCH_VERSION}")
1111

1212
# Adhere to GNU filesystem layout conventions

CONTRIBUTORS.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,4 +190,7 @@ In chronological order:
190190
* [2020-09-07] Fix builds with clang on IBM z, including dynamic architecture support
191191

192192
* Danfeng Zhang <https://github.com/craft-zhang>
193-
* [2020-05-20] Improve performance of SGEMM and STRMM on Arm Cortex-A53
193+
* [2020-05-20] Improve performance of SGEMM and STRMM on Arm Cortex-A53
194+
195+
* PingTouGe Semiconductor Co., Ltd.
196+
* [2020-10] Add RISC-V Vector (0.7.1) support. Optimize BLAS kernels for Xuantie C910

Changelog.txt

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,54 @@
11
OpenBLAS ChangeLog
2+
====================================================================
3+
Version 0.3.13
4+
12-Dec-2020
5+
6+
common:
7+
* Added a generic bfloat16 SBGEMV kernel
8+
* Fixed a potentially severe memory leak after fork in OpenMP builds
9+
that was introduced in 0.3.12
10+
* Added detection of the Fujitsu Fortran compiler
11+
* Added detection of the (e)gfortran compiler on OpenBSD
12+
* Added support for overriding the default name of the library independently
13+
from symbol suffixing in the gmake builds (already supported in cmake)
14+
15+
RISCV:
16+
* Added a RISC V port optimized for C910V
17+
18+
POWER:
19+
* Added optimized POWER10 kernels for SAXPY, CAXPY, SDOT, DDOT and DGEMV_N
20+
* Improved DGEMM performance on POWER10
21+
* Improved STRSM and DTRSM performance on POWER9 and POWER10
22+
* Fixed segmemtation faults in DYNAMIC_ARCH builds
23+
* Fixed compilation with the PGI compiler
24+
25+
x86:
26+
* Fixed compilation of kernels that require SSE2 intrinsics since 0.3.12
27+
28+
x86_64:
29+
* Added an optimized bfloat16 SBGEMV kernel for SkylakeX and Cooperlake
30+
* Improved the performance of SASUM and DASUM kernels through parallelization
31+
* Improved the performance of SROT and DROT kernels
32+
* Improved the performance of multithreaded xSYRK
33+
* Fixed OpenMP builds that use the LLVM Clang compiler together with GNU gfortran
34+
(where linking of both the LLVM libomp and GNU libgomp could lead to lockups or
35+
wrong results)
36+
* Fixed miscompilations by old gcc 4.6
37+
* Fixed misdetection of AVX2 capability in some Sandybridge cpus
38+
* Fixed lockups in builds combining DYNAMIC_ARCH with TARGET=GENERIC on OpenBSD
39+
40+
ARM64:
41+
* Fixed segmemtation faults in DYNAMIC_ARCH builds
42+
43+
MIPS:
44+
* Improved kernels for Loongson 3R3 ("3A") and 3R4 ("3B") models, including MSA
45+
* Fixed bugs in the MSA kernels for CGEMM, CTRMM, CGEMV and ZGEMV
46+
* Added handling of zero increments in the MSA kernels for SSWAP and DSWAP
47+
* Added DYNAMIC_ARCH support for MIPS64 (currently Loongson3R3/3R4 only)
48+
49+
SPARC:
50+
* Fixed building 32 and 64 bit SPARC kernels with the SolarisStudio compilers
51+
252
====================================================================
353
Version 0.3.12
454
24-Oct-2020

Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,11 @@ ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN)))
268268
-@echo "POPTS = $(LAPACK_FPFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
269269
-@echo "FFLAGS_NOOPT = -O0 $(LAPACK_NOOPT)" >> $(NETLIB_LAPACK_DIR)/make.inc
270270
-@echo "PNOOPT = $(LAPACK_FPFLAGS) -O0" >> $(NETLIB_LAPACK_DIR)/make.inc
271+
ifeq ($(C_COMPILER)$(F_COMPILER)$(USE_OPENMP), CLANGGFORTRAN1)
272+
-@echo "LDFLAGS = $(FFLAGS) $(EXTRALIB) -lomp" >> $(NETLIB_LAPACK_DIR)/make.inc
273+
else
271274
-@echo "LDFLAGS = $(FFLAGS) $(EXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc
275+
endif
272276
-@echo "CC = $(CC)" >> $(NETLIB_LAPACK_DIR)/make.inc
273277
-@echo "override CFLAGS = $(LAPACK_CFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
274278
-@echo "AR = $(AR)" >> $(NETLIB_LAPACK_DIR)/make.inc

Makefile.arm

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,8 @@ ifeq ($(CORE), ARMV6)
1212
CCOMMON_OPT += -mfpu=vfp
1313
FCOMMON_OPT += -mfpu=vfp
1414
endif
15+
16+
ifdef HAVE_NEON
17+
CCOMMON_OPT += -mfpu=neon
18+
FCOMMON_OPT += -mfpu=neon
19+
endif

Makefile.install

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ OPENBLAS_INCLUDE_DIR := $(PREFIX)/include
99
OPENBLAS_LIBRARY_DIR := $(PREFIX)/lib
1010
OPENBLAS_BINARY_DIR := $(PREFIX)/bin
1111
OPENBLAS_BUILD_DIR := $(CURDIR)
12-
OPENBLAS_CMAKE_DIR := $(OPENBLAS_LIBRARY_DIR)/cmake/openblas
12+
OPENBLAS_CMAKE_DIR := $(OPENBLAS_LIBRARY_DIR)/cmake/$(LIBSONAMEBASE)
1313
OPENBLAS_CMAKE_CONFIG := OpenBLASConfig.cmake
1414
OPENBLAS_CMAKE_CONFIG_VERSION := OpenBLASConfigVersion.cmake
1515
OPENBLAS_PKGCONFIG_DIR := $(OPENBLAS_LIBRARY_DIR)/pkgconfig
@@ -150,13 +150,13 @@ endif
150150
endif
151151

152152
#Generating openblas.pc
153-
@echo Generating openblas.pc in "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)"
154-
@echo 'libdir='$(OPENBLAS_LIBRARY_DIR) > "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/openblas.pc"
155-
@echo 'includedir='$(OPENBLAS_INCLUDE_DIR) >> "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/openblas.pc"
156-
@echo 'openblas_config= USE_64BITINT='$(USE_64BITINT) 'DYNAMIC_ARCH='$(DYNAMIC_ARCH) 'DYNAMIC_OLDER='$(DYNAMIC_OLDER) 'NO_CBLAS='$(NO_CBLAS) 'NO_LAPACK='$(NO_LAPACK) 'NO_LAPACKE='$(NO_LAPACKE) 'NO_AFFINITY='$(NO_AFFINITY) 'USE_OPENMP='$(USE_OPENMP) $(CORE) 'MAX_THREADS='$(NUM_THREADS)>> "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/openblas.pc"
157-
@echo 'version='$(VERSION) >> "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/openblas.pc"
158-
@echo 'extralib='$(PKG_EXTRALIB) >> "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/openblas.pc"
159-
@cat openblas.pc.in >> "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/openblas.pc"
153+
@echo Generating $(LIBSONAMEBASE).pc in "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)"
154+
@echo 'libdir='$(OPENBLAS_LIBRARY_DIR) > "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/$(LIBSONAMEBASE).pc"
155+
@echo 'includedir='$(OPENBLAS_INCLUDE_DIR) >> "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/$(LIBSONAMEBASE).pc"
156+
@echo 'openblas_config= USE_64BITINT='$(USE_64BITINT) 'DYNAMIC_ARCH='$(DYNAMIC_ARCH) 'DYNAMIC_OLDER='$(DYNAMIC_OLDER) 'NO_CBLAS='$(NO_CBLAS) 'NO_LAPACK='$(NO_LAPACK) 'NO_LAPACKE='$(NO_LAPACKE) 'NO_AFFINITY='$(NO_AFFINITY) 'USE_OPENMP='$(USE_OPENMP) $(CORE) 'MAX_THREADS='$(NUM_THREADS)>> "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/$(LIBSONAMEBASE).pc"
157+
@echo 'version='$(VERSION) >> "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/$(LIBSONAMEBASE).pc"
158+
@echo 'extralib='$(PKG_EXTRALIB) >> "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/$(LIBSONAMEBASE).pc"
159+
@cat openblas.pc.in >> "$(DESTDIR)$(OPENBLAS_PKGCONFIG_DIR)/$(LIBSONAMEBASE).pc"
160160

161161

162162
#Generating OpenBLASConfig.cmake

Makefile.prebuild

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ ifeq ($(TARGET), I6500)
4141
TARGET_FLAGS = -mips64r6
4242
endif
4343

44+
ifeq ($(TARGET), C910V)
45+
TARGET_FLAGS = -march=rv64gcvxthead -mabi=lp64v
46+
endif
47+
4448
all: getarch_2nd
4549
./getarch_2nd 0 >> $(TARGET_MAKE)
4650
./getarch_2nd 1 >> $(TARGET_CONF)

Makefile.riscv64

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
ifeq ($(CORE), C910V)
2+
CCOMMON_OPT += -march=rv64gcvxthead -mabi=lp64v
3+
FCOMMON_OPT += -march=rv64gcvxthead -mabi=lp64v -static
4+
endif

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.3.12
6+
VERSION = 0.3.13
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

0 commit comments

Comments
 (0)