-
Notifications
You must be signed in to change notification settings - Fork 382
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
Adding ADIOS install paths #5492
Adding ADIOS install paths #5492
Conversation
To use ADIOS to write E3SM outputs the following changes are needed,
|
@jayeshkrishna |
@jayeshkrishna |
@jayeshkrishna
|
@jayeshkrishna |
@jayeshkrishna Shall we fix this issue in a future PR? |
Let us fix that in a future PR since its not related to ADIOS support (please create an issue for it, if needed) |
Actually ibmgpu_summit.cmake is not required for PnetCDF type so far. We can create an issue for ADIOS type after this PR is merged. |
Not sure why ibmgpu_summit.cmake is not required for the PnetCDF type (and required for ADIOS), but let us use a separate issue to discuss it further (maybe a detailed issue description, for the new issue, would help). |
e06aca9
to
0f6abb5
Compare
@dqwu in his testing found that ADIOS paths were missing for Anvil (but the ADIOS libs were listed as dependencies) and this caused build failures on Anvil. This issue has now been fixed and the branch was rebased. Also, as part of the rebase process the ADIOS settings for Anvil/Cori/Theta were restored (these settings can be deleted later, if needed, along with the machine configs) & a fix for PR #5486 was also added The fix for PR #5486 was to add the paths to the HDF5 library in the config machines and cmake macro files for gnu on bebop. |
Adding ADIOS install paths for several machines.
Adding ADIOS library dependencies to CMake macro files for compiler+machines where ADIOS builds are currently available/tested
The build script for SCORPIO in CIME is being moved to a separate script, buildlib.spio (from buildlib.pio). Adding the location to the new script.
0f6abb5
to
aa5b46e
Compare
@jayeshkrishna So far, ADIOS 2.7.0 is only used by anlworkstation (already retired), cori-haswell (to be retired), and theta (we will probably never need to run E3SM on it). |
@jayeshkrishna |
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.
If I'm reading this correctly, it looks like we are adding quite a few libs to the link line -- even if a case is not using ADIOS. Is that right?
Yeah, the ADIOS support is added during the SCORPIO build (yeah, and ADIOS adds a number of dep libs) and the user then has the choice to use ADIOS at runtime (PIO_TYPENAME in env_run.xml). |
It doesn't look like it's adding much to the executable, but it does seem like it makes sense to only link with libraries that are actually needed. But, as you note, it's the norm to have XML settings that can toggle options such as this. |
@jayeshkrishna adios2 setting is missing for Crusher. Also we may need a future PR for Frontier support In config_machines.xml, "ADIOS2_DIR" is missing for crusher machine On Crusher( and on Frontier) adios2 is installed through Spack and can be loaded using module. |
Yeah, this PR does not include support for ADIOS on all the machines. @dqwu is working on adding support for ADIOS on the remaining E3SM machines. |
The cori-knl tests failed with:
|
@dqwu has fixed the permissions for the ADIOS install directories on Cori (that caused the missing adios* libs issue above) |
Adding ADIOS install paths and library dependencies for the
different machines+compilers
Fixes #5486
[BFB]