Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use parallel I/O in Github Actions CI tests #277

Merged
merged 7 commits into from
Oct 9, 2024
Merged

Conversation

johnomotani
Copy link
Collaborator

Now that NCDatasets is an optional dependency (coupled using an 'extension'), we do not need to use an old version of the HDF5 library provided by Julia, HDF5_jll (cf #148). Using the latest version allows us to activate parallel I/O in the Github Actions CI jobs.

As we use the Julia-provided MPI for the CI jobs, we can use NCDatasets at the same time (although this is not possible 'normally', see #254).

Explicitly sets parallel_io=false in one randomly-chosen test (the Harrison-Thompson one), to make sure that this code gets tested even when parallel I/O is available. Also sets parallel_io=false in a few debug checks, and uses NetCDF (if avaliable) in a few other debug checks, to improve the code coverage.

Now that NCDatasets is an optional dependency (coupled using an
'extension'), we do not need to use an old version of the HDF5 library
provided by Julia, `HDF5_jll` (cf issue #148). Using the latest version
will allow us to activate parallel I/O in the Github Actions CI jobs.
Is good to have a couple of tests that us `parallel_io=false` (the
restart interpolation already did), so that even when parallel I/O is
available, the branch that does not use it gets tested.
NCDatasets was already included for the serial tests. Now that we use
the Julia-provided MPI for the parallel tests, it is also possible to
install NCDatasets for the parallel tests.
It is good to still test this option even when parallel I/O is
available.
If NCDatasets is installed (so the NetCDF I/O extension is activated),
then use NetCDF for a few of the debug checks, to test that it is
working properly.
By mistake, one command (creating the `mpiexecjl` executable) was run
with `--check-bounds=no`. This might trigger re-precompilation of
packages, so is inefficient at best.
At the moment installing NCDatasets (and therefore activating the NetCDF
I/O extension) causes precompilation to hang in the debug checks CI job.
Not sure why this is, but skip NCDatasets for now to avoid it.
@johnomotani johnomotani merged commit f933306 into master Oct 9, 2024
21 checks passed
@johnomotani johnomotani deleted the ci-parallel-io branch October 9, 2024 07:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant