Skip to content

Каширин Александр. Задача 3. Вариант 5. Умножение разреженных матриц.… #18

Каширин Александр. Задача 3. Вариант 5. Умножение разреженных матриц.…

Каширин Александр. Задача 3. Вариант 5. Умножение разреженных матриц.… #18

Workflow file for this run

name: Build application
on: [push, pull_request]
jobs:
ubuntu-gcc-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Setup environment
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-12 g++-12
sudo apt-get install cppcheck ninja-build
sudo apt-get install mpich libmpich* mpi* openmpi-bin
sudo apt-get install libomp-dev
sudo apt-get install python3-pip
sudo python3 -m pip install --upgrade pip
sudo python3 -m pip install setuptools cpplint
sudo apt-get install valgrind
- name: Update submodules
run: git submodule update --init --recursive
- name: ccache
uses: hendrikmuhs/[email protected]
with:
key: ${{ github.job }}
- name: CMake configure
run: |
mkdir build
cd build
cmake -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STD=ON -D CMAKE_BUILD_TYPE=RELEASE ..
cd ..
env:
CC: gcc-12
CXX: g++-12
- name: Ninja build
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
cd build
ninja
cd ..
env:
CC: gcc-12
CXX: g++-12
- name: Run tests
run: |
export OMP_NUM_THREADS=4
source scripts/run.sh
ubuntu-clang-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Setup environment
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install clang-14
sudo apt-get install cppcheck ninja-build
sudo apt-get install mpich libmpich* mpi* openmpi-bin
sudo apt-get install libomp-dev
sudo apt-get install python3-pip
sudo python3 -m pip install --upgrade pip
sudo python3 -m pip install setuptools cpplint
sudo apt-get install valgrind
sudo apt-get remove libstdc++-13-dev
sudo apt-get remove libhwasan0
- name: Update submodules
run: git submodule update --init --recursive
- name: ccache
uses: hendrikmuhs/[email protected]
with:
key: ${{ github.job }}
- name: CMake configure
run: |
mkdir build
cd build
cmake -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STD=ON -D CMAKE_BUILD_TYPE=RELEASE ..
cd ..
env:
CC: clang-14
CXX: clang++-14
- name: Ninja build
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
cd build
ninja
cd ..
env:
CC: clang-14
CXX: clang++-14
- name: Run tests
run: |
export OMP_NUM_THREADS=4
source scripts/run.sh
# macos-clang-build:
# runs-on: macOS-latest
# steps:
# - uses: actions/checkout@v1
# - name: Setup environment
# run: |
# rm '/usr/local/bin/2to3' '/usr/local/bin/2to3-3.11' '/usr/local/bin/idle3.11' '/usr/local/bin/idle3'
# rm '/usr/local/bin/pydoc3.11' '/usr/local/bin/pydoc3' '/usr/local/bin/python3.11' '/usr/local/bin/python3'
# rm '/usr/local/bin/python3.11-config' '/usr/local/bin/python3-config'
# brew update-reset
# brew install cppcheck ninja
# brew install openssl
# brew link --force openssl
# brew install mpich llvm libomp
# brew link --overwrite [email protected]
# /usr/local/bin/python3.10 -m pip install --upgrade pip
# /usr/local/bin/python3.10 -m pip install setuptools cpplint
# - name: Update submodules
# run: git submodule update --init --recursive
# - name: ccache
# uses: hendrikmuhs/[email protected]
# with:
# key: ${{ github.job }}
# - name: CMake configure
# run: |
# export LDFLAGS="$LDFLAGS -L/usr/local/opt/openssl/lib"
# export CFLAGS="$CFLAGS -I/usr/local/opt/openssl/include"
# export CXXFLAGS="$CXXFLAGS -I/usr/local/opt/openssl/include"
# export CPPFLAGS="$CPPFLAGS -I/usr/local/opt/openssl/include"
# export PATH="/usr/local/opt/openssl/bin:$PATH"
# export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig"
# mkdir build
# cd build
# cmake -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache -G Ninja -D USE_SEQ=ON -D USE_MPI=OFF -D USE_OMP=ON -D USE_TBB=ON -D USE_STD=ON -D CMAKE_BUILD_TYPE=RELEASE \
# -DOpenMP_CXX_FLAGS="-Xclang -fopenmp -I/usr/local/opt/libomp/include" \
# -DOpenMP_C_FLAGS="-Xclang -fopenmp -I/usr/local/opt/libomp/include" \
# -DOpenMP_CXX_FLAGS="-Xclang -fopenmp -I/usr/local/opt/libomp/include" \
# -DOpenMP_C_FLAGS="-Xclang -fopenmp -I/usr/local/opt/libomp/include" \
# -DOpenMP_CXX_LIB_NAMES=libomp -DOpenMP_C_LIB_NAMES=libomp \
# -DOpenMP_libomp_LIBRARY=/usr/local/opt/libomp/lib/libomp.dylib \
# -DCMAKE_SHARED_LINKER_FLAGS="-L/usr/local/opt/libomp/lib -lomp -Wl,-rpath,/usr/local/opt/libomp/lib" ..
# - name: Ninja build
# run: |
# export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
# export LDFLAGS="$LDFLAGS -L/usr/local/opt/openssl/lib"
# export CFLAGS="$CFLAGS -I/usr/local/opt/openssl/include"
# export CXXFLAGS="$CXXFLAGS -I/usr/local/opt/openssl/include"
# export CPPFLAGS="$CPPFLAGS -I/usr/local/opt/openssl/include"
# export PATH="/usr/local/opt/openssl/bin:$PATH"
# export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig"
# cd build
# ninja
# cd ..
# - name: Run tests
# run: |
# export OMP_NUM_THREADS=4
# source scripts/run_mac.sh
windows-msvc-build:
runs-on: windows-latest
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v1
- name: Add msbuild to PATH
uses: microsoft/[email protected]
- name: Setup MPI
uses: mpi4py/setup-mpi@v1
with:
mpi: msmpi
- name: Download dependencies
run: |
choco install openssl
- name: Update submodules
run: git submodule update --init --recursive
- name: Setup ccache
uses: Chocobo1/setup-ccache-action@v1
with:
windows_compile_environment: msvc
- name: CMake configure
shell: bash
run: |
mkdir build
cd build
cmake -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=OFF -D USE_STD=ON -D CMAKE_BUILD_TYPE=RELEASE ..
cd ..
- name: MSBuild
shell: bash
run: |
cd build
cmake --build . --config Release --parallel
cd ..
- name: Run tests
run: |
set OMP_NUM_THREADS=4
scripts/run.bat