Skip to content

Commit 9864754

Browse files
authored
Merge branch 'develop' into topic/sgemm_direct_sme1
2 parents 78a9b8f + 5de5072 commit 9864754

File tree

182 files changed

+7524
-2608
lines changed

Some content is hidden

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

182 files changed

+7524
-2608
lines changed

.cirrus.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,9 @@ task:
125125
- make USE_OPENMP=1
126126

127127
FreeBSD_task:
128-
name: FreeBSD-gcc12
128+
name: FreeBSD-gcc
129129
freebsd_instance:
130-
image_family: freebsd-13-3
130+
image_family: freebsd-14-1
131131
install_script:
132132
- pkg update -f && pkg upgrade -y && pkg install -y gmake gcc
133133
compile_script:
@@ -136,9 +136,9 @@ FreeBSD_task:
136136

137137

138138
FreeBSD_task:
139-
name: freebsd-gcc12-ilp64
139+
name: freebsd-gcc-ilp64
140140
freebsd_instance:
141-
image_family: freebsd-13-3
141+
image_family: freebsd-14-1
142142
install_script:
143143
- pkg update -f && pkg upgrade -y && pkg install -y gmake gcc
144144
compile_script:
@@ -148,7 +148,7 @@ FreeBSD_task:
148148
FreeBSD_task:
149149
name: FreeBSD-clang-openmp
150150
freebsd_instance:
151-
image_family: freebsd-13-3
151+
image_family: freebsd-14-1
152152
install_script:
153153
- pkg update -f && pkg upgrade -y && pkg install -y gmake gcc
154154
- ln -s /usr/local/lib/gcc13/libgfortran.so.5.0.0 /usr/lib/libgfortran.so

.github/workflows/c910v.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
run: |
3838
sudo apt-get update
3939
sudo apt-get install autoconf automake autotools-dev ninja-build make ccache \
40-
gcc-${{ matrix.apt_triple }} gfortran-${{ matrix.apt_triple }} libgomp1-riscv64-cross
40+
gcc-${{ matrix.apt_triple }} gfortran-${{ matrix.apt_triple }} libgomp1-riscv64-cross libglib2.0-dev
4141
4242
- name: checkout qemu
4343
uses: actions/checkout@v3
@@ -52,6 +52,7 @@ jobs:
5252
wget https://github.com/revyos/qemu/commit/5164bca5a4bcde4534dc1a9aa3a7f619719874cf.patch
5353
cd qemu
5454
patch -p1 < ../5164bca5a4bcde4534dc1a9aa3a7f619719874cf.patch
55+
export CXXFLAGS="-Wno-error"; export CFLAGS="-Wno-error"
5556
./configure --prefix=$GITHUB_WORKSPACE/qemu-install --target-list=riscv64-linux-user --disable-system
5657
make -j$(nproc)
5758
make install

.github/workflows/codspeed-bench.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
strategy:
1616
fail-fast: false
1717
matrix:
18-
os: [ubuntu-latest]
18+
os: [ubuntu-22.04]
1919
fortran: [gfortran]
2020
build: [make]
2121
pyver: ["3.12"]
@@ -147,7 +147,7 @@ jobs:
147147
OPENBLAS_NUM_THREADS=1 pytest benchmarks/bench_blas.py -k 'gesdd'
148148
149149
- name: Run benchmarks
150-
uses: CodSpeedHQ/action@v2
150+
uses: CodSpeedHQ/action@v3
151151
with:
152152
token: ${{ secrets.CODSPEED_TOKEN }}
153153
run: |

.github/workflows/docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
python-version: "3.10"
2424

2525
- name: Install MkDocs and doc theme packages
26-
run: pip install mkdocs mkdocs-material mkdocs-git-revision-date-localized-plugin
26+
run: pip install mkdocs mkdocs-material mkdocs-git-revision-date-localized-plugin mkdocs-mermaid2-plugin
2727

2828
- name: Build docs site
2929
run: mkdocs build

