Skip to content

reduce mpiexex to two cores as github action machines only have two now #362

reduce mpiexex to two cores as github action machines only have two now

reduce mpiexex to two cores as github action machines only have two now #362

Workflow file for this run

name: build-cmake-test
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
env:
SPEC_PATH: ${{ github.workspace }}
PYTHONPATH: ${{ github.workspace }}/Utilities/pythontools
OMPI_ALLOW_RUN_AS_ROOT: 1
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1
steps:
- uses: actions/checkout@v3
- name: Install prereqs
run: |
sudo apt-get update
sudo apt-get install gfortran mpi-default-bin mpi-default-dev libhdf5-103 libhdf5-dev libfftw3-bin libfftw3-dev libopenblas0-openmp libopenblas-dev
pip3 install --upgrade pip
pip3 install --user ninja cmake scipy
pip3 install --user numpy f90nml scikit-build scipy h5py matplotlib
- name: Build & Test
uses: ashutoshvarma/action-cmake-build@master
with:
build-dir: ${{ runner.workspace }}/build
build-type: Release
# Extra options pass to cmake while configuring project
configure-options: -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_Fortran_COMPILER=mpifort -DBLA_VENDOR=OpenBLAS -DHDF5_NO_FIND_PACKAGE_CONFIG_FILE=TRUE -DHDF5_PREFER_PARALLEL=TRUE -DCMAKE_INSTALL_PREFIX=${SPEC_PATH}/install -GNinja # -DCMAKE_INSTALL_PREFIX=${SPEC_PATH}/install
# install the build using cmake --install
install-build: true
#- name: compile_xspec
# run: |
# pip3 install ninja cmake
# cd ${SPEC_PATH}/build
# cmake -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_Fortran_COMPILER=mpifort -DBLA_VENDOR=OpenBLAS -DHDF5_NO_FIND_PACKAGE_CONFIG_FILE=TRUE -DHDF5_PREFER_PARALLEL=TRUE .. -GNinja -DCMAKE_INSTALL_PREFIX=${SPEC_PATH}/install
# cmake --build .
# cmake --install .
- name: run_fast_cartesian
run: |
cd ${SPEC_PATH}/ci/G1V03L2Fi
echo ${PYTHONPATH}
export OMP_NUM_THREADS=1
mpiexec -n 2 --allow-run-as-root xspec G1V03L2Fi.001.sp
python3 -m py_spec.ci.test compare.h5 G1V03L2Fi.001.sp.h5
- name: run_fast_cylinder
run: |
cd ${SPEC_PATH}/ci/G2V32L1Fi
echo ${PYTHONPATH}
export OMP_NUM_THREADS=1
mpiexec -n 2 --allow-run-as-root xspec G2V32L1Fi.001.sp
python3 -m py_spec.ci.test compare.h5 G2V32L1Fi.001.sp.h5
- name: toroidal_freeboundary_vacuum
run: |
cd ${SPEC_PATH}/ci/toroidal_freeboundary_vacuum
export OMP_NUM_THREADS=1
mpiexec -n 2 --allow-run-as-root xspec G3V02L0Fr_LU.sp
mpiexec -n 2 --allow-run-as-root xspec G3V02L0Fr.sp
python3 -m py_spec.ci.test compare.h5 G3V02L0Fr_LU.sp.h5 --tol 1e-11
python3 -m py_spec.ci.test compare.h5 G3V02L0Fr.sp.h5 --tol 1e-11
- name: current_constraint_fixed_boundary
run: |
cd ${SPEC_PATH}/ci/G3V08L3Fi
export OMP_NUM_THREADS=1
mpiexec -n 2 --allow-run-as-root xspec G3V08L3Fi.001.sp
python3 -m py_spec.ci.test compare.h5 G3V08L3Fi.001.sp.h5 --tol 1e-10
- name: current_constraint_free_boundary
run: |
cd ${SPEC_PATH}/ci/G3V08L3Fr
export OMP_NUM_THREADS=1
mpiexec -n 2 --allow-run-as-root xspec G3V08L3Fr.001.sp
python3 -m py_spec.ci.test compare.h5 G3V08L3Fr.001.sp.h5 --tol 1e-10