
entire explanation ;-) ) Our Abaqus friends just pointed out another bug to me. We have the "-x" option to orterun to export environment variables to newly-started processes. However, it doesn't work if the environment variable is already set in the target environment. For example: mpirun -x LD_LIBRARY_PATH -np 2 a.out The app context correctly contains LD_LIBRARY_PATH and its value, and that app context correctly propagates out to the orted and is present when we fork/exec a.out. However, if LD_LIBRARY_PATH is already set in the newly-started process' environment, the fork pls won't override it with the value from the app context. It really only has to do with the ordering of arguments in ompi_environ_merge() -- when merging to env arrays together, we "prefer" one set to the other if there are duplicate names. I think that if the user wants to override variables (even variables like LD_LIBRARY_PATH), we should let them -- it's necessary for some applications (like in Abaqus' case). If they screw it up, it's their fault (e.g., setting some LD_LIBRARY_PATH that won't work). That being said, we should *not* allow them to override specific MCA parameters that are necessary for startup -- that's easy to accomplish by setting up that stuff *after* we merge in the context app environment. Also note that I am *only* speaking about the fork pls here -- so this only applies to started ORTE job processes, not the orted. So an easy re-order to do the following: env_copy = merge(environ and context->app) ompi_setenv(...MCA params necessary for startup..., env_copy) execve(..., env_copy) does what we want. This commit was SVN r5878.
Copyright (c) 2004-2005 The Trustees of Indiana University. All rights reserved. Copyright (c) 2004-2005 The Trustees of the University of Tennessee. All rights reserved. Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, University of Stuttgart. All rights reserved. Copyright (c) 2004-2005 The Regents of the University of California. All rights reserved. $COPYRIGHT$ Additional copyrights may follow $HEADER$ This is the world's greatest MPI. ...more to write here should be a short file, referring to the real docs.
Описание
Languages
C
82.4%
Fortran
3.8%
Roff
3.7%
Shell
3.3%
Makefile
2.3%
Разное
4.5%