Skip to content

Commit 457ccc4

Browse files
authored
Merge branch 'develop' into msvc
2 parents 6cfd619 + 00880c7 commit 457ccc4

File tree

1,775 files changed

+156784
-25394
lines changed

Some content is hidden

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

1,775 files changed

+156784
-25394
lines changed

.drone.yml

Lines changed: 216 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,216 @@
1+
---
2+
kind: pipeline
3+
name: arm64_gcc_make
4+
5+
platform:
6+
os: linux
7+
arch: arm64
8+
9+
steps:
10+
- name: Build and Test
11+
image: ubuntu:18.04
12+
environment:
13+
CC: gcc
14+
COMMON_FLAGS: 'DYNAMIC_ARCH=1 TARGET=ARMV8 NUM_THREADS=32'
15+
commands:
16+
- echo "MAKE_FLAGS:= $COMMON_FLAGS"
17+
- apt-get update -y
18+
- apt-get install -y make $CC gfortran perl
19+
- $CC --version
20+
- make QUIET_MAKE=1 $COMMON_FLAGS
21+
- make -C test $COMMON_FLAGS
22+
- make -C ctest $COMMON_FLAGS
23+
- make -C utest $COMMON_FLAGS
24+
25+
---
26+
kind: pipeline
27+
name: arm32_gcc_make
28+
29+
platform:
30+
os: linux
31+
arch: arm
32+
33+
steps:
34+
- name: Build and Test
35+
image: ubuntu:18.04
36+
environment:
37+
CC: gcc
38+
COMMON_FLAGS: 'DYNAMIC_ARCH=1 TARGET=ARMV6 NUM_THREADS=32'
39+
commands:
40+
- echo "MAKE_FLAGS:= $COMMON_FLAGS"
41+
- apt-get update -y
42+
- apt-get install -y make $CC gfortran perl
43+
- $CC --version
44+
- make QUIET_MAKE=1 $COMMON_FLAGS
45+
- make -C test $COMMON_FLAGS
46+
- make -C ctest $COMMON_FLAGS
47+
- make -C utest $COMMON_FLAGS
48+
49+
---
50+
kind: pipeline
51+
name: arm64_clang_make
52+
53+
platform:
54+
os: linux
55+
arch: arm64
56+
57+
steps:
58+
- name: Build and Test
59+
image: ubuntu:18.04
60+
environment:
61+
CC: clang
62+
COMMON_FLAGS: 'DYNAMIC_ARCH=1 TARGET=ARMV8 NUM_THREADS=32'
63+
commands:
64+
- echo "MAKE_FLAGS:= $COMMON_FLAGS"
65+
- apt-get update -y
66+
- apt-get install -y make $CC gfortran perl
67+
- $CC --version
68+
- make QUIET_MAKE=1 $COMMON_FLAGS
69+
- make -C test $COMMON_FLAGS
70+
- make -C ctest $COMMON_FLAGS
71+
- make -C utest $COMMON_FLAGS
72+
73+
---
74+
kind: pipeline
75+
name: arm32_clang_cmake
76+
77+
platform:
78+
os: linux
79+
arch: arm
80+
81+
steps:
82+
- name: Build and Test
83+
image: ubuntu:18.04
84+
environment:
85+
CC: clang
86+
CMAKE_FLAGS: '-DDYNAMIC_ARCH=1 -DTARGET=ARMV6 -DNUM_THREADS=32 -DNOFORTRAN=ON -DBUILD_WITHOUT_LAPACK=ON'
87+
commands:
88+
- echo "CMAKE_FLAGS:= $CMAKE_FLAGS"
89+
- apt-get update -y
90+
- apt-get install -y make $CC g++ perl cmake
91+
- $CC --version
92+
- mkdir build && cd build
93+
- cmake $CMAKE_FLAGS ..
94+
- make -j
95+
- ctest -V
96+
97+
---
98+
kind: pipeline
99+
name: arm64_gcc_cmake
100+
101+
platform:
102+
os: linux
103+
arch: arm64
104+
105+
steps:
106+
- name: Build and Test
107+
image: ubuntu:18.04
108+
environment:
109+
CC: gcc
110+
CMAKE_FLAGS: '-DDYNAMIC_ARCH=1 -DTARGET=ARMV8 -DNUM_THREADS=32 -DNOFORTRAN=ON -DBUILD_WITHOUT_LAPACK=ON'
111+
commands:
112+
- echo "CMAKE_FLAGS:= $CMAKE_FLAGS"
113+
- apt-get update -y
114+
- apt-get install -y make $CC g++ perl cmake
115+
- $CC --version
116+
- mkdir build && cd build
117+
- cmake $CMAKE_FLAGS ..
118+
- make -j
119+
- ctest -V
120+
121+
---
122+
kind: pipeline
123+
name: arm64_clang_cmake
124+
125+
platform:
126+
os: linux
127+
arch: arm64
128+
129+
steps:
130+
- name: Build and Test
131+
image: ubuntu:18.04
132+
environment:
133+
CC: clang
134+
CMAKE_FLAGS: '-DDYNAMIC_ARCH=1 -DTARGET=ARMV8 -DNUM_THREADS=32 -DNOFORTRAN=ON -DBUILD_WITHOUT_LAPACK=ON'
135+
commands:
136+
- echo "CMAKE_FLAGS:= $CMAKE_FLAGS"
137+
- apt-get update -y
138+
- apt-get install -y make $CC g++ perl cmake
139+
- $CC --version
140+
- mkdir build && cd build
141+
- cmake $CMAKE_FLAGS ..
142+
- make -j
143+
- 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
193+
---
194+
kind: pipeline
195+
name: arm64_gcc10
196+
197+
platform:
198+
os: linux
199+
arch: arm64
200+
201+
steps:
202+
- name: Build and Test
203+
image: ubuntu:20.04
204+
environment:
205+
CC: gcc-10
206+
FC: gfortran-10
207+
COMMON_FLAGS: 'TARGET=ARMV8 DYNAMIC_ARCH=1'
208+
commands:
209+
- echo "MAKE_FLAGS:= $COMMON_FLAGS"
210+
- apt-get update -y
211+
- apt-get install -y make $CC gfortran-10 perl python g++
212+
- $CC --version
213+
- make QUIET_MAKE=1 $COMMON_FLAGS
214+
- make -C utest $COMMON_FLAGS
215+
- make -C test $COMMON_FLAGS
216+

.github/workflows/dynamic_arch.yml

Lines changed: 103 additions & 0 deletions
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)

0 commit comments

Comments
 (0)