Skip to content

Commit d7ba767

Browse files
committed
Merge branch 'develop' into risc-v
2 parents 265ab48 + 9789375 commit d7ba767

File tree

581 files changed

+47845
-7140
lines changed

Some content is hidden

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

581 files changed

+47845
-7140
lines changed

.drone.yml

+51-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ platform:
88

99
steps:
1010
- name: Build and Test
11-
image: ubuntu:19.04
11+
image: ubuntu:18.04
1212
environment:
1313
CC: gcc
1414
COMMON_FLAGS: 'DYNAMIC_ARCH=1 TARGET=ARMV8 NUM_THREADS=32'
@@ -32,7 +32,7 @@ platform:
3232

3333
steps:
3434
- name: Build and Test
35-
image: ubuntu:19.04
35+
image: ubuntu:18.04
3636
environment:
3737
CC: gcc
3838
COMMON_FLAGS: 'DYNAMIC_ARCH=1 TARGET=ARMV6 NUM_THREADS=32'
@@ -141,3 +141,52 @@ steps:
141141
- cmake $CMAKE_FLAGS ..
142142
- make -j
143143
- ctest -V
144+
145+
---
146+
kind: pipeline
147+
name: arm64_native_test
148+
149+
platform:
150+
os: linux
151+
arch: arm64
152+
153+
steps:
154+
- name: Build and Test
155+
image: ubuntu:18.04
156+
environment:
157+
CC: gcc
158+
COMMON_FLAGS: 'USE_OPENMP=1'
159+
commands:
160+
- echo "MAKE_FLAGS:= $COMMON_FLAGS"
161+
- apt-get update -y
162+
- apt-get install -y make $CC gfortran perl python g++
163+
- $CC --version
164+
- make QUIET_MAKE=1 $COMMON_FLAGS
165+
- make -C test $COMMON_FLAGS
166+
- make -C ctest $COMMON_FLAGS
167+
- make -C utest $COMMON_FLAGS
168+
- make -C cpp_thread_test dgemm_tester
169+
---
170+
kind: pipeline
171+
name: epyc_native_test
172+
173+
platform:
174+
os: linux
175+
arch: amd64
176+
177+
steps:
178+
- name: Build and Test
179+
image: ubuntu:18.04
180+
environment:
181+
CC: gcc
182+
COMMON_FLAGS: 'USE_OPENMP=1'
183+
commands:
184+
- echo "MAKE_FLAGS:= $COMMON_FLAGS"
185+
- apt-get update -y
186+
- apt-get install -y make $CC gfortran perl python g++
187+
- $CC --version
188+
- make QUIET_MAKE=1 $COMMON_FLAGS
189+
- make -C test $COMMON_FLAGS
190+
- make -C ctest $COMMON_FLAGS
191+
- make -C utest $COMMON_FLAGS
192+
- make -C cpp_thread_test dgemm_tester

.github/workflows/dynamic_arch.yml

+103
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
name: continuous build
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
build:
7+
runs-on: ${{ matrix.os }}
8+
strategy:
9+
fail-fast: false
10+
matrix:
11+
os: [ubuntu-latest, macos-latest]
12+
fortran: [gfortran, flang]
13+
build: [cmake, make]
14+
steps:
15+
- name: Checkout repository
16+
uses: actions/checkout@v2
17+
18+
- name: Compilation cache
19+
uses: actions/cache@v2
20+
with:
21+
path: ~/.ccache
22+
# We include the commit sha in the cache key, as new cache entries are
23+
# only created if there is no existing entry for the key yet.
24+
key: ${{ runner.os }}-ccache-${{ github.sha }}
25+
# Restore any ccache cache entry, if none for
26+
# ${{ runner.os }}-ccache-${{ github.sha }} exists
27+
restore-keys: |
28+
${{ runner.os }}-ccache-
29+
30+
- name: Print system information
31+
run: |
32+
if [ "$RUNNER_OS" == "Linux" ]; then
33+
cat /proc/cpuinfo
34+
elif [ "$RUNNER_OS" == "macOS" ]; then
35+
sysctl -a | grep machdep.cpu
36+
else
37+
echo "$RUNNER_OS not supported"
38+
exit 1
39+
fi
40+
41+
- name: Install Dependencies
42+
run: |
43+
if [ "$RUNNER_OS" == "Linux" ]; then
44+
sudo apt-get install -y gfortran cmake ccache
45+
elif [ "$RUNNER_OS" == "macOS" ]; then
46+
brew install coreutils cmake ccache
47+
else
48+
echo "$RUNNER_OS not supported"
49+
exit 1
50+
fi
51+
ccache -M 300M # Limit the ccache size; Github's overall cache limit is 5GB
52+
53+
- name: gfortran build
54+
if: matrix.build == 'make' && matrix.fortran == 'gfortran'
55+
run: |
56+
if [ "$RUNNER_OS" == "Linux" ]; then
57+
export PATH="/usr/lib/ccache:${PATH}"
58+
elif [ "$RUNNER_OS" == "macOS" ]; then
59+
export PATH="$(brew --prefix)/opt/ccache/libexec:${PATH}"
60+
else
61+
echo "$RUNNER_OS not supported"
62+
exit 1
63+
fi
64+
65+
make -j$(nproc) DYNAMIC_ARCH=1 USE_OPENMP=0
66+
67+
- name: flang build
68+
if: matrix.build == 'make' && matrix.fortran == 'flang'
69+
run: |
70+
if [ "$RUNNER_OS" == "Linux" ]; then
71+
export PATH="/usr/lib/ccache:${PATH}"
72+
elif [ "$RUNNER_OS" == "macOS" ]; then
73+
exit 0
74+
else
75+
echo "$RUNNER_OS not supported"
76+
exit 1
77+
fi
78+
79+
cd /usr/
80+
sudo wget -nv https://github.com/flang-compiler/flang/releases/download/flang_20190329/flang-20190329-x86-70.tgz
81+
sudo tar xf flang-20190329-x86-70.tgz
82+
sudo rm flang-20190329-x86-70.tgz
83+
cd -
84+
85+
make -j$(nproc) DYNAMIC_ARCH=1 USE_OPENMP=0 FC=flang
86+
87+
88+
- name: CMake gfortran build
89+
if: matrix.build == 'cmake' && matrix.fortran == 'gfortran'
90+
run: |
91+
if [ "$RUNNER_OS" == "Linux" ]; then
92+
export PATH="/usr/lib/ccache:${PATH}"
93+
elif [ "$RUNNER_OS" == "macOS" ]; then
94+
export PATH="$(brew --prefix)/opt/ccache/libexec:${PATH}"
95+
else
96+
echo "$RUNNER_OS not supported"
97+
exit 1
98+
fi
99+
100+
mkdir build
101+
cd build
102+
cmake -DDYNAMIC_ARCH=1 -DNOFORTRAN=0 -DBUILD_WITHOUT_LAPACK=0 -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=Release ..
103+
make -j$(nproc)

.github/workflows/nightly-Homebrew-build.yml

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ jobs:
2121
build-OpenBLAS-with-Homebrew:
2222
runs-on: macos-latest
2323
env:
24+
DEVELOPER_DIR: /Applications/Xcode_11.4.1.app/Contents/Developer
2425
HOMEBREW_DEVELOPER: "ON"
2526
HOMEBREW_DISPLAY_INSTALL_TIMES: "ON"
2627
HOMEBREW_NO_ANALYTICS: "ON"

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ test/SBLAT2.SUMM
7070
test/SBLAT3.SUMM
7171
test/ZBLAT2.SUMM
7272
test/ZBLAT3.SUMM
73+
test/SHBLAT3.SUMM
7374
test/cblat1
7475
test/cblat2
7576
test/cblat3
@@ -79,6 +80,7 @@ test/dblat3
7980
test/sblat1
8081
test/sblat2
8182
test/sblat3
83+
test/test_shgemm
8284
test/zblat1
8385
test/zblat2
8486
test/zblat3

.travis.yml

+88-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ matrix:
1616
before_script: &common-before
1717
- COMMON_FLAGS="DYNAMIC_ARCH=1 TARGET=NEHALEM NUM_THREADS=32"
1818
script:
19-
- set -e
2019
- make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE
2120
- make -C test $COMMON_FLAGS $BTYPE
2221
- make -C ctest $COMMON_FLAGS $BTYPE
@@ -34,6 +33,28 @@ matrix:
3433
- TARGET_BOX=PPC64LE_LINUX
3534
- BTYPE="BINARY=64 USE_OPENMP=1"
3635

36+
- <<: *test-ubuntu
37+
os: linux
38+
arch: s390x
39+
before_script:
40+
- COMMON_FLAGS="DYNAMIC_ARCH=1 TARGET=Z13 NUM_THREADS=32"
41+
env:
42+
# for matrix annotation only
43+
- TARGET_BOX=IBMZ_LINUX
44+
- BTYPE="BINARY=64 USE_OPENMP=1"
45+
46+
- <<: *test-ubuntu
47+
os: linux
48+
dist: focal
49+
arch: s390x
50+
compiler: clang
51+
before_script:
52+
- COMMON_FLAGS="DYNAMIC_ARCH=1 TARGET=Z13 NUM_THREADS=32"
53+
env:
54+
# for matrix annotation only
55+
- TARGET_BOX=IBMZ_LINUX
56+
- BTYPE="BINARY=64 USE_OPENMP=0 CC=clang"
57+
3758
- <<: *test-ubuntu
3859
env:
3960
- TARGET_BOX=LINUX64
@@ -66,6 +87,40 @@ matrix:
6687
- TARGET_BOX=LINUX32
6788
- BTYPE="BINARY=32"
6889

90+
- os: linux
91+
arch: ppc64le
92+
dist: bionic
93+
compiler: gcc
94+
before_script:
95+
- sudo add-apt-repository 'ppa:ubuntu-toolchain-r/test' -y
96+
- sudo apt-get update
97+
- sudo apt-get install gcc-9 gfortran-9 -y
98+
script:
99+
- make QUIET_MAKE=1 BINARY=64 USE_OPENMP=1 CC=gcc-9 FC=gfortran-9
100+
- make -C test $COMMON_FLAGS $BTYPE
101+
- make -C ctest $COMMON_FLAGS $BTYPE
102+
- make -C utest $COMMON_FLAGS $BTYPE
103+
env:
104+
# for matrix annotation only
105+
- TARGET_BOX=PPC64LE_LINUX_P9
106+
107+
- os: linux
108+
arch: ppc64le
109+
dist: bionic
110+
compiler: gcc
111+
before_script:
112+
- sudo add-apt-repository 'ppa:ubuntu-toolchain-r/test' -y
113+
- sudo apt-get update
114+
- sudo apt-get install gcc-9 gfortran-9 -y
115+
script:
116+
- make QUIET_MAKE=1 BUILD_BFLOAT16=1 BINARY=64 USE_OPENMP=1 CC=gcc-9 FC=gfortran-9
117+
- make -C test $COMMON_FLAGS $BTYPE
118+
- make -C ctest $COMMON_FLAGS $BTYPE
119+
- make -C utest $COMMON_FLAGS $BTYPE
120+
env:
121+
# for matrix annotation only
122+
- TARGET_BOX=PPC64LE_LINUX_P9
123+
69124
- os: linux
70125
compiler: gcc
71126
addons:
@@ -98,7 +153,6 @@ matrix:
98153
- sudo sh alpine-chroot-install -p 'build-base gfortran perl linux-headers'
99154
before_script: *common-before
100155
script:
101-
- set -e
102156
# XXX: Disable some warnings for now to avoid exceeding Travis limit for log size.
103157
- alpine make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE
104158
CFLAGS="-Wno-misleading-indentation -Wno-sign-conversion -Wno-incompatible-pointer-types"
@@ -141,7 +195,6 @@ matrix:
141195
before_script:
142196
- COMMON_ARGS="-DTARGET=NEHALEM -DNUM_THREADS=32"
143197
script:
144-
- set -e
145198
- mkdir build
146199
- CONFIG=Release
147200
- cmake -Bbuild -H. $CMAKE_ARGS $COMMON_ARGS -DCMAKE_BUILD_TYPE=$CONFIG
@@ -168,6 +221,17 @@ matrix:
168221
env:
169222
- BTYPE="TARGET=NEHALEM BINARY=64 INTERFACE64=1 FC=gfortran-8"
170223

224+
- <<: *test-macos
225+
osx_image: xcode12
226+
before_script:
227+
- COMMON_FLAGS="DYNAMIC_ARCH=1 NUM_THREADS=32"
228+
- brew update
229+
- brew install gcc@10 # for gfortran
230+
script:
231+
- travis_wait 45 make QUIET_MAKE=1 $COMMON_FLAGS $BTYPE
232+
env:
233+
- BTYPE="TARGET=NEHALEM BINARY=64 INTERFACE64=1 FC=gfortran-10"
234+
171235
- <<: *test-macos
172236
osx_image: xcode10.0
173237
env:
@@ -180,6 +244,27 @@ matrix:
180244
- 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"
181245
- BTYPE="TARGET=ARMV8 BINARY=64 HOSTCC=clang NOFORTRAN=1"
182246

247+
- <<: *test-macos
248+
osx_image: xcode10.1
249+
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+
- BTYPE="TARGET=ARMV7 HOSTCC=clang NOFORTRAN=1"
253+
254+
- &test-graviton2
255+
os: linux
256+
arch: arm64-graviton2
257+
dist: focal
258+
group: edge
259+
virt: lxd
260+
compiler: gcc
261+
addons:
262+
apt:
263+
packages:
264+
- gfortran
265+
script:
266+
- travis_wait 45 make && make lapack-test
267+
183268
# whitelist
184269
branches:
185270
only:

0 commit comments

Comments
 (0)