Skip to content

Commit

Permalink
Add new workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
loganoz committed Sep 18, 2023
1 parent 3fc9541 commit 693fa72
Showing 1 changed file with 299 additions and 0 deletions.
299 changes: 299 additions & 0 deletions .github/workflows/CI_sequential_intel_debug_multiphase.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,299 @@
# This is a basic workflow to help you get started with Actions

name: CI SEQUENTIAL INTEL DEBUG MULTIPHASE

########################################################################
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the master branch
#push:
# branches: [ master ]
#pull_request:
# branches: [ master ]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

#env:
# HDF5_ROOT : /usr/lib/x86_64-linux-gnu/hdf5/serial/
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest

# Define strategy matrix
strategy:
fail-fast: false
matrix:
compiler: ['ifort']
mode: ['DEBUG']
comm: ['SEQUENTIAL']
enable_threads: ['YES']
mkl: ['YES']

# Steps represent a sequence of tasks that will be executed as part of the job

steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3

# sudo apt-get install -qq pkg-config libhdf5-serial-dev
# - name: Install Linux packages
# run: |
# sudo apt-get update
# sudo apt install libhdf5-dev
# dpkg -L libhdf5-dev

# IF COMPILER = IFORT -> INSTALL IFORT #
- name: cache-intel-compilers
# if: (matrix.compiler == 'ifort')
id: cache-intel-compilers
uses: actions/cache@v3
with:
path: /opt/intel
key: intel-${{ runner.os }}-compilers-b

- name: Intel Apt repository
if: (steps.cache-intel-compilers.outputs.cache-hit != 'true')
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
rm GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt-get update
- name: Install Intel oneAPI
if: (steps.cache-intel-compilers.outputs.cache-hit != 'true')
run: sudo apt-get install intel-oneapi-compiler-fortran intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic intel-oneapi-mpi intel-oneapi-mpi-devel intel-oneapi-mkl ninja-build
# Runs a single command using the runners shell
##- name: Install gfortran
## run: |
## sudo add-apt-repository ppa:ubuntu-toolchain-r/test
## sudo apt update
## sudo apt-get install gfortran-9

##- name: Show gfortran version
## run: gfortran-9 --version

- name: Show ${{matrix.compiler}} version
run: |
source /opt/intel/oneapi/setvars.sh || true
printenv >> $GITHUB_ENV
${{matrix.compiler}} --version
- name: Configure
working-directory: ./Solver
run: ./configure

- name: Compile horses3d
working-directory: ./Solver
run: |
source /opt/intel/oneapi/setvars.sh || true
make allclean MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_MKL=${{matrix.mkl}}
make MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_MKL=${{matrix.mkl}}
########################################################################
####### MULTIPHASE ########
########################################################################
#
# 1) Convergence
# ----------------------------

- name: Build MultiphaseConvergence
working-directory: ./Solver/test/Multiphase/Convergence/SETUP
run: |
source /opt/intel/oneapi/setvars.sh || true
make MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_MKL=${{matrix.mkl}}
if: '!cancelled()'

- name: Run MultiphaseConvergence
working-directory: ./Solver/test/Multiphase/Convergence
run: |
source /opt/intel/oneapi/setvars.sh || true
./horses3d.mu Convergence.control
if: '!cancelled()'

#
# 2) RisingBubble
# ----------------------------

- name: Build MultiphaseRisingBubble
working-directory: ./Solver/test/Multiphase/RisingBubble/SETUP
run: |
source /opt/intel/oneapi/setvars.sh || true
make MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_MKL=${{matrix.mkl}}
if: '!cancelled()'

- name: Run MultiphaseRisingBubble
working-directory: ./Solver/test/Multiphase/RisingBubble
run: |
source /opt/intel/oneapi/setvars.sh || true
./horses3d.mu RisingBubble.control
if: '!cancelled()'

#
# 3) Pipe
# ----------------------------

- name: Build MultiphasePipe
working-directory: ./Solver/test/Multiphase/Pipe/SETUP
run: |
source /opt/intel/oneapi/setvars.sh || true
make MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_MKL=${{matrix.mkl}}
if: '!cancelled()'

- name: Run MultiphasePipe
working-directory: ./Solver/test/Multiphase/Pipe
run: |
source /opt/intel/oneapi/setvars.sh || true
./horses3d.mu AnnularFlow.control
if: '!cancelled()'

#
# 4) Entropy conserving test
# ----------------------------

- name: Build MultiphaseEntropyConservingTest
working-directory: ./Solver/test/Multiphase/EntropyConservingTest/SETUP
run: |
source /opt/intel/oneapi/setvars.sh || true
make MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_MKL=${{matrix.mkl}}
if: '!cancelled()'

- name: Run MultiphaseEntropyConservingTest
working-directory: ./Solver/test/Multiphase/EntropyConservingTest
run: |
source /opt/intel/oneapi/setvars.sh || true
./horses3d.mu EntropyConservingTest.control
if: '!cancelled()'

########################################################################
####### INCOMPRESSIBLE ########
########################################################################
#
# 1) Convergence
# ----------------------------

- name: Build iNS-Convergence
working-directory: ./Solver/test/IncompressibleNS/Convergence/SETUP
run: |
source /opt/intel/oneapi/setvars.sh || true
make MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_MKL=${{matrix.mkl}}
if: '!cancelled()'

- name: Run iNS-Convergence
working-directory: ./Solver/test/IncompressibleNS/Convergence
run: |
source /opt/intel/oneapi/setvars.sh || true
./horses3d.ins Convergence4P5.control
if: '!cancelled()'

#
# 2) Kovasznay
# ----------------------------

- name: Build iNS-Kovasznay
working-directory: ./Solver/test/IncompressibleNS/Kovasznay/SETUP
run: |
source /opt/intel/oneapi/setvars.sh || true
make MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_MKL=${{matrix.mkl}}
if: '!cancelled()'

- name: Run iNS-Kovasznay
working-directory: ./Solver/test/IncompressibleNS/Kovasznay
run: |
source /opt/intel/oneapi/setvars.sh || true
./horses3d.ins Kovasznay.control
if: '!cancelled()'

#
# 3) Lid driven cavity
# ----------------------------

- name: Build iNS-LidDrivenCavity
working-directory: ./Solver/test/IncompressibleNS/LidDrivenCavity/SETUP
run: |
source /opt/intel/oneapi/setvars.sh || true
make MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_MKL=${{matrix.mkl}}
if: '!cancelled()'

- name: Run iNS-LidDrivenCavity
working-directory: ./Solver/test/IncompressibleNS/LidDrivenCavity
run: |
source /opt/intel/oneapi/setvars.sh || true
./horses3d.ins LDCRe7500.control
if: '!cancelled()'

#
# 4) Taylor Green Vortex
# ----------------------------

- name: Build iNS-TaylorGreenVortex
working-directory: ./Solver/test/IncompressibleNS/TaylorGreen/SETUP
run: |
source /opt/intel/oneapi/setvars.sh || true
make MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_MKL=${{matrix.mkl}}
if: '!cancelled()'

- name: Run iNS-TaylorGreenVortex
working-directory: ./Solver/test/IncompressibleNS/TaylorGreen
run: |
source /opt/intel/oneapi/setvars.sh || true
./horses3d.ins TGV_Central.control
if: '!cancelled()'

#
# 5) Rayleigh-Taylor instability
# -------------------------------

- name: Build iNS-RayleighTaylor
working-directory: ./Solver/test/IncompressibleNS/RayleighTaylor/SETUP
run: |
source /opt/intel/oneapi/setvars.sh || true
make MODE=${{matrix.mode}} COMPILER=${{matrix.compiler}} COMM=${{matrix.comm}} ENABLE_THREADS=${{matrix.enable_threads}} WITH_MKL=${{matrix.mkl}}
if: '!cancelled()'

- name: Run iNS-RayleighTaylor
working-directory: ./Solver/test/IncompressibleNS/RayleighTaylor
run: |
source /opt/intel/oneapi/setvars.sh || true
./horses3d.ins RTI.control
if: '!cancelled()'



########################################################################
####### ADDONS ########
########################################################################
#
# 1) Mapping Result - horsesConverter
# --------------------------------------------
- name: Run horsesConverter_MappingResult
working-directory: ./Solver/test/AddOns/horsesConverter/MappingResult
run: |
source /opt/intel/oneapi/setvars.sh || true
./horsesConverter
if: '!cancelled()'

#
# 2) Horses Mesh to OpenFOAM - horsesConverter
# --------------------------------------------
- name: Run horsesConverter_HorsesMesh2OF
working-directory: ./Solver/test/AddOns/horsesConverter/HorsesMesh2OF
run: |
source /opt/intel/oneapi/setvars.sh || true
./horsesConverter
if: '!cancelled()'

#
# 3) OpenFOAM to Horses - horsesConverter
# --------------------------------------------
- name: Run horsesConverter_OF2Horses
working-directory: ./Solver/test/AddOns/horsesConverter/OF2Horses
run: |
source /opt/intel/oneapi/setvars.sh || true
OMP_NUM_THREADS=4 ./horsesConverter
if: '!cancelled()'

0 comments on commit 693fa72

Please sign in to comment.