-
Notifications
You must be signed in to change notification settings - Fork 700
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
TYPE: enhancement KEYWORDS: testing, compilation SOURCE: internal DESCRIPTION OF CHANGES: Problem: The testing frameworks (github actions nor Jenkins) don't run a wide array of compilation tests per compiler family commonly available. Solution: Use the github actions / hpc-workflows testing framework to run serial, sm, dm, and dm+sm for GNU, Intel Classic & OneAPI, and PGI/nvhpc on Derecho. Tests will run collectively in one node in parallel to maximize core hour allocations. TESTS CONDUCTED: 1. Tests can be run locally on Derecho by using the .ci/hpc-workflows runner.py to launch all tests as separate jobs, but this is inefficient and not exactly as the tests run. To emulate the tests as done in the github actions workflow use the additional `args` set in the respective testSet of .github/workflows/.ci.yml and provide alternate directories from which to compile. This can be facilitated via : * clone WRF branch that features these changes into `<dir>` * list names of tests you want space-delimited in variable, e.g. `export tests="make-gnu-serial make-gnu-dm"` * create copy test dirs with something like `printf "%s\n" $tests | xargs -i -P 4 cp -Rp <dir> {}` * Create alt dirs run locations from test definitions. In this case one directory up from each, this can be done with `export altDirs=$( printf "../%s/.ci " $tests )` (note the extra space!) * launch tests using runner and join args along with `-alt $altDirs` * Final command should look like ``` <dir>/.ci/hpc-workflows/.ci/runner.py <dir>/.ci/wrf_compilation_tests-make.json -t $tests -a <account> -p <num parallel> -tp 1 -j='{"node_select":{"-l ":{"select":1}}}' -jn <job name> -alt $altDirs ```
- Loading branch information
Showing
4 changed files
with
86 additions
and
46 deletions.
There are no files selected for viewing
Submodule hpc-workflows
updated
13 files
+8 −0 | .ci/Step.py | |
+26 −8 | .ci/SubmitAction.py | |
+10 −0 | .ci/SubmitCommon.py | |
+57 −48 | .ci/SubmitOptions.py | |
+4 −0 | .ci/Test.py | |
+0 −6 | .ci/example.json | |
+16 −1 | .ci/runner.py | |
+4 −2 | tutorials/AdvancedRunOption_join_hpc.ipynb | |
+30 −21 | tutorials/AdvancedRunOption_join_hpc.md | |
+11 −8 | tutorials/AdvancedTestConfig_host_specific.md | |
+50 −50 | tutorials/AdvancedTestConfig_hpc_argpacks.md | |
+17 −17 | tutorials/AdvancedTestConfig_regex_argpacks.md | |
+13 −13 | tutorials/BasicTestConfig.md |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters