Skip to content

Commit

Permalink
test
Browse files Browse the repository at this point in the history
  • Loading branch information
jkawamoto committed Jun 10, 2024
1 parent c608961 commit b541f17
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 11 deletions.
41 changes: 31 additions & 10 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,61 +23,82 @@ jobs:
fail-fast: false
matrix:
os: [macos-13, macos-14]
feature: [ruy, accelerate]
backends: [ruy, openblas, accelerate]
openmp: ["", openmp]
exclude:
- os: macos-13
backends: openblas
- os: macos-14
backends: openblas
openmp: ""
runs-on: ${{ matrix.os }}

steps:
- name: Install OpenBLAS
if: ${{ matrix.feature == 'openblas' }}
if: ${{ matrix.backends == 'openblas' }}
run: |
brew install openblas
PREFIX=$(brew --prefix openblas)
echo "LIBRARY_PATH=$PREFIX/lib:$LIBRARY_PATH" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=$PREFIX/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
echo "CMAKE_PREFIX_PATH=$PREFIX:$CMAKE_PREFIX_PATH" >> $GITHUB_ENV
- name: Install OpenMP
if: ${{ matrix.openmp == 'openmp' }}
run: |
brew install libomp
PREFIX=$(brew --prefix libomp)
echo "LIBRARY_PATH=$PREFIX/lib:$LIBRARY_PATH" >> $GITHUB_ENV
echo "CMAKE_PREFIX_PATH=$PREFIX:$CMAKE_PREFIX_PATH" >> $GITHUB_ENV
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Build
run: cargo build -vv --no-default-features -F "${{ matrix.feature }}"
run: cargo build -vv --no-default-features -F "${{ matrix.backends }} ${{ matrix.openmp }}"
- name: Run tests
run: cargo test -vv --no-default-features -F "${{ matrix.feature }}"
run: cargo test -vv --no-default-features -F "${{ matrix.backends }} ${{ matrix.openmp }}"

build-linux:
strategy:
fail-fast: false
matrix:
feature: [ruy, mkl, openblas]
backends: [ruy, mkl, openblas]
openmp: ["", openmp]
runs-on: ubuntu-latest
env:
LIBRARY_PATH: /usr/lib/x86_64-linux-gnu

steps:
- name: Install MKL
if: ${{ matrix.feature == 'mkl' }}
if: ${{ matrix.backends == 'mkl' }}
run: |
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
sudo sh -c 'echo deb https://apt.repos.intel.com/mkl all main > /etc/apt/sources.list.d/intel-mkl.list'
sudo apt-get update
sudo apt-get install -y intel-mkl-64bit-2020.4-912
echo "LD_LIBRARY_PATH=/opt/intel/lib/intel64:$LD_LIBRARY_PATH" >> $GITHUB_ENV
echo "LIBRARY_PATH=/opt/intel/lib/intel64:LIBRARY_PATH" >> $GITHUB_ENV
- name: Install OpenBLAS
if: ${{ matrix.feature == 'openblas' }}
if: ${{ matrix.backends == 'openblas' }}
run: |
sudo apt-get update
sudo apt-get install -y cmake libclang-dev libopenblas-dev
- name: Install OpenMP
if: ${{ matrix.openmp == 'openmp' }}
run: |
sudo apt-get install -y libomp-dev
echo "LD_LIBRARY_PATH=/usr/lib/llvm-14/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
echo "LIBRARY_PATH=/usr/lib/llvm-14/lib:$LIBRARY_PATH" >> $GITHUB_ENV
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Build
run: cargo build -vv --no-default-features -F "${{ matrix.feature }}"
run: cargo build -vv --no-default-features -F "${{ matrix.backends }} ${{ matrix.openmp }}"
- name: Run tests
run: cargo test -vv --no-default-features -F "${{ matrix.feature }}"
run: cargo test -vv --no-default-features -F "${{ matrix.backends }} ${{ matrix.openmp }}"

build-windows:
strategy:
Expand Down
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ ruy = []
accelerate = []
cuda = []
cudnn = ["cuda"]
openmp = []

[[example]]
name = "bart"
Expand Down
10 changes: 9 additions & 1 deletion build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,15 @@ fn main() {
.define("BUILD_CLI", "OFF")
.define("BUILD_SHARED_LIBS", "OFF")
.define("WITH_MKL", "OFF")
.define("OPENMP_RUNTIME", "NONE");
.define(
"OPENMP_RUNTIME",
if cfg!(feature = "openmp") {
println!("cargo:rustc-link-lib=omp");
"COMP"
} else {
"NONE"
},
);
if cfg!(target_os = "windows") {
println!("cargo::rustc-link-arg=/FORCE:MULTIPLE");
cmake.profile("Release");
Expand Down

0 comments on commit b541f17

Please sign in to comment.