-
Notifications
You must be signed in to change notification settings - Fork 131
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
add MACHINFO and ENVINFO to env files #466
Conversation
…re self consistent using mach and env instead of env and compiler
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 like ICE_MACHINE_MACHINFO.
It seems like ICE_MACHINE_ENVINFO will be a maintenance headache. Are you sure you want to do it this way? Is is possible to instead define a command for each machine which, when executed, provides the info? For badger it would be 'module list', but I could see others using 'env' + 'grep' or similar.
module list is probably not going to be adequate. see some discussion here #458. sys admins can name modules anyway they want and often they are not complete. you really need to do an ifort --version and review the env settings that are generated when the modules are loaded in some cases. I understand the envinfo seems like a pain, but it only needs to be update anytime the modules (or port more generally) is created or changed. I think the burden will not be that big. I don't know a good general way to supply useful info consistently across machines at this point. I do worry that the wrong information is worse than no information, so think we need to be mindful to update the envinfo when the port is modified. |
On some machines, the modules are loaded as the default, which can change without users necessarily noticing. At LANL, we get an email every few weeks showing new and deprecated stuff, and I'm not even sure if they say when a default assignment is changing. I don't generally pay much attention until something breaks, but I do tend to prefer the default so that I don't have to change it myself. Maybe in this kind of case it's better to not supply the info in our files. |
That's a good point. We have the same issue with the conda and travis setup. We really don't know what version we're getting. You can look at the implementation for conda and travis. Leaving out details in the INFO env variables or not defining them at all is a reasonable approach. I have mixed feelings about just using the default modules on machines in general, but that's a separate discussion. I understand why it can make sense and be convenient sometimes. |
Hi Tony. This looks good to me. I've added the info for our supercomputers in this branch: https://github.com/phil-blain/CICE/tree/add-eccc-machineinfo.
to add this commit to this branch, it should fast-forward.
|
Thanks @phil-blain! I have pulled your changes onto my branch. |
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'm not thrilled with having this info hard-wired, but I'll approve to keep things moving forward. Maybe we can come up with a better approach in the future. Thanks for implementing -
I will look into capturing information at run time separately. As an aside, there is no reason you can't do something like setenv ICE_MACHINE_ENVINFO that will capture all the loaded modules at the time. Of course, that can leave you with something like
I'm still not convinced there is a universal solution, but will continue to think about it and try other things. |
PR checklist
Add MACHINFO and ENVINFO variables to env files
apcraig
ran a small test suite on cheyenne to verify scripts are working
https://github.com/CICE-Consortium/Test-Results/wiki/cice_by_hash_forks#f31cfc99e29bcef50d4e3b46c129c838a8a72ee8
Can see the new output in the individual machine/env file.
Also updated the scripts implementation to consistently use "env" and "mach". Shifted internal variables from "env" to "mach" and from "compiler" to "env".
MACHINFO and ENVINFO were added on many machines but not all. These are not required variables but are recommended. I am happy to add information from other machines before we merge this PR if that information is provided to me. These variables are used in the test suites and test reporting to better capture the machines and system software that is being tested.