Skip to content

Commit

Permalink
Merge pull request #162 from mabarnes/merge_fkpl_collisions-merge-master
Browse files Browse the repository at this point in the history
Merge master branch into merge_fkpl_collisions
  • Loading branch information
johnomotani authored Nov 26, 2023
2 parents 6045a81 + b1d73e5 commit c9a3766
Show file tree
Hide file tree
Showing 205 changed files with 7,412 additions and 2,447 deletions.
191 changes: 9 additions & 182 deletions .github/workflows/debug_checks.yml
Original file line number Diff line number Diff line change
@@ -1,113 +1,26 @@
# Based on example from https://github.com/julia-actions/julia-runtest
name: Debug checks for correctness

on: [push, pull_request]
on: [push, pull_request, workflow_dispatch]

jobs:
# The commented out job would run all debug checks, but they are slow so it
# is better to run each type in a separate job so that the separate jobs can
# run at the same time
#debug-checks:
# runs-on: ${{ matrix.os }}
# strategy:
# matrix:
# # Only run on linux to save CI server cpu-hours
# os: [ubuntu-latest]
# fail-fast: false
# timeout-minutes: 240

# 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: '1.8'
# arch: x64
# - uses: julia-actions/julia-buildpkg@v1
# env:
# # Use the system Python for PyCall - avoids library linking error on macOS
# PYTHON: "${{ env.pythonLocation }}/bin/python"
# name: Debug test
# run: |
# # Hard code the debug level so that we can run without using the
# # `--compiled-modules=no` flag, which breaks Symbolics.jl at the
# # moment.
# sed -i -e "s/_debug_level = get_options.*/_debug_level = 2/" src/debugging.jl

# pip3 install --user matplotlib
# julia --project -e 'using MPIPreferences; MPIPreferences.use_system_binary()'
# julia --project -e 'using Pkg; Pkg.build("MPI"; verbose=true)'

# # 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.
# ## Don't use --compiled-modules=no for now, as it currently breaks Symbolics.jl
# #mpiexec -np 4 --mca rmaps_base_oversubscribe 1 julia --project --check-bounds=yes --compiled-modules=no debug_test/runtests.jl --debug 3
# mpiexec -np 4 --mca rmaps_base_oversubscribe 1 julia --project --check-bounds=yes debug_test/runtests.jl --debug 3

debug-checks-sound-wave:
debug-checks:
runs-on: ${{ matrix.os }}
strategy:
matrix:
# Only run on linux to save CI server cpu-hours
os: [ubuntu-latest]
fail-fast: false
timeout-minutes: 240
timeout-minutes: 360

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: mpi4py/setup-mpi@v1
with:
mpi: 'openmpi'
- uses: actions/setup-python@v2
- uses: julia-actions/setup-julia@v1
- uses: actions/setup-python@v4
with:
version: '1.8'
arch: x64
- uses: julia-actions/julia-buildpkg@v1
env:
# Use the system Python for PyCall - avoids library linking error on macOS
PYTHON: "${{ env.pythonLocation }}/bin/python"
- name: Debug test sound-wave
run: |
# Hard code the debug level so that we can run without using the
# `--compiled-modules=no` flag, which breaks Symbolics.jl at the
# moment.
sed -i -e "s/_debug_level = get_options.*/_debug_level = 2/" src/debugging.jl
pip3 install --user matplotlib
julia --project -e 'using MPIPreferences; MPIPreferences.use_system_binary()'
julia --project -e 'using Pkg; Pkg.build("MPI"; verbose=true)'
# 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.
## Don't use --compiled-modules=no for now, as it currently breaks Symbolics.jl
#mpiexec -np 4 --mca rmaps_base_oversubscribe 1 julia --project --check-bounds=yes --compiled-modules=no debug_test/sound_wave_tests.jl --debug 2
mpiexec -np 4 --mca rmaps_base_oversubscribe 1 julia --project --check-bounds=yes debug_test/sound_wave_tests.jl --debug 2
debug-checks-wall-bc:
runs-on: ${{ matrix.os }}
strategy:
matrix:
# Only run on linux to save CI server cpu-hours
os: [ubuntu-latest]
fail-fast: false
timeout-minutes: 240