.github/workflows/dynamic_arch.yml

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,9 @@ jobs:
4343
run: |
4444
if [ "$RUNNER_OS" == "Linux" ]; then
4545
sudo apt-get update
46-
sudo apt-get install -y gfortran cmake ccache libtinfo5
46+
sudo apt-get install -y gfortran cmake ccache
47+
wget http://security.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
48+
sudo apt install ./libtinfo5_6.3-2ubuntu0.1_amd64.deb
4749
elif [ "$RUNNER_OS" == "macOS" ]; then
4850
# It looks like "gfortran" isn't working correctly unless "gcc" is re-installed.
4951
brew reinstall gcc
@@ -158,7 +160,7 @@ jobs:
158160
strategy:
159161
fail-fast: false
160162
matrix:
161-
msystem: [UCRT64, MINGW32, CLANG64, CLANG32]
163+
msystem: [UCRT64, MINGW32, CLANG64]
162164
idx: [int32, int64]
163165
build-type: [Release]
164166
include:
@@ -174,14 +176,6 @@ jobs:
174176
idx: int32
175177
target-prefix: mingw-w64-clang-x86_64
176178
fc-pkg: fc
177-
# Compiling with Flang 16 seems to cause test errors on machines
178-
# with AVX512 instructions. Revisit after MSYS2 distributes Flang 17.
179-
no-avx512-flags: -DNO_AVX512=1
180-
- msystem: CLANG32
181-
idx: int32
182-
target-prefix: mingw-w64-clang-i686
183-
fc-pkg: cc
184-
c-lapack-flags: -DC_LAPACK=ON
185179
- msystem: UCRT64
186180
idx: int64
187181
idx64-flags: -DBINARY=64 -DINTERFACE64=1
@@ -192,9 +186,6 @@ jobs:
192186
idx64-flags: -DBINARY=64 -DINTERFACE64=1
193187
target-prefix: mingw-w64-clang-x86_64
194188
fc-pkg: fc
195-
# Compiling with Flang 16 seems to cause test errors on machines
196-
# with AVX512 instructions. Revisit after MSYS2 distributes Flang 17.
197-
no-avx512-flags: -DNO_AVX512=1
198189
- msystem: UCRT64
199190
idx: int32
200191
target-prefix: mingw-w64-ucrt-x86_64
@@ -203,8 +194,6 @@ jobs:
203194
exclude:
204195
- msystem: MINGW32
205196
idx: int64
206-
- msystem: CLANG32
207-
idx: int64
208197

209198
defaults:
210199
run:
@@ -280,8 +269,6 @@ jobs:
280269
-DNUM_THREADS=64 \
281270
-DTARGET=CORE2 \
282271
${{ matrix.idx64-flags }} \
283-
${{ matrix.c-lapack-flags }} \
284-
${{ matrix.no-avx512-flags }} \
285272
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
286273
-DCMAKE_Fortran_COMPILER_LAUNCHER=ccache \
287274
..
@@ -369,3 +356,23 @@ jobs:
369356
- name: Build OpenBLAS
370357
run: |
371358
make -j$(nproc) HOSTCC="ccache gcc" CC="ccache ${{ matrix.triple }}-gcc" FC="ccache ${{ matrix.triple }}-gfortran" ARCH=${{ matrix.target }} ${{ matrix.opts }}
359+
360+
neoverse_build:
361+
if: "github.repository == 'OpenMathLib/OpenBLAS'"
362+
runs-on: ubuntu-24.04-arm
363+
364+
steps:
365+
- name: Checkout repository
366+
uses: actions/checkout@v3
367+
368+
- name: Install Dependencies
369+
run: |
370+
sudo apt-get update
371+
sudo apt-get install -y gcc gfortran make
372+
373+
- name: Build OpenBLAS
374+
run: |
375+
make -j${nproc} TARGET=NEOVERSEN2
376+
make -j${nproc} TARGET=NEOVERSEN2 lapack-test
377+
378+

