Skip to content

Pull request for compiling shared objects.#47

Merged
ajhenrique merged 21 commits into
NOAA-EMC:FB_libsofrom
flampouris:feature/sharedobject
Jun 19, 2019
Merged

Pull request for compiling shared objects.#47
ajhenrique merged 21 commits into
NOAA-EMC:FB_libsofrom
flampouris:feature/sharedobject

Conversation

@flampouris
Copy link
Copy Markdown

@flampouris flampouris commented Jun 11, 2019

This pull request is a response to #46 and continuation of #29. The compilation of shared objects becomes optional.

How to use:
./model/bin/w3_setup model -c intel_so -s NCEP_st4
cd [bin]
./w3_make libww3.so

See the code for details.

Several comparative tests showed that the average difference in compilation time for the master, with and without the options for shared objects is less than 0.2s. The original pull request had approximately the same delay (< 0.4s) in comparison with the master's compilation time.

The code has been tested with intel 17.1.

ajhenrique and others added 19 commits April 19, 2019 11:49
Merging Hotfixes branch HF_ounfpart into the WW3 master. 

* Bugfix in ww3_ounf.ftn: NBIPART check against NOSWLL was not accouting for zeroth wind partition. See Issue #2.
* Updating link.wcoss_phase2 for grib compile, removing !$ lines in ww3_uprstr that broke compilation of codes with OMPH OMPG switch flags, added new global wave model switch. Added option for writing to fixed netcdf gridded output file when using NCO switch (the issue will be fixed more adequately in v7 following Issue NOAA-EMC#8).
* DB1 depth-breaking_bugfix: added proper scaling coefficients for radian freq. [radHz]. See issue NOAA-EMC#7.

Merge will lead to v6.07.1, tag and release will be updated accordingly.
Stelios' develop to master
…p ${CMAKE_SOURCE_DIR}/WW3/model -c theia_so -s NCEP_st4" line was updated

model/bin/cmplr.env : "optc='-c -module $path_m -no-fma -fPIC -ip -p -g -i4 -real-size 32 -fp-model precise -assume byterecl -convert big_endian -fno-alias -fno-fnalias'" was updated, "-fPIC"

make_makefile.sh: libww3.so was added

w3_automake:  libww3.so was added

w3_make: libww3.so was added
Copy link
Copy Markdown
Collaborator

@mickaelaccensi mickaelaccensi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi all,
I would rather prefer to add it as a prefix so_intel to keep it consistent with options added in specific case or for specfic machine as it was done for zeus and datarmor.
It should be also done for the mpt and pgi compilers.

Mickael

Copy link
Copy Markdown
Collaborator

@JessicaMeixner-NOAA JessicaMeixner-NOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

two minor typos.

Comment thread model/bin/cmplr.env Outdated
Comment thread model/bin/ww3_from_ftp.sh Outdated
fi

echo -e "\n\n Files were copied from the data_regtests to the regtets folder."
echo -e "\n\n Files were copied from the data_regtests to the regstets folder."
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

regtests

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JessicaMeixner-NOAA at least I counted the number of letters 😄

@ajhenrique
Copy link
Copy Markdown
Contributor

@flampouris thanks for the pull request. Could you address comments by @mickaelaccensi: Would you be able to change intel_so to so_intel, and to provide options for mpt and pgi compilers? Thanks!

@flampouris
Copy link
Copy Markdown
Author

flampouris commented Jun 11, 2019 via email

1. The _so extra suffix became an extension of the prefix
2. Typos at cmpl.env and ww3_ftp[...].sh
@flampouris
Copy link
Copy Markdown
Author

The code is updated according to the reviewers' suggestion.

The updates were tested with Intel 14.* and 17.1 on Theia and the NCEP_st4 switch.

@ajhenrique and @aliabdolali please let me know if there are any issues whiling testing.

@ajhenrique ajhenrique changed the base branch from develop to FB_libso June 19, 2019 17:11
@ajhenrique ajhenrique merged commit 27a7ed4 into NOAA-EMC:FB_libso Jun 19, 2019
@ajhenrique
Copy link
Copy Markdown
Contributor

@flampouris please note that your pull request has been accepted into the branch FB_libso NOAA-EMC/WW3 for further testing before it is actually merged into the develop branch. We will let you know when that happens. Thanks!

@flampouris
Copy link
Copy Markdown
Author

flampouris commented Jun 27, 2019 via email

@ajhenrique
Copy link
Copy Markdown
Contributor

Several comparative tests showed that the average difference in compilation time for the master, with and without the options for shared objects is less than 0.2s. The original pull request had approximately the same delay (< 0.4s) in comparison with the master's compilation time.

For completion of information justifying the rationale for asking this new pull request, please see comment #29 (comment), which provides results indicating a substantial increase in compile time when using the -fpic shared-object flag under the Intel compiler. This seems to be machine and/or compiler version dependent (so should be checked by developers that wish to run a large number of cases such as using a regtests matrix).

ajhenrique added a commit that referenced this pull request Jul 24, 2019
* Pull request for compiling shared objects. (#47)
* Fixed bug on ad3 when listing mod files.
kestonsmith-noaa pushed a commit to kestonsmith-noaa/WW3 that referenced this pull request Jun 17, 2025
…erturbations (NOAA-EMC#386)

* Update .gitmodules and submodule pointer for fv3atm for gsl/develop branch
* RUC ice for gsl/develop (replaces NOAA-EMC#47) (NOAA-EMC#49)Implementation of RUC LSM ice model in CCPP
* Squash-merge climbfuji:rucice_gfsv16dzmin into gsl/develop
* Add kice=9 to tests/tests/fv3_ccpp_rap and tests/tests/fv3_ccpp_hrrr
* Change NEW_BASELINE directory for gsl/develop to avoid conflicts with development work on the authoritative branches
* Add KICE=9 to tests/tests/fv3_ccpp_gsd_unified_ugwp and tests/tests/fv3_ccpp_gsd_drag_suite_unified_ugwp
* Revert change to .gitmodules and update submodule pointer for fv3atm
* Update gsl/develop from develop 2020/12/08 (NOAA-EMC#50)
* Updates to stochastic_physics_wrapper (NOAA-EMC#280)
Fix to stochastic_physics_wrapper to allow for random patterns to update at a longer time-step than model
* Update for Jet, bug fixes in running with frac_grid=T and GFDL MP, and in restarting with frac_grid=T  (NOAA-EMC#304)
Update the modulefile for jet.intel to enable UPP v10.0.0. The hpc-stack v1.0.0 pre-release is used for this. Small changes are made to tests.rt.sh for jet.intel and gaea.intel (consistency with other platforms).
The submodule pointer update for fv3atm addresses bugs in the ufs-weather-model with frac_grid=T and GFDL microphysics, and with restarting the model when frac_grid=T (from @shansun6 and @SMoorthi-emc).
* Land stochastic perturbations (NOAA-EMC#57)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants