Skip to content

Handle derived variables in get_variable() in makie_post_processing #1432

Handle derived variables in get_variable() in makie_post_processing

Handle derived variables in get_variable() in makie_post_processing #1432

Workflow file for this run

# Run tests in parallel to check for bugs that only show up on multiple processes
name: Run tests in parallel
on: [push, pull_request]
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macOS-latest]
include:
- julia_version: '1.8'
fail-fast: false
timeout-minutes: 90
steps:
- uses: actions/checkout@v2
- uses: mpi4py/setup-mpi@v1
with:
mpi: 'openmpi'
- uses: actions/setup-python@v2
- uses: julia-actions/setup-julia@v1
with:
version: ${{ matrix.julia_version }}
arch: x64
# Install a specific Plots.jl version, because the job hangs on macOS with
# [email protected]
- name: Pin dependency versions
if: matrix.os == 'macOS-latest'
run: julia --project -e 'using Pkg; Pkg.add([PackageSpec(name="Plots", version="1.24.3")])'
- uses: julia-actions/julia-buildpkg@v1
env:
# Use the system Python for PyCall - avoids library linking error on macOS
PYTHON: "${{ env.pythonLocation }}/bin/python"
- run: |
pip3 install --user matplotlib
julia --project -e 'using MPIPreferences; MPIPreferences.use_system_binary()'
julia --project -e 'using Pkg; Pkg.build("MPI"; verbose=true)'
julia -O3 --check-bounds=no precompile.jl --debug 1
# Need to use openmpi so that the following arguments work:
# * `--mca rmaps_base_oversubscribe 1` allows oversubscription (more processes
# than physical cores).
# * `--mca mpi_yield_when_idle 1` changes a setting to prevent excessively
# terrible performance when oversubscribing.
mpiexec -np 3 --mca rmaps_base_oversubscribe 1 julia --project=@. -Jmoment_kinetics.so -O3 --check-bounds=no test/runtests.jl --debug 1
mpiexec -np 4 --mca rmaps_base_oversubscribe 1 julia --project=@. -Jmoment_kinetics.so -O3 --check-bounds=no test/runtests.jl --debug 1
mpiexec -np 2 --mca rmaps_base_oversubscribe 1 julia --project=@. -Jmoment_kinetics.so -O3 --check-bounds=no test/runtests.jl --debug 1 --long
# Note: MPI.jl's default implementation is mpich, which has a similar option
# `--with-device=ch3:sock`, but that needs to be set when compiling mpich.
shell: bash