* push out all env variables starting with LAM_MPI or mca_
VERY IMPORTANT NOTE: neither name or value can have a space in it. Sorry, but I'm sick of escape hell. This commit was SVN r664.
Этот коммит содержится в:
родитель
4c9d393a0e
Коммит
b55147c2e4
@ -28,6 +28,7 @@ lam_commdir=""
|
|||||||
#
|
#
|
||||||
######################################################################
|
######################################################################
|
||||||
args_err=1
|
args_err=1
|
||||||
|
|
||||||
for i ; do
|
for i ; do
|
||||||
case "${i}" in
|
case "${i}" in
|
||||||
-test)
|
-test)
|
||||||
@ -53,6 +54,14 @@ for i ; do
|
|||||||
lam_commdir="${1}"
|
lam_commdir="${1}"
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
|
-x)
|
||||||
|
shift
|
||||||
|
name="${1}"
|
||||||
|
shift
|
||||||
|
val="${1}"
|
||||||
|
shift
|
||||||
|
export "${name}"="${val}"
|
||||||
|
;;
|
||||||
-pwd)
|
-pwd)
|
||||||
shift
|
shift
|
||||||
cd "${1}"
|
cd "${1}"
|
||||||
|
@ -30,6 +30,7 @@ lam_jobhandle=""
|
|||||||
lam_app_args=""
|
lam_app_args=""
|
||||||
lam_mydir=""
|
lam_mydir=""
|
||||||
lam_cwd="`pwd`"
|
lam_cwd="`pwd`"
|
||||||
|
lam_prepped=""
|
||||||
|
|
||||||
# Get the dir where this script is
|
# Get the dir where this script is
|
||||||
dir="`dirname $0`"
|
dir="`dirname $0`"
|
||||||
@ -96,6 +97,41 @@ debug_echo() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
######################################################################
|
||||||
|
#
|
||||||
|
# prep_environ
|
||||||
|
#
|
||||||
|
# make environment push happen
|
||||||
|
#
|
||||||
|
######################################################################
|
||||||
|
do_add_env() {
|
||||||
|
str="$*"
|
||||||
|
name="`echo ${str} | cut -d= -f1`"
|
||||||
|
val="`echo ${str} | cut -d= -f2-`"
|
||||||
|
|
||||||
|
lam_prepped="${lam_prepped} -x ${name} \"${val}\""
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
do_prep_environ() {
|
||||||
|
local a=""
|
||||||
|
local envfile="/tmp/lam_mpirun_env_$$"
|
||||||
|
|
||||||
|
rm -f "${envfile}"
|
||||||
|
printenv > "${envfile}"
|
||||||
|
|
||||||
|
while IFS= read envpair
|
||||||
|
do
|
||||||
|
if test "`echo ${envpair} | grep \"^mca_\"`" != "" ; then
|
||||||
|
do_add_env "${envpair}"
|
||||||
|
elif test "`echo ${envpair} | grep \"^LAM_MPI\"`" != "" ; then
|
||||||
|
do_add_env "${envpair}"
|
||||||
|
fi
|
||||||
|
done < "${envfile}"
|
||||||
|
|
||||||
|
rm -f "${envfile}"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
#
|
#
|
||||||
@ -110,24 +146,24 @@ debug_echo() {
|
|||||||
# argv argv to start
|
# argv argv to start
|
||||||
#
|
#
|
||||||
######################################################################
|
######################################################################
|
||||||
start_proc() {
|
do_start_proc() {
|
||||||
local rmt_hostname=$1 ; shift
|
local rmt_hostname=$1 ; shift
|
||||||
local rmt_vpid=$1 ; shift
|
local rmt_vpid=$1 ; shift
|
||||||
local argv="$*"
|
local argv="$*"
|
||||||
local rmt_boot="${lam_mydir}/mpiboot"
|
local rmt_boot="${lam_mydir}/mpiboot"
|
||||||
|
local cmd=""
|
||||||
|
|
||||||
local cmd="ssh ${rmt_hostname} -f -n ${rmt_boot} -myvpid ${rmt_vpid}"
|
cmd="ssh ${rmt_hostname} -f -n ${rmt_boot} "
|
||||||
|
cmd="${cmd} -myvpid ${rmt_vpid}"
|
||||||
cmd="${cmd} -numprocs ${lam_numprocs} -jobhandle ${lam_jobhandle}"
|
cmd="${cmd} -numprocs ${lam_numprocs} -jobhandle ${lam_jobhandle}"
|
||||||
cmd="${cmd} -pwd ${lam_cwd}"
|
cmd="${cmd} -pwd ${lam_cwd} ${lam_prepped}"
|
||||||
if test ! -z "${MCA_common_lam_cofs_comm_dir}" ; then
|
if test ! -z "${MCA_common_lam_cofs_comm_dir}" ; then
|
||||||
cmd="${cmd} -commdir ${MCA_common_lam_cofs_comm_dir}"
|
cmd="${cmd} -commdir ${MCA_common_lam_cofs_comm_dir}"
|
||||||
fi
|
fi
|
||||||
cmd="${cmd} -- ${argv}"
|
cmd="${cmd} -- ${argv}"
|
||||||
debug_echo "* ${cmd}"
|
|
||||||
${cmd}
|
${cmd}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
#
|
#
|
||||||
# make_hosts_list
|
# make_hosts_list
|
||||||
@ -178,8 +214,10 @@ launch_procs() {
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
do_prep_environ
|
||||||
|
|
||||||
for (( i=0 ; i < ${lam_numprocs} ; i++)) ; do
|
for (( i=0 ; i < ${lam_numprocs} ; i++)) ; do
|
||||||
start_proc "${1}" "${i}" "${args}"
|
do_start_proc "${1}" "${i}" "${args}"
|
||||||
shift
|
shift
|
||||||
if test -z "${1}" ; then
|
if test -z "${1}" ; then
|
||||||
set -- ${lam_hosts}
|
set -- ${lam_hosts}
|
||||||
@ -201,7 +239,9 @@ lam_jobhandle="pcm-cofs-job-handle-${$}-0"
|
|||||||
# exit cleanly
|
# exit cleanly
|
||||||
#
|
#
|
||||||
######################################################################
|
######################################################################
|
||||||
|
|
||||||
make_hosts_list
|
make_hosts_list
|
||||||
|
|
||||||
launch_procs "${lam_app_args}"
|
launch_procs "${lam_app_args}"
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user