.github/workflows/harmonyos.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: harmonyos
2+
3+
on: [push, pull_request]
4+
5+
concurrency:
6+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
7+
cancel-in-progress: true
8+
9+
permissions:
10+
contents: read # to fetch code (actions/checkout)
11+
12+
jobs:
13+
build:
14+
if: "github.repository == 'OpenMathLib/OpenBLAS'"
15+
runs-on: ubuntu-latest
16+
env:
17+
OHOS_NDK_CMAKE: $GITHUB_WORKSPACE/ohos-sdk/linux/native/build-tools/cmake/bin/cmake
18+
COMMON_CMAKE_OPTIONS: |
19+
-DCMAKE_TOOLCHAIN_FILE=$GITHUB_WORKSPACE/ohos-sdk/linux/native/build/cmake/ohos.toolchain.cmake \
20+
-DCMAKE_INSTALL_PREFIX=install \
21+
-DCMAKE_BUILD_TYPE=Release \
22+
steps:
23+
- uses: actions/checkout@v4
24+
- name: ndk-install
25+
run: |
26+
wget https://repo.huaweicloud.com/harmonyos/os/4.1.1-Release/ohos-sdk-windows_linux-public.tar.gz
27+
tar -xf ohos-sdk-windows_linux-public.tar.gz
28+
cd ohos-sdk/linux
29+
unzip -q native-linux-x64-4.1.7.8-Release.zip
30+
cd -
31+
- name: build-armv8
32+
run: |
33+
mkdir build && cd build
34+
${{ env.OHOS_NDK_CMAKE }} ${{ env.COMMON_CMAKE_OPTIONS }} -DOHOS_ARCH="arm64-v8a" \
35+
-DTARGET=ARMV8 -DNOFORTRAN=1 ..
36+
${{ env.OHOS_NDK_CMAKE }} --build . -j $(nproc)
37+

.github/workflows/loongarch64_clang.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
- name: Install APT deps
4242
run: |
4343
sudo apt-get update
44-
sudo apt-get install autoconf automake autotools-dev ninja-build make ccache
44+
sudo apt-get install autoconf automake autotools-dev ninja-build make ccache libglib2.0-dev
4545
4646
- name: Download and install loongarch64-toolchain
4747
run: |

.github/workflows/mips64.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,14 @@ jobs:
4141
run: |
4242
sudo apt-get update
4343
sudo apt-get install autoconf automake autotools-dev ninja-build make ccache \
44-
gcc-${{ matrix.triple }} gfortran-${{ matrix.triple }} libgomp1-mips64el-cross
44+
gcc-${{ matrix.triple }} gfortran-${{ matrix.triple }} libgomp1-mips64el-cross libglib2.0-dev
4545
4646
- name: checkout qemu
4747
uses: actions/checkout@v3
4848
with:
4949
repository: qemu/qemu
5050
path: qemu
51-
ref: 79dfa177ae348bb5ab5f97c0915359b13d6186e2
51+
ref: ae35f033b874c627d81d51070187fbf55f0bf1a7
5252

5353
- name: build qemu
5454
run: |

CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@
44

55
cmake_minimum_required(VERSION 3.16.0)
66

7+
set (CMAKE_ASM_SOURCE_FILE_EXTENSIONS "S")
78
project(OpenBLAS C ASM)
89

910
set(OpenBLAS_MAJOR_VERSION 0)
1011
set(OpenBLAS_MINOR_VERSION 3)
11-
set(OpenBLAS_PATCH_VERSION 28.dev)
12+
set(OpenBLAS_PATCH_VERSION 29.dev)
1213

1314
set(OpenBLAS_VERSION "${OpenBLAS_MAJOR_VERSION}.${OpenBLAS_MINOR_VERSION}.${OpenBLAS_PATCH_VERSION}")
1415

CONTRIBUTORS.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,3 +229,14 @@ In chronological order:
229229

230230
* Christopher Daley <https://github.com/cdaley>
231231
* [2024-01-24] Optimize GEMV forwarding on ARM64 systems
232+
233+
* Aniket P. Garade <https://github.com/garadeaniket> Sushil Pratap Singh <https://github.com/SushilPratap04> Juliya James <https://github.com/Juliya32>
234+
* [2024-12-13] Optimized swap and rot Level-1 BLAS routines with ARM SVE
235+
236+
* Annop Wongwathanarat <[email protected]>
237+
* [2025-01-10] Add thread throttling profile for SGEMM on NEOVERSEV1
238+
* [2025-01-21] Optimize gemv_t_sve_v1x3 kernel
239+
240+
* Marek Michalowski <https://github.com/michalowski-arm>
241+
* [2025-01-21] Add thread throttling profile for SGEMV on `NEOVERSEV1`
242+

0 commit comments

Comments
 (0)