Remove [c,z]syr2 from tests since they are not in RefBLAS #88
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CMake | |
on: | |
pull_request: | |
paths: | |
- '.github/workflows/cmake.yml' | |
- '**CMakeLists.txt' | |
- '**.cmake' | |
- '**test_*' | |
- 'include/**' | |
env: | |
CXXFLAGS: "-Wall -pedantic" | |
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | |
BUILD_TYPE: Release | |
blaspp_DIR: ${{github.workspace}}/blaspp | |
tlapack_DIR: ${{github.workspace}}/tlapack | |
Catch2_DIR: ${{github.workspace}}/Catch2 | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
test-tlapack-templates: | |
# Use GNU compilers | |
# The CMake configure and build commands are platform agnostic and should work equally | |
# well on Windows or Mac. You can convert this to a matrix build if you need | |
# cross-platform coverage. | |
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix | |
runs-on: ubuntu-latest | |
env: | |
CXXFLAGS: "-Wall -pedantic -D TEST_REAL_TYPES=\"float, double, long double\" -D TEST_CPLX_TYPES=\"std::complex<float>, std::complex<double>, std::complex<long double>\"" | |
steps: | |
- name: Checkout testBLAS | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- name: Checkout Catch2 | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
with: | |
repository: catchorg/Catch2 | |
ref: 6e79e682b726f524310d55dec8ddac4e9c52fb5f # v3.4.0 | |
path: Catch2 | |
- name: Checkout <T>LAPACK | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
with: | |
repository: tlapack/tlapack | |
path: tlapack | |
- name: Install ninja-build tool | |
uses: seanmiddleditch/gha-setup-ninja@16b940825621068d98711680b6c3ff92201f8fc0 # v3 | |
- name: Build and install <T>LAPACK | |
working-directory: ${{env.tlapack_DIR}} | |
run: | | |
cmake -Bbuild -G Ninja -DBUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=${{env.tlapack_DIR}} | |
cmake --build build --target install | |
- name: Configure testBLAS | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: > | |
cmake -B build -GNinja | |
-D CMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} | |
-D TESTBLAS_BLAS=tlapack | |
-D Catch2_DIR=${{env.Catch2_DIR}} | |
-D tlapack_DIR=${{env.tlapack_DIR}} | |
- name: Build testBLAS | |
# Build your program with the given configuration | |
run: cmake --build build --config ${{env.BUILD_TYPE}} | |
# Mind that the job won't fail if only this step fails | |
- name: Run tests | |
working-directory: ${{github.workspace}}/build | |
continue-on-error: true | |
run: ctest -C ${{env.BUILD_TYPE}} --output-on-failure | |
test-reference-BLAS: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout testBLAS | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- name: Checkout Catch2 | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
with: | |
repository: catchorg/Catch2 | |
ref: 6e79e682b726f524310d55dec8ddac4e9c52fb5f # v3.4.0 | |
path: Catch2 | |
- name: Checkout BLAS++ | |
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 | |
with: | |
repository: icl-utk-edu/blaspp | |
ref: f8f983d5b45a8f366aae41fbe9888b14cbae20f8 # v2023.08.25 | |
path: blaspp | |
- name: Install ninja-build tool | |
uses: seanmiddleditch/gha-setup-ninja@16b940825621068d98711680b6c3ff92201f8fc0 # v3 | |
- name: Install Reference BLAS | |
run: sudo apt install libblas-dev liblapack-dev | |
- name: Build and install BLAS++ | |
working-directory: ${{env.blaspp_DIR}} | |
run: | | |
cmake -B build -G Ninja -D CMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -Dbuild_tests=OFF -DCMAKE_INSTALL_PREFIX=${{env.blaspp_DIR}} | |
cmake --build build --target install | |
- name: Configure testBLAS | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: > | |
cmake -B build -G Ninja | |
-D CMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} | |
-D Catch2_DIR=${{env.Catch2_DIR}} | |
-D blaspp_DIR=${{env.blaspp_DIR}} | |
- name: Build testBLAS | |
# Build your program with the given configuration | |
run: cmake --build build --config ${{env.BUILD_TYPE}} | |
# Mind that the job won't fail if only this step fails | |
- name: Run tests | |
working-directory: ${{github.workspace}}/build | |
continue-on-error: true | |
run: ctest -C ${{env.BUILD_TYPE}} --output-on-failure | |
test-blaspp-wrappers: | |
runs-on: ubuntu-latest | |
env: | |
CXXFLAGS: "-Wall -pedantic -D BLAS_USE_TEMPLATE" | |
steps: | |
- name: Checkout testBLAS | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- name: Checkout Catch2 | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
with: | |
repository: catchorg/Catch2 | |
ref: 6e79e682b726f524310d55dec8ddac4e9c52fb5f # v3.4.0 | |
path: Catch2 | |
- name: Checkout BLAS++ | |
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 | |
with: | |
repository: icl-utk-edu/blaspp | |
ref: f8f983d5b45a8f366aae41fbe9888b14cbae20f8 # v2023.08.25 | |
path: blaspp | |
- name: Install ninja-build tool | |
uses: seanmiddleditch/gha-setup-ninja@16b940825621068d98711680b6c3ff92201f8fc0 # v3 | |
- name: Build and install BLAS++ | |
working-directory: ${{env.blaspp_DIR}} | |
run: | | |
cmake -B build -G Ninja -D CMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -Dbuild_tests=OFF -DCMAKE_INSTALL_PREFIX=${{env.blaspp_DIR}} | |
cmake --build build --target install | |
- name: Configure testBLAS | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: > | |
cmake -B build -G Ninja | |
-D CMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} | |
-D Catch2_DIR=${{env.Catch2_DIR}} | |
-D blaspp_DIR=${{env.blaspp_DIR}} | |
- name: Build testBLAS | |
# Build your program with the given configuration | |
run: cmake --build build --config ${{env.BUILD_TYPE}} | |
# Mind that the job won't fail if only this step fails | |
- name: Run tests | |
working-directory: ${{github.workspace}}/build | |
continue-on-error: true | |
run: ctest -C ${{env.BUILD_TYPE}} --output-on-failure | |
test-mkl: | |
runs-on: ubuntu-latest | |
env: | |
CXX: icpx | |
CXXFLAGS: "-Wall -pedantic -fp-model=precise" | |
steps: | |
- name: Intel Apt repository | |
timeout-minutes: 1 | |
run: | | |
# download the key to system keyring | |
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null | |
# add signed entry to apt sources and configure the APT client to use Intel repository: | |
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list | |
sudo apt update | |
- name: Checkout testBLAS | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- name: Checkout Catch2 | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
with: | |
repository: catchorg/Catch2 | |
ref: 6e79e682b726f524310d55dec8ddac4e9c52fb5f # v3.4.0 | |
path: Catch2 | |
- name: Checkout BLAS++ | |
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 | |
with: | |
repository: icl-utk-edu/blaspp | |
ref: f8f983d5b45a8f366aae41fbe9888b14cbae20f8 # v2023.08.25 | |
path: blaspp | |
- name: Install ninja-build tool | |
uses: seanmiddleditch/gha-setup-ninja@16b940825621068d98711680b6c3ff92201f8fc0 # v3 | |
- name: Install Intel oneAPI | |
timeout-minutes: 5 | |
run: sudo apt install intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic intel-oneapi-mkl | |
- name: Setup Intel oneAPI environment | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
printenv >> $GITHUB_ENV | |
- name: Build and install BLAS++ | |
working-directory: ${{env.blaspp_DIR}} | |
run: | | |
cmake -B build -G Ninja -D CMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -Dbuild_tests=OFF -DCMAKE_INSTALL_PREFIX=${{env.blaspp_DIR}} | |
cmake --build build --target install | |
- name: Configure testBLAS | |
run: > | |
cmake -B build -G Ninja | |
-D CMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} | |
-D Catch2_DIR=${{env.Catch2_DIR}} | |
-D blaspp_DIR=${{env.blaspp_DIR}} | |
- name: Build testBLAS | |
# Build your program with the given configuration | |
run: cmake --build build --config ${{env.BUILD_TYPE}} | |
# Mind that the job won't fail if only this step fails | |
- name: Run tests | |
working-directory: ${{github.workspace}}/build | |
continue-on-error: true | |
run: ctest -C ${{env.BUILD_TYPE}} --output-on-failure | |
test-blis: | |
runs-on: ubuntu-latest | |
env: | |
blis_DIR: ${{github.workspace}}/blis | |
lapack_DIR: ${{github.workspace}}/lapack | |
LD_LIBRARY_PATH: "/usr/local/lib/" | |
CXXFLAGS: "-Wall -pedantic -D LAPACK_FORTRAN_ADD_" | |
steps: | |
- name: Checkout testBLAS | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- name: Checkout Catch2 | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
with: | |
repository: catchorg/Catch2 | |
ref: 6e79e682b726f524310d55dec8ddac4e9c52fb5f # v3.4.0 | |
path: Catch2 | |
- name: Checkout BLAS++ | |
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 | |
with: | |
repository: icl-utk-edu/blaspp | |
ref: f8f983d5b45a8f366aae41fbe9888b14cbae20f8 # v2023.08.25 | |
path: blaspp | |
- name: Checkout LAPACK | |
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 | |
with: | |
repository: Reference-LAPACK/lapack | |
ref: 7866626840f5d5e7e27f027a55182da8b3303872 # v3.11.0 | |
path: lapack | |
- name: Install ninja-build tool | |
uses: seanmiddleditch/gha-setup-ninja@16b940825621068d98711680b6c3ff92201f8fc0 # v3 | |
- name: Install BLIS | |
run: sudo apt install libblis-dev | |
- name: Build and install LAPACK | |
working-directory: ${{env.lapack_DIR}} | |
run: | | |
cmake -B build -G Ninja -D CMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -D CMAKE_INSTALL_PREFIX=${{env.lapack_DIR}} -D USE_OPTIMIZED_BLAS=ON -D BLA_VENDOR=FLAME | |
cmake --build build --target install | |
- name: Build and install BLAS++ | |
working-directory: ${{env.blaspp_DIR}} | |
run: | | |
cmake -B build -G Ninja -D CMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DBLA_VENDOR=FLAME -Dbuild_tests=OFF -DCMAKE_INSTALL_PREFIX=${{env.blaspp_DIR}} -D CMAKE_CXX_FLAGS="${{env.CXXFLAGS}} -D LAPACK_FORTRAN_ADD_" -D LAPACK_LIBRARIES="${{env.lapack_DIR}}/lib/liblapack.a;-lgfortran" | |
cmake --build build --target install | |
- name: Configure testBLAS | |
run: > | |
cmake -B build -G Ninja | |
-D CMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} | |
-D Catch2_DIR=${{env.Catch2_DIR}} | |
-D blaspp_DIR=${{env.blaspp_DIR}} | |
- name: Build testBLAS | |
# Build your program with the given configuration | |
run: cmake --build build --config ${{env.BUILD_TYPE}} | |
# Mind that the job won't fail if only this step fails | |
- name: Run tests | |
working-directory: ${{github.workspace}}/build | |
continue-on-error: true | |
run: ctest -C ${{env.BUILD_TYPE}} --output-on-failure | |
test-openblas: | |
runs-on: ubuntu-latest | |
env: | |
CXXFLAGS: "-Wall -pedantic -D LAPACK_FORTRAN_ADD_" | |
steps: | |
- name: Checkout testBLAS | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
- name: Checkout Catch2 | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
with: | |
repository: catchorg/Catch2 | |
ref: 6e79e682b726f524310d55dec8ddac4e9c52fb5f # v3.4.0 | |
path: Catch2 | |
- name: Checkout BLAS++ | |
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 | |
with: | |
repository: icl-utk-edu/blaspp | |
ref: f8f983d5b45a8f366aae41fbe9888b14cbae20f8 # v2023.08.25 | |
path: blaspp | |
- name: Install ninja-build tool | |
uses: seanmiddleditch/gha-setup-ninja@16b940825621068d98711680b6c3ff92201f8fc0 # v3 | |
- name: Install OpenBLAS | |
run: sudo apt install libopenblas-dev | |
- name: Build and install BLAS++ | |
working-directory: ${{env.blaspp_DIR}} | |
run: | | |
cmake -B build -G Ninja -D CMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DBLA_VENDOR=OpenBLAS -Dbuild_tests=OFF -DCMAKE_INSTALL_PREFIX=${{env.blaspp_DIR}} | |
cmake --build build --target install | |
- name: Configure testBLAS | |
run: > | |
cmake -B build -G Ninja | |
-D CMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} | |
-D Catch2_DIR=${{env.Catch2_DIR}} | |
-D blaspp_DIR=${{env.blaspp_DIR}} | |
- name: Build testBLAS | |
# Build your program with the given configuration | |
run: cmake --build build --config ${{env.BUILD_TYPE}} | |
# Mind that the job won't fail if only this step fails | |
- name: Run tests | |
working-directory: ${{github.workspace}}/build | |
continue-on-error: true | |
run: ctest -C ${{env.BUILD_TYPE}} --output-on-failure |