steps:
- uses: actions/checkout@v2
- uses: mpi4py/setup-mpi@v1
with:
mpi: 'openmpi'
- uses: actions/setup-python@v2
python-version: '3.11'
- uses: julia-actions/setup-julia@v1
with:
version: '1.8'
Expand All @@ -116,7 +29,7 @@ jobs:
env:
# Use the system Python for PyCall - avoids library linking error on macOS
PYTHON: "${{ env.pythonLocation }}/bin/python"
- name: Debug test wall-bc
- name: Debug test
run: |
# Hard code the debug level so that we can run without using the
# `--compiled-modules=no` flag, which breaks Symbolics.jl at the
Expand All @@ -133,91 +46,5 @@ jobs:
# * `--mca mpi_yield_when_idle 1` changes a setting to prevent excessively
# terrible performance when oversubscribing.
## Don't use --compiled-modules=no for now, as it currently breaks Symbolics.jl
#mpiexec -np 4 --mca rmaps_base_oversubscribe 1 julia --project --check-bounds=yes --compiled-modules=no debug_test/wall_bc_tests.jl --debug 2
mpiexec -np 4 --mca rmaps_base_oversubscribe 1 julia --project --check-bounds=yes debug_test/wall_bc_tests.jl --debug 2
debug-checks-harrisonthompson:
runs-on: ${{ matrix.os }}
strategy:
matrix:
# Only run on linux to save CI server cpu-hours
os: [ubuntu-latest]
fail-fast: false
timeout-minutes: 240

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: '1.8'
arch: x64
- uses: julia-actions/julia-buildpkg@v1
env:
# Use the system Python for PyCall - avoids library linking error on macOS
PYTHON: "${{ env.pythonLocation }}/bin/python"
- name: Debug test Harrison-Thompson
run: |
# Hard code the debug level so that we can run without using the
# `--compiled-modules=no` flag, which breaks Symbolics.jl at the
# moment.
sed -i -e "s/_debug_level = get_options.*/_debug_level = 2/" src/debugging.jl
pip3 install --user matplotlib
julia --project -e 'using MPIPreferences; MPIPreferences.use_system_binary()'
julia --project -e 'using Pkg; Pkg.build("MPI"; verbose=true)'
# 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.
## Don't use --compiled-modules=no for now, as it currently breaks Symbolics.jl
#mpiexec -np 4 --mca rmaps_base_oversubscribe 1 julia --project --check-bounds=yes --compiled-modules=no debug_test/harrisonthompson.jl --debug 2
mpiexec -np 4 --mca rmaps_base_oversubscribe 1 julia --project --check-bounds=yes debug_test/harrisonthompson.jl --debug 2
debug-checks-mms:
runs-on: ${{ matrix.os }}
strategy:
matrix:
# Only run on linux to save CI server cpu-hours
os: [ubuntu-latest]
fail-fast: false
timeout-minutes: 240

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: '1.8'
arch: x64
- uses: julia-actions/julia-buildpkg@v1
env:
# Use the system Python for PyCall - avoids library linking error on macOS
PYTHON: "${{ env.pythonLocation }}/bin/python"
- name: Debug test MMS
run: |
# Hard code the debug level so that we can run without using the
# `--compiled-modules=no` flag, which breaks Symbolics.jl at the
# moment.
sed -i -e "s/_debug_level = get_options.*/_debug_level = 2/" src/debugging.jl
pip3 install --user matplotlib
julia --project -e 'using MPIPreferences; MPIPreferences.use_system_binary()'
julia --project -e 'using Pkg; Pkg.build("MPI"; verbose=true)'
# 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.
## Don't use --compiled-modules=no for now, as it currently breaks Symbolics.jl
#mpiexec -np 4 --mca rmaps_base_oversubscribe 1 julia --project --check-bounds=yes --compiled-modules=no debug_test/mms_tests.jl --debug 2
mpiexec -np 4 --mca rmaps_base_oversubscribe 1 julia --project --check-bounds=yes debug_test/mms_tests.jl --debug 2
#mpiexec -np 4 --mca rmaps_base_oversubscribe 1 julia --project --check-bounds=yes --compiled-modules=no debug_test/sound_wave_tests.jl --debug 2
mpiexec -np 4 --mca rmaps_base_oversubscribe 1 julia --project --check-bounds=yes debug_test/runtests.jl --debug 2
2 changes: 1 addition & 1 deletion .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@latest
with:
version: '1.8'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/documentation_cleanup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout gh-pages branch
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
ref: gh-pages
- name: Delete preview and history + push changes
Expand Down
10 changes: 6 additions & 4 deletions .github/workflows/examples.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Based on example from https://github.com/julia-actions/julia-runtest
name: Check examples

on: [push, pull_request]
on: [push, pull_request, workflow_dispatch]

jobs:
examples:
Expand All @@ -10,11 +10,13 @@ jobs:
matrix:
os: [ubuntu-latest, macOS-latest]
fail-fast: false
timeout-minutes: 25
timeout-minutes: 35

steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: '3.11'
- uses: julia-actions/setup-julia@v1
with:
version: '1.8'
Expand Down
11 changes: 7 additions & 4 deletions .github/workflows/longtest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ on:
push:
branches:
- master
workflow_dispatch:

jobs:
test:
Expand All @@ -14,11 +15,13 @@ jobs:
matrix:
os: [ubuntu-latest, macOS-latest]
fail-fast: false
timeout-minutes: 75
timeout-minutes: 90

steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: '3.11'
- uses: julia-actions/setup-julia@v1
with:
version: '1.8'
Expand All @@ -33,5 +36,5 @@ jobs:
#
- run: |
pip3 install --user matplotlib
julia --check-bounds=yes --color=yes --depwarn=yes --inline=yes --project=@. -e 'import Pkg; Pkg.test(; coverage = :true, test_args=["--long"])'
julia --check-bounds=yes --color=yes --depwarn=yes --project=@. -e 'import Pkg; Pkg.test(; test_args=["--long"])'
shell: bash
22 changes: 9 additions & 13 deletions .github/workflows/parallel_test.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Run tests in parallel to check for bugs that only show up on multiple processes
name: Run tests in parallel

on: [push, pull_request]
on: [push, pull_request, workflow_dispatch]

jobs:
test:
Expand All @@ -12,23 +12,20 @@ jobs:
include:
- julia_version: '1.8'
fail-fast: false
timeout-minutes: 90
timeout-minutes: 120

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: mpi4py/setup-mpi@v1
with:
mpi: 'openmpi'
- uses: actions/setup-python@v2
- uses: actions/setup-python@v4
with:
python-version: '3.11'
- 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
Expand All @@ -37,15 +34,14 @@ jobs:
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
mpiexec -np 3 --mca rmaps_base_oversubscribe 1 julia --project=@. -O3 --check-bounds=no test/runtests.jl --debug 1
mpiexec -np 4 --mca rmaps_base_oversubscribe 1 julia --project=@. -O3 --check-bounds=no test/runtests.jl --debug 1
mpiexec -np 2 --mca rmaps_base_oversubscribe 1 julia --project=@. -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
10 changes: 6 additions & 4 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Based on example from https://github.com/julia-actions/julia-runtest
name: Run tests

on: [push, pull_request]
on: [push, pull_request, workflow_dispatch]

jobs:
test:
Expand All @@ -10,11 +10,13 @@ jobs:
matrix:
os: [ubuntu-latest, macOS-latest]
fail-fast: false
timeout-minutes: 40
timeout-minutes: 50

steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: '3.11'
- uses: julia-actions/setup-julia@v1
with:
version: '1.8'
Expand Down
Loading

0 comments on commit c9a3766

Please sign in to comment.