Kratos Rotating Frame Process #20920
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: CI | |
on: | |
pull_request: | |
branches: | |
- master | |
paths-ignore: # This must be the same as .github/workflows/ci_dummy.yml - "paths" ! | |
- '**.md' | |
- 'documents/**' | |
- 'scripts/**' # Docker builds will be triggered by `build_docker_image_****.yml` workflows. | |
- '.github/workflows/ci-dummy.yml' | |
- '.github/workflows/build_docker_image*.yml' | |
- '.github/workflows/nightly_build.yml' | |
- 'kratos/templates/**' | |
- 'kratos/python_scripts/application_generator/**' | |
- 'docs/**' | |
- '.github/workflows/jekyll-gh-pages.yml' | |
workflow_dispatch: | |
# for cancelling redundant runs | |
concurrency: | |
group: ci-${{ github.head_ref }} | |
cancel-in-progress: true | |
permissions: | |
contents: read | |
jobs: | |
ubuntu: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
build-type: [Custom, FullDebug] | |
compiler: [gcc, clang] | |
env: | |
KRATOS_BUILD_TYPE: ${{ matrix.build-type }} | |
OMPI_MCA_rmaps_base_oversubscribe: 1 # Allow oversubscription for MPI (needed for OpenMPI >= 3.0) | |
OMPI_MCA_btl_vader_single_copy_mechanism: none # suppressing some annoying OpenMPI messages | |
container: | |
image: kratosmultiphysics/kratos-image-ci-ubuntu-22-04:latest | |
options: --user 1001 | |
steps: | |
- uses: actions/checkout@v4 | |
# - name: Installing dependencies | |
# => must be added to the docker container to avoid reinstalling it in every CI run | |
- name: Build | |
shell: bash | |
run: | | |
if [ ${{ matrix.compiler }} = gcc ]; then | |
export CC=/usr/bin/gcc-12 | |
export CXX=/usr/bin/g++-12 | |
export KRATOS_CMAKE_OPTIONS_FLAGS="-DUSE_EIGEN_MKL=ON -DUSE_EIGEN_FEAST=ON -DTRILINOS_EXCLUDE_AMESOS2_SOLVER=OFF -DMMG_ROOT=/external_libraries/mmg/mmg_5_5_1/ -DPMMG_ROOT=/external_libraries/ParMmg_5ffc6ad -DINCLUDE_PMMG=ON" | |
export KRATOS_CMAKE_CXX_FLAGS="-Werror -Wno-deprecated-declarations -Wignored-qualifiers" | |
elif [ ${{ matrix.compiler }} = clang ]; then | |
export CC=/usr/bin/clang-14 | |
export CXX=/usr/bin/clang++-14 | |
export KRATOS_CMAKE_CXX_FLAGS="-Werror -Wno-deprecated-declarations" | |
export KRATOS_CMAKE_OPTIONS_FLAGS="-DTRILINOS_EXCLUDE_AMESOS2_SOLVER=OFF -DMMG_ROOT=/external_libraries/mmg/mmg_5_5_1/" | |
else | |
echo 'Unsupported compiler: ${{ matrix.compiler }}' | |
exit 1 | |
fi | |
source /opt/intel/oneapi/setvars.sh | |
cp .github/workflows/configure.sh configure.sh | |
bash configure.sh | |
- name: Running python tests | |
shell: bash | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/${{ matrix.build-type }} | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/${{ matrix.build-type }}/libs | |
python3 kratos/python_scripts/testing/run_tests.py -v 2 -l nightly -c python3 | |
- name: Prepare Parallel Env | |
shell: bash | |
run: | | |
echo "localhost slots=2" >> ${GITHUB_WORKSPACE}/ci_hostfile | |
- name: Running MPI C++ tests (2 Cores) | |
shell: bash | |
timeout-minutes : 10 | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/${{ matrix.build-type }} | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/${{ matrix.build-type }}/libs | |
mpiexec -np 2 --hostfile ${GITHUB_WORKSPACE}/ci_hostfile python3 kratos/python_scripts/testing/run_cpp_mpi_tests.py --using-mpi | |
- name: Running MPI C++ tests (3 Cores) | |
shell: bash | |
timeout-minutes : 10 | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/${{ matrix.build-type }} | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/${{ matrix.build-type }}/libs | |
mpiexec -np 3 --hostfile ${GITHUB_WORKSPACE}/ci_hostfile python3 kratos/python_scripts/testing/run_cpp_mpi_tests.py --using-mpi | |
- name: Running MPI C++ tests (4 Cores) | |
shell: bash | |
timeout-minutes : 10 | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/${{ matrix.build-type }} | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/${{ matrix.build-type }}/libs | |
mpiexec -np 4 --hostfile ${GITHUB_WORKSPACE}/ci_hostfile python3 kratos/python_scripts/testing/run_cpp_mpi_tests.py --using-mpi | |
- name: Running Python MPI tests (2 Cores) | |
shell: bash | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export OMP_NUM_THREADS=1 | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/${{ matrix.build-type }} | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/${{ matrix.build-type }}/libs | |
python3 kratos/python_scripts/testing/run_python_mpi_tests.py -l mpi_nightly -n 2 --mpi_flags="--hostfile ${GITHUB_WORKSPACE}/ci_hostfile" | |
- name: Running Python MPI tests (3 Cores) | |
shell: bash | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export OMP_NUM_THREADS=1 | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/${{ matrix.build-type }} | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/${{ matrix.build-type }}/libs | |
python3 kratos/python_scripts/testing/run_python_mpi_tests.py -l mpi_nightly -n 3 --mpi_flags="--hostfile ${GITHUB_WORKSPACE}/ci_hostfile" | |
- name: Running Python MPI tests (4 Cores) | |
shell: bash | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export OMP_NUM_THREADS=1 | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/${{ matrix.build-type }} | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/${{ matrix.build-type }}/libs | |
python3 kratos/python_scripts/testing/run_python_mpi_tests.py -l mpi_nightly -n 4 --mpi_flags="--hostfile ${GITHUB_WORKSPACE}/ci_hostfile" | |
windows: | |
runs-on: windows-2022 | |
env: | |
KRATOS_BUILD_TYPE: Custom | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '3.8' | |
- name: Download boost | |
run: | | |
$url = "https://boostorg.jfrog.io/artifactory/main/release/1.74.0/source/boost_1_74_0.tar.gz" | |
(New-Object System.Net.WebClient).DownloadFile($url, "$env:TEMP\boost.tar.gz") | |
7z.exe x "$env:TEMP\boost.tar.gz" -o"$env:TEMP\boostArchive" -y | Out-Null | |
7z.exe x "$env:TEMP\boostArchive" -o"$env:TEMP\boost" -y | Out-Null | |
- name: Installing dependencies | |
shell: cmd | |
run: | | |
pip install numpy | |
pip install sympy | |
pip install scipy | |
pip install h5py | |
pip install parameterized | |
- name: Build | |
shell: cmd | |
run: | | |
copy .\.github\workflows\configure.cmd | |
configure.cmd | |
- name: Running python tests | |
shell: cmd | |
run: | | |
set PYTHONPATH=%PYTHONPATH%;%GITHUB_WORKSPACE%/bin/%KRATOS_BUILD_TYPE% | |
set PATH=%PATH%;%GITHUB_WORKSPACE%/bin/%KRATOS_BUILD_TYPE%/libs | |
python kratos/python_scripts/testing/run_tests.py -l nightly -c python | |
centos: | |
runs-on: ubuntu-latest | |
env: | |
KRATOS_BUILD_TYPE: Custom | |
container: | |
image: kratosmultiphysics/kratos-image-ci-centos7:latest | |
options: --user 1001 | |
steps: | |
- uses: actions/checkout@v3 | |
# - name: Installing dependencies | |
# => must be added to the docker container to avoid reinstalling it in every CI run | |
- name: Build | |
run: | | |
export KRATOS_CMAKE_CXX_FLAGS="-Werror -Wno-deprecated-declarations -Wignored-qualifiers" | |
cp .github/workflows/centos_configure.sh centos_configure.sh | |
bash centos_configure.sh | |
- name: Running python tests | |
run: | | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/Custom | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/Custom/libs | |
python3.8 kratos/python_scripts/testing/run_tests.py -l nightly -c python3.8 | |
ubuntu-core-without-unity: | |
runs-on: ubuntu-latest | |
env: | |
KRATOS_BUILD_TYPE: Custom | |
OMPI_MCA_rmaps_base_oversubscribe: 1 # Allow oversubscription for MPI (needed for OpenMPI >= 3.0) | |
container: | |
image: kratosmultiphysics/kratos-image-ci-ubuntu-22-04:latest | |
options: --user 1001 | |
env: | |
CCACHE_SLOPPINESS: pch_defines,time_macros | |
CCACHE_COMPILERCHECK: content | |
CCACHE_COMPRESS: true | |
CCACHE_NODISABLE: true | |
CCACHE_MAXSIZE: 500M | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Cache Build | |
id: cache-build | |
uses: actions/cache@v3 | |
with: | |
path: ~/.ccache | |
key: ${{ runner.os }}-no-unity-ccache-${{ github.sha }} | |
restore-keys: ${{ runner.os }}-no-unity-ccache- | |
- name: Build | |
shell: bash | |
run: | | |
export CC=/usr/lib/ccache/clang-14 | |
export CXX=/usr/lib/ccache/clang++-14 | |
export KRATOS_SOURCE="${KRATOS_SOURCE:-${PWD}}" | |
export KRATOS_BUILD="${KRATOS_SOURCE}/build" | |
export KRATOS_APP_DIR="${KRATOS_SOURCE}/applications" | |
export PYTHON_EXECUTABLE="/usr/bin/python3.10" | |
export KRATOS_INSTALL_PYTHON_USING_LINKS=ON | |
add_app () { | |
export KRATOS_APPLICATIONS="${KRATOS_APPLICATIONS}$1;" | |
} | |
add_app ${KRATOS_APP_DIR}/LinearSolversApplication; | |
add_app ${KRATOS_APP_DIR}/MetisApplication; | |
add_app ${KRATOS_APP_DIR}/TrilinosApplication; | |
source /opt/intel/oneapi/setvars.sh | |
# Configure | |
cmake -H"${KRATOS_SOURCE}" -B"${KRATOS_BUILD}/${KRATOS_BUILD_TYPE}" \ | |
-DUSE_MPI=ON \ | |
-DTRILINOS_INCLUDE_DIR="/usr/include/trilinos" \ | |
-DTRILINOS_LIBRARY_DIR="/usr/lib/x86_64-linux-gnu" \ | |
-DTRILINOS_LIBRARY_PREFIX="trilinos_" \ | |
-DKRATOS_USE_PCH=ON \ | |
-DINSTALL_RUNKRATOS=OFF | |
# Build | |
cmake --build "${KRATOS_BUILD}/${KRATOS_BUILD_TYPE}" --target install -- -j2 | |
ccache -s | |
- name: Running python tests | |
shell: bash | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/Custom | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/Custom/libs | |
python3 kratos/python_scripts/testing/run_tests.py -l nightly -c python3 | |
- name: Running MPI C++ tests (2 Cores) | |
shell: bash | |
timeout-minutes : 10 | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/Custom | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/Custom/libs | |
mpiexec -np 2 python3 kratos/python_scripts/testing/run_cpp_mpi_tests.py --using-mpi | |
- name: Running MPI C++ tests (3 Cores) | |
shell: bash | |
timeout-minutes : 10 | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/Custom | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/Custom/libs | |
mpiexec -np 3 python3 kratos/python_scripts/testing/run_cpp_mpi_tests.py --using-mpi | |
- name: Running MPI C++ tests (4 Cores) | |
shell: bash | |
timeout-minutes : 10 | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/Custom | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/Custom/libs | |
mpiexec -np 4 python3 kratos/python_scripts/testing/run_cpp_mpi_tests.py --using-mpi | |
- name: Running Python MPI tests (2 Cores) | |
shell: bash | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/Custom | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/Custom/libs | |
python3 kratos/python_scripts/testing/run_python_mpi_tests.py -l mpi_nightly -n 2 | |
- name: Running Python MPI tests (3 Cores) | |
shell: bash | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/Custom | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/Custom/libs | |
python3 kratos/python_scripts/testing/run_python_mpi_tests.py -l mpi_nightly -n 3 | |
- name: Running Python MPI tests (4 Cores) | |
shell: bash | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/Custom | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/Custom/libs | |
python3 kratos/python_scripts/testing/run_python_mpi_tests.py -l mpi_nightly -n 4 | |
windows-core-without-unity: | |
runs-on: windows-2022 | |
env: | |
KRATOS_BUILD_TYPE: Custom | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '3.8' | |
- name: Download boost | |
run: | | |
$url = "https://boostorg.jfrog.io/artifactory/main/release/1.74.0/source/boost_1_74_0.tar.gz" | |
(New-Object System.Net.WebClient).DownloadFile($url, "$env:TEMP\boost.tar.gz") | |
7z.exe x "$env:TEMP\boost.tar.gz" -o"$env:TEMP\boostArchive" -y | Out-Null | |
7z.exe x "$env:TEMP\boostArchive" -o"$env:TEMP\boost" -y | Out-Null | |
- name: Installing dependencies | |
shell: cmd | |
run: | | |
pip install numpy | |
pip install sympy | |
pip install scipy | |
- name: Build | |
shell: cmd | |
run: | | |
call "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 || goto :error | |
set CC=cl.exe | |
set CXX=cl.exe | |
set KRATOS_SOURCE=%cd% | |
set KRATOS_BUILD=%cd%\build | |
set KRATOS_APP_DIR=applications | |
set KRATOS_APPLICATIONS=%KRATOS_APP_DIR%\LinearSolversApplication; | |
del /F /Q "%KRATOS_BUILD%\%KRATOS_BUILD_TYPE%\cmake_install.cmake" | |
del /F /Q "%KRATOS_BUILD%\%KRATOS_BUILD_TYPE%\CMakeCache.txt" | |
del /F /Q "%KRATOS_BUILD%\%KRATOS_BUILD_TYPE%\CMakeFiles" | |
cmake ^ | |
-G"Visual Studio 17 2022" ^ | |
-H"%KRATOS_SOURCE%" ^ | |
-B"%KRATOS_BUILD%\%KRATOS_BUILD_TYPE%" ^ | |
-DBOOST_ROOT="%TEMP%\boost" ^ | |
-DINSTALL_RUNKRATOS=OFF ^ | |
-DCMAKE_CXX_FLAGS="/Od /we4661 /we4804 /WX /wd4996" ^ | |
-DKRATOS_USE_PCH=ON ^ | |
-DFORCE_LOCAL_ZLIB_COMPILATION=ON || goto :error | |
cmake --build "%KRATOS_BUILD%\%KRATOS_BUILD_TYPE%" --target all_build -- /property:configuration=%KRATOS_BUILD_TYPE% /p:Platform=x64 || goto :error | |
cmake --build "%KRATOS_BUILD%\%KRATOS_BUILD_TYPE%" --target install -- /property:configuration=%KRATOS_BUILD_TYPE% /p:Platform=x64 || goto :error | |
goto :EOF | |
:error | |
echo Failed with error #%errorlevel%. | |
exit /b %errorlevel% | |
- name: Running python tests | |
shell: cmd | |
run: | | |
set PYTHONPATH=%PYTHONPATH%;%GITHUB_WORKSPACE%/bin/%KRATOS_BUILD_TYPE% | |
set PATH=%PATH%;%GITHUB_WORKSPACE%/bin/%KRATOS_BUILD_TYPE%/libs | |
python kratos/python_scripts/testing/run_tests.py -l nightly -c python | |
ubuntu-intel-legacy: | |
runs-on: ubuntu-latest | |
env: | |
KRATOS_BUILD_TYPE: Custom | |
OMPI_MCA_rmaps_base_oversubscribe: 1 # Allow oversubscription for MPI (needed for OpenMPI >= 3.0) | |
OMPI_MCA_btl_vader_single_copy_mechanism: none # suppressing some annoying OpenMPI messages | |
container: | |
image: kratosmultiphysics/kratos-image-ci-ubuntu-22-04:latest | |
options: --user 1001 | |
steps: | |
- uses: actions/checkout@v4 | |
# - name: Installing dependencies | |
# => must be added to the docker container to avoid reinstalling it in every CI run | |
- name: Build | |
shell: bash | |
run: | | |
export CC=icc | |
export CXX=icpc | |
source /opt/intel/oneapi/setvars.sh | |
cp .github/workflows/intel_configure.sh configure.sh | |
bash configure.sh | |
- name: Running python tests | |
shell: bash | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/Custom | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/Custom/libs | |
python3 kratos/python_scripts/testing/run_tests.py -l nightly -c python3 | |
- name: Running MPI C++ tests (2 Cores) | |
shell: bash | |
timeout-minutes : 10 | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/Custom | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/Custom/libs | |
mpiexec -np 2 python3 kratos/python_scripts/testing/run_cpp_mpi_tests.py --using-mpi | |
- name: Running MPI C++ tests (3 Cores) | |
shell: bash | |
timeout-minutes : 10 | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/Custom | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/Custom/libs | |
mpiexec -np 3 python3 kratos/python_scripts/testing/run_cpp_mpi_tests.py --using-mpi | |
- name: Running MPI C++ tests (4 Cores) | |
shell: bash | |
timeout-minutes : 10 | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/Custom | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/Custom/libs | |
mpiexec -np 4 python3 kratos/python_scripts/testing/run_cpp_mpi_tests.py --using-mpi | |
- name: Running Python MPI tests (2 Cores) | |
shell: bash | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/Custom | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/Custom/libs | |
python3 kratos/python_scripts/testing/run_python_mpi_tests.py -l mpi_nightly -n 2 | |
- name: Running Python MPI tests (3 Cores) | |
shell: bash | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/Custom | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/Custom/libs | |
python3 kratos/python_scripts/testing/run_python_mpi_tests.py -l mpi_nightly -n 3 | |
- name: Running Python MPI tests (4 Cores) | |
shell: bash | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/Custom | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/Custom/libs | |
python3 kratos/python_scripts/testing/run_python_mpi_tests.py -l mpi_nightly -n 4 | |
ubuntu-intel: | |
runs-on: ubuntu-latest | |
env: | |
KRATOS_BUILD_TYPE: Custom | |
OMPI_MCA_rmaps_base_oversubscribe: 1 # Allow oversubscription for MPI (needed for OpenMPI >= 3.0) | |
OMPI_MCA_btl_vader_single_copy_mechanism: none # suppressing some annoying OpenMPI messages | |
container: | |
image: kratosmultiphysics/kratos-image-ci-ubuntu-22-04:latest | |
options: --user 1001 | |
steps: | |
- uses: actions/checkout@v4 | |
# - name: Installing dependencies | |
# => must be added to the docker container to avoid reinstalling it in every CI run | |
- name: Build | |
shell: bash | |
run: | | |
export CC=icx | |
export CXX=icpx | |
source /opt/intel/oneapi/setvars.sh | |
cp .github/workflows/intel_configure.sh configure.sh | |
bash configure.sh | |
- name: Running python tests | |
shell: bash | |
continue-on-error: true # TODO segfaults in cpp-tests | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/Custom | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/Custom/libs | |
python3 kratos/python_scripts/testing/run_tests.py -l nightly -c python3 | |
- name: Running MPI C++ tests (2 Cores) | |
shell: bash | |
timeout-minutes : 10 | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/Custom | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/Custom/libs | |
mpiexec -np 2 python3 kratos/python_scripts/testing/run_cpp_mpi_tests.py --using-mpi | |
- name: Running MPI C++ tests (3 Cores) | |
shell: bash | |
timeout-minutes : 10 | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/Custom | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/Custom/libs | |
mpiexec -np 3 python3 kratos/python_scripts/testing/run_cpp_mpi_tests.py --using-mpi | |
- name: Running MPI C++ tests (4 Cores) | |
shell: bash | |
timeout-minutes : 10 | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/Custom | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/Custom/libs | |
mpiexec -np 4 python3 kratos/python_scripts/testing/run_cpp_mpi_tests.py --using-mpi | |
- name: Running Python MPI tests (2 Cores) | |
shell: bash | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export OMP_NUM_THREADS=1 | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/Custom | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/Custom/libs | |
python3 kratos/python_scripts/testing/run_python_mpi_tests.py -l mpi_nightly -n 2 | |
- name: Running Python MPI tests (3 Cores) | |
shell: bash | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export OMP_NUM_THREADS=1 | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/Custom | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/Custom/libs | |
python3 kratos/python_scripts/testing/run_python_mpi_tests.py -l mpi_nightly -n 3 | |
- name: Running Python MPI tests (4 Cores) | |
shell: bash | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
export OMP_NUM_THREADS=1 | |
export PYTHONPATH=${PYTHONPATH}:${GITHUB_WORKSPACE}/bin/Custom | |
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GITHUB_WORKSPACE}/bin/Custom/libs | |
python3 kratos/python_scripts/testing/run_python_mpi_tests.py -l mpi_nightly -n 4 |