-
Notifications
You must be signed in to change notification settings - Fork 5
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
Updates in OmegaBuild.cmake #198
base: develop
Are you sure you want to change the base?
Conversation
* Explicitly set MPICH_GPU_SUPPORT_ENABLED according to GPU-enabled compilers. * Run omega.exe in omega_run.sh in the test directory. * Reuse the e3smcase directory if it exists.
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 proper fix here would be in config_machines.xml
. We should just add the missing MPICH_GPU_SUPPORT_ENABLED
for Frontier there rather than having an Omega-specific fix. This would be a PR in E3SM, not here. An advantage of that approach is that it fixes things for other models and also propagates to mache and on to Polaris.
@xylar , I agree. I will work on setting MPICH_GPU_SUPPORT_ENABLED in config_machines.xml. For your information, MPICH_GPU_SUPPORT_ENABLED is already set to 1 in config_machines.xml, but only for GPU compilation. It might need to be set to 0 for non-GPU compilation. |
I doubt it needs to be set to zero for non-gpu runs but it won't hurt. |
Also, I could be wrong but I think the environment variable isn't being set for Frontier yet in config_machine.xml. Is there a PR already that I missed? |
@xylar , |
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.
Agree with the changes and the discussion. I'll go ahead and approve, but let me know what you want to do on the MPICH flag (eg remove and wait for the E3SM machine file or add now and remove later - don't know how urgent this is...). I'll merge when you're ready.
@philipwjones , I think this PR can be merged as it is now, and the MPICH flag can be removed once it is added in E3SM. However, this PR may not be helpful in fixing the issue on Polaris. I don’t see any urgent need for this PR with Omega. |
Correct, this won't make a difference in Polaris because it doesn't source the Omega environment script. |
The |
@brian-oneill, I still feel like, philosophically, this is not the kind of flag that Omega should be setting at all. This is part of the larger E3SM infrastructure and we need Omega standalone runs to work as closely as possible to its eventual coupled state. Setting environment variables in standalone that don't get set in coupled mode is a dangerous road to go down. I think it would be okay to pursue setting |
And anything Omega does differently in standalone mode that E3SM leaves me in a quandary about how to handle this in both |
I agree, that all sounds reasonable. Mainly was chiming in to state that I think it should to be set explicitly in either case. |
@xylar, @brian-oneill, I agree with both of you. MPICH_GPU_SUPPORT_ENABLED should be set in the E3SM configuration rather than in Omega. I also prefer setting it explicitly to either 0 or 1, as I encountered the same issue Brian described. In fact, I am currently updating the E3SM Frontier configuration, which will most likely include the MPICH_GPU_SUPPORT_ENABLED setting as discussed here. We can then downstream the update to Omega later. |
Explicitly set MPICH_GPU_SUPPORT_ENABLED according to GPU-enabled compilers.
Run omega.exe in omega_run.sh in the test directory. Fixes OceanDriver failed with YAML file read #160
Reuse the e3smcase directory if it exists.
Testing