Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
39bee6d
Create openblas-build
termoshtt Sep 13, 2020
0dcd85d
Build option
termoshtt Sep 19, 2020
67f825a
Parse Makefile.conf generated by OpenBLAS Makefile.prebuild
termoshtt Sep 19, 2020
5c649ff
Replace fs_extra by walkdir
termoshtt Sep 20, 2020
1cd7755
s/Detail/MakeConf/g
termoshtt Sep 20, 2020
8cf53ac
Minor cleanup
termoshtt Sep 20, 2020
1954913
Add CI for openblas-build
termoshtt Sep 21, 2020
0fdb920
Revise tests
termoshtt Sep 21, 2020
d629085
Split into sub-crates
termoshtt Sep 21, 2020
f11c918
Update documents
termoshtt Sep 21, 2020
2c313df
Expose LinkInfo::parse
termoshtt Sep 21, 2020
0a383bf
Move CheckCall to openblas_build::
termoshtt Sep 21, 2020
51db03d
Get symbols for checking CBLAS, LAPACK, and LAPACKE
termoshtt Sep 21, 2020
5186921
List linked libraries
termoshtt Sep 22, 2020
8c1bc04
LibDetail::has_lib
termoshtt Sep 22, 2020
b79a202
Rename and documents
termoshtt Sep 22, 2020
7bc67f0
Add test for no_shared and no_lapacke
termoshtt Sep 22, 2020
d436454
Fix Default for Configure
termoshtt Sep 22, 2020
310a48a
Add error handling if fortran compile does not exists
termoshtt Oct 3, 2020
59bb690
Install gfortran on CI
termoshtt Oct 3, 2020
3258734
Restore openblas-src/source
termoshtt Nov 7, 2020
1a7543b
Output error log of `make` when failed
termoshtt Nov 14, 2020
d6f5bde
Split build targets
termoshtt Nov 14, 2020
5239e13
Add name for each test steps
termoshtt Nov 14, 2020
c2d2489
Use *.dylib for macOS
termoshtt Nov 14, 2020
07f2512
Drop macOS CI
termoshtt Dec 19, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions .github/workflows/openblas-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: openblas-build

on:
push:
branches:
- master
pull_request: {}

jobs:
linux:
runs-on: ubuntu-18.04
strategy:
fail-fast: false
matrix:
test_target:
- build_no_lapacke
- build_no_shared
- build_openmp
container:
image: rust
env:
RUST_BACKTRACE: 1
steps:
- uses: actions/checkout@v1
with:
submodules: 'recursive'
- name: Install gfortran by apt
run: |
apt update
apt install -y gfortran
- name: Common minor tests
uses: actions-rs/cargo@v1
with:
command: test
args: --manifest-path=openblas-build/Cargo.toml
- name: Build test
uses: actions-rs/cargo@v1
with:
command: test
args: ${{ matrix.test_target }} --manifest-path=openblas-build/Cargo.toml -- --ignored
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Rust
name: openblas-src

on:
push:
Expand Down
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
[workspace]
members = [
"openblas-src",
"openblas-build",
]
1 change: 1 addition & 0 deletions openblas-build/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
test_build/
9 changes: 9 additions & 0 deletions openblas-build/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[package]
name = "openblas-build"
version = "0.1.0"
authors = ["Toshiki Teramura <[email protected]>"]
edition = "2018"

[dependencies]
anyhow = "1.0"
walkdir = "2.3.1"
44 changes: 44 additions & 0 deletions openblas-build/Makefile.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
OSNAME=Linux
ARCH=x86_64
C_COMPILER=GCC
BINARY32=
BINARY64=1
CEXTRALIB=-L/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0 -L/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../.. -lc
F_COMPILER=GFORTRAN
FC=gfortran
BU=_
FEXTRALIB=-L/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0 -L/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../.. -lgfortran -lm -lquadmath -lm -lc
CORE=HASWELL
LIBCORE=haswell
NUM_CORES=12
HAVE_MMX=1
HAVE_SSE=1
HAVE_SSE2=1
HAVE_SSE3=1
HAVE_SSSE3=1
HAVE_SSE4_1=1
HAVE_SSE4_2=1
HAVE_AVX=1
HAVE_AVX2=1
HAVE_FMA3=1
MAKE += -j 12
SHGEMM_UNROLL_M=8
SHGEMM_UNROLL_N=4
SGEMM_UNROLL_M=8
SGEMM_UNROLL_N=4
DGEMM_UNROLL_M=4
DGEMM_UNROLL_N=8
QGEMM_UNROLL_M=2
QGEMM_UNROLL_N=2
CGEMM_UNROLL_M=8
CGEMM_UNROLL_N=2
ZGEMM_UNROLL_M=4
ZGEMM_UNROLL_N=2
XGEMM_UNROLL_M=1
XGEMM_UNROLL_N=1
CGEMM3M_UNROLL_M=8
CGEMM3M_UNROLL_N=4
ZGEMM3M_UNROLL_M=4
ZGEMM3M_UNROLL_N=4
XGEMM3M_UNROLL_M=2
XGEMM3M_UNROLL_N=2
44 changes: 44 additions & 0 deletions openblas-build/nofortran.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
OSNAME=Linux
ARCH=x86_64
C_COMPILER=GCC
BINARY32=
BINARY64=1
CEXTRALIB=-L/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0 -L/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../.. -lc
F_COMPILER=GFORTRAN
FC=gfortran
BU=_
NOFORTRAN=1
CORE=HASWELL
LIBCORE=haswell
NUM_CORES=12
HAVE_MMX=1
HAVE_SSE=1
HAVE_SSE2=1
HAVE_SSE3=1
HAVE_SSSE3=1
HAVE_SSE4_1=1
HAVE_SSE4_2=1
HAVE_AVX=1
HAVE_AVX2=1
HAVE_FMA3=1
MAKE += -j 12
SHGEMM_UNROLL_M=8
SHGEMM_UNROLL_N=4
SGEMM_UNROLL_M=8
SGEMM_UNROLL_N=4
DGEMM_UNROLL_M=4
DGEMM_UNROLL_N=8
QGEMM_UNROLL_M=2
QGEMM_UNROLL_N=2
CGEMM_UNROLL_M=8
CGEMM_UNROLL_N=2
ZGEMM_UNROLL_M=4
ZGEMM_UNROLL_N=2
XGEMM_UNROLL_M=1
XGEMM_UNROLL_N=1
CGEMM3M_UNROLL_M=8
CGEMM3M_UNROLL_N=4
ZGEMM3M_UNROLL_M=4
ZGEMM3M_UNROLL_N=4
XGEMM3M_UNROLL_M=2
XGEMM3M_UNROLL_N=2
Loading