OpenBLAS
Status
OpenBLAS can be built from source for WoA using LLVM toolchain (clang-cl and flang)
Build and test passing for v0.3.24 (prebuilt package).
Build from Source
Requirements
LLVM >= 17.0.4
(<= 16 emits conflicting symbols_QQ*, <= 17.0.3 mlir conflicting symbol)CMake >= 3.28 (previous version fail with flang targeting MSVC ABI)
Build Steps
Clone OpenBLAS from GitHub - OpenMathLib/OpenBLAS: OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
git clone https://github.com/OpenMathLib/OpenBLAS cd OpenBLAS mkdir build cd build cmake .. -G Ninja -DCMAKE_C_COMPILER=clang-cl -DCMAKE_Fortran_COMPILER=flang-new -DBUILD_SHARED_LIBS=TRUE -DCMAKE_BUILD_TYPE=Release ninja
Related PRs
https://gitlab.kitware.com/cmake/cmake/-/merge_requests/8852
LLVM 17.0.4 fix: PR for llvm/llvm-project#70458 by llvmbot · Pull Request #752 · llvm/llvm-project-release-prs
Binary availability
OpenBLAS has to be built from source for windows-arm64.
CI
There is no official windows-arm64 CI running for OpenBLAS, due to lack of machines on GitHub Actions. We run a downstream nightly CI (building develop
branch and running tests) on our infrastructure: https://gitlab.com/Linaro/windowsonarm/nightly.