...
Expand | ||
---|---|---|
| ||
One of the things that environment modules sets up is the $LDthe $LD_LIBRARY_PATH. However, when a setuid/setgid program runs it unsets $LDunsets $LD_LIBRARY_PATH for PATH for security reasons. One such setuid program is the duo login program that runs as part of an ssh session. This will leave you with a partially broken environment as a module is loaded, sets $LDsets $LD_LIBRARY_PATH but PATH but then has it get unset before shell initialization is complete. This is worked around on previous systems by always forcing a reload of the environment module but this is not very efficient. Use module restore to load saved modules if you are loading modules from your ~your ~/.bashrc or bashrc or similar. |
Other than the above items, and some other additional features, the environment modules controlled by Lmod should behave very similarly to the TCL modules on previous UI HPC systems.
...
For qsub jobs, if you have not overridden the default SGE parameters then the entire environment is passed to the job. This is because the -V
qsub flag is set in the default request. Since environment modules set up the environment then the environment set up by the modules will be passed. Since the list of the loaded modules is also part of the environment then the list of loaded modules will be passed as well. However, the above does not apply to qlogin sessions as that creates a fresh environment. See the Qlogin for Interactive Sessions - HPC Documentation - UIowa Wiki page for more information.
The However, the recommendation for qsub jobs is to include the module load statements in your job script and not depend on the environment passed in from the submit host. That way, setting up the needed environment is part of the job and is thus more reproducible. If depending on loading modules before qsub then you have to remember to get the environment set up before job submission. When loading modules in your job script, it is best to use module sets. If you would prefer to make sure that the module loads are more explicit then make sure to do a
No Format |
---|
module purge |
before any "module load ...
" commands.