-
Notifications
You must be signed in to change notification settings - Fork 145
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
Quickbuild mpif08 #562
Quickbuild mpif08 #562
Conversation
Add mkmf.template.nvhpc in build_templates
see #551 for discusion
mpi is the default, but now we have mpif08 as an option I think ./quickbuild.sh mpi should be an allowable thing for a user to run
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
everything looks fine except i was confused by the "core" lists in the buildfunctions.sh for the mpi vs nompi cases. it's probably how it should be but it looks strange on first read.
|
||
if [ "$mpisrc" == "mpi" ]; then | ||
|
||
core=${core//$nullmpi/} | ||
core=${core//$nullwin/} | ||
core=${core//$mpif08/} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this looks backwards to me - is it just the labels? mpi includes the nullmpi version, and below the #nompi version includes the mpi modules?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It does look backwards with the //
at the beginning, but if you believe me:
core=${core//$nullmpi/}
replace all matches (//
) of$nullmpi
from $core
with nothing ('/ ')
so for mpi, remove null, nullwin, mpif08, mpif08, no_cray_winf08
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good.
needs converters |
nompi mpi - this is for GSI only (no mpif08 code for that converter)
added note on quickbuild.sh help to getting started
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the function print_usage in buildconvfunctions.sh, it should echo ./quickbuild.sh instead of buildconverter.sh
Also, is line 52 (copied below) true? I don't think that we can build individual programs with obs_converters
echo " buildconverter.sh [program] : build a single program"
Attempting to run ./quickbuild.sh filter
while in the work dir for an obs converter results in "ERROR: unknown program filter"
guide/compiling-dart.rst
Outdated
quickbuild.sh clean : clean the build | ||
quickbuild.sh help : print help message | ||
|
||
quickbuild.sh [nompi/nompi/mpif08] [program] : optional arguments |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
quickbuild.sh [nompi/nompi/mpif08] [program] : optional arguments | |
quickbuild.sh [mpi/nompi/mpif08] [program] : optional arguments |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed in 3af2899
Fixed buildconverter.sh -> quickbuild.sh The converter quickbuilds will build a single program, but it has to be one of the converter programs. Do you think it would be less confusing to just have the docs say run ./quickbuild.sh help in a work directory to see the options? |
I think that is already covered in the docs, unless you mean that running "./quickbuild help" will show the options for possible single programs that can be built for the given work dir, which it currently doesn't do |
To address #497, I put in the the usage for quickbuild.sh for lorenz_63. |
I really like the additions to the usage for quickbuild.sh for lorenz_63 and think it fixes 497 well. I don't think it's confusing for the obs converters; if they try to use the mpi options it will fail and from there they can use the help command. But we could maybe add something like "not for obs converters" to this line here |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the compiling-dart doc is great! Ready to merge
Fixes for remaining documentation warnings in #546
remove loop from Mersenne twister test
Create mkmf.template.nvhpc
doc fix: rename assim_mod_mod docs to match the module
fix: sync filter_mod.dopplerfold with filter_mod
Description:
Added an mpif08 option to quickbuild.sh for model quickbuilds.
I've added mpi as an option for the 1st argument to quickbuild.sh. This is because it seemed likely that someone might specify
./quickbuild.sh mpi
if they can do./quickbuild.sh mpif08
The default is still mpi.
The GSI converter uses mpi, but its own mpi calls (not mpif08)
https://github.com/NCAR/DART/blob/main/observations/obs_converters/GSI2DART/mpisetup.f90
I have left this alone for now.
Fixes issue
Fixes #261, fixes #551, fixes #497
Types of changes
Documentation changes needed?
added the fix for Documentation needs more information about the "quickbuild nompi" option #497 in this pull request.
Tests
Building, with mpi, mpif08, nompi
./quickbuild.sh help
To print usage message.will test on Derecho with the various compilers and mpi libraries once derecho is a back up.
Checklist for merging
Checklist for release
Testing Datasets