/[escript]/branches/py3_attempt2/bin/run-escript
ViewVC logotype

Annotation of /branches/py3_attempt2/bin/run-escript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3335 - (hide annotations)
Wed Nov 3 05:02:57 2010 UTC (8 years, 4 months ago) by jfenwick
Original Path: trunk/bin/run-escript
File size: 15209 byte(s)
Fix the launcher so that it can give an environment even if buildvars is not present.
Environment now includes scons for standalone builds.
Fixes and cleanup for the install documentation.
scons TEMPLATES updated to define the optionfile version by default.

...mumble
   finley no longer imports escript into the default namespace
...
1 jfenwick 2409 #!/bin/bash
2    
3     # Escript/Finley wrapper for python
4     # Sets LD_LIBRARY_PATH and PYTHONPATH and then runs either python or the MPI launcher
5    
6     #Extra paths can be configured about a page further down
7     #Search for EXTRA_PATH=""
8    
9 jfenwick 2568 #set to 1 if performing this is a standalone build and ../../pkg contains the relevant tools
10 jfenwick 2409 STANDALONE=0
11    
12     #set to 1 if this is part of a packaged build (.deb) and files will be installed in standard locations
13     #rather than everything in a single directory
14     #Do not use this together with $STANDALONE
15     STDLOCATION=0
16    
17     #Now we find the location of this script
18     #Note that this location should be absolute but does not need to be unique
19     scriptdir=""
20     CURDIR=`pwd`
21    
22     #Environment vars which control operations:
23     # ESCRIPT_NUM_NODES, ESCRIPT_NUM_PROCS, ESCRIPT_NUM_THREADS, ESCRIPT_HOSTFILE, ESCRIPT_CREATESTDFILES
24    
25 jfenwick 3047 HOSTFILE=/tmp/escript.$USER.$$
26     HOSTFILE2=/tmp/escript2.$USER.$$
27 jfenwick 2409
28     #Begin finding ESCRIPT_ROOT
29 caltinay 2806 if [ $STDLOCATION -ne 0 ]
30 jfenwick 2409 then
31     ESCRIPT_ROOT=/usr/lib/escript
32     else
33     #We don't know the escript root so we need to work it out from the invocation
34     #Need to match if the name contains /
35     if [[ $0 =~ / ]]
36     then
37     # We are not using the PATH to find the script
38     cd `dirname $0`
39     scriptdir=`pwd`
40     cd $CURDIR
41     else
42     # name does not contain / therefore we are using
43     tscriptdir=`which $0`
44 caltinay 3096 if [ $? -ne 0 ]
45 jfenwick 2409 then
46 caltinay 2806 echo "Error! Unable to determine script directory. Exiting."
47     exit 1
48 jfenwick 2409 fi
49     scriptdir=`dirname $tscriptdir`
50     fi
51    
52     cd $scriptdir/..
53     ESCRIPT_ROOT=`pwd`
54     cd ..
55     ESCRIPT_PARENT=`pwd`
56     cd $CURDIR
57    
58     fi
59     ##### End finding ESCRIPT_ROOT ########
60    
61 caltinay 2806
62 caltinay 3178
63 jfenwick 2409 PYTHON_MPI_NULL="$ESCRIPT_ROOT/lib/pythonMPI"
64     PYTHON_MPI_REDIRECT="$ESCRIPT_ROOT/lib/pythonMPIredirect"
65     PYTHON_CMD=python
66    
67     # if possible please express paths relative to $ESCRIPT_ROOT unless
68     # they are in an unrelated location
69    
70     EXTRA_DYLD_LIBRARY_PATH=""
71     EXTRA_PATH=$ESCRIPT_ROOT/bin
72     EXTRA_PYTHONPATH=$ESCRIPT_ROOT
73     EXTRA_LD_LIBRARY_PATH=$ESCRIPT_ROOT/lib
74    
75 caltinay 2806 if [ $STANDALONE -eq 1 ]
76 jfenwick 2409 then
77 jfenwick 3335 EXTRA_PATH=$ESCRIPT_PARENT/pkg/python/bin:$ESCRIPT_PARENT/pkg/scons/bin:$EXTRA_PATH
78 jfenwick 2530 EXTRA_LD_LIBRARY_PATH=$ESCRIPT_PARENT/pkg/boost/lib:$ESCRIPT_PARENT/pkg/netcdf/lib/:$EXTRA_LD_LIBRARY_PATH
79 jfenwick 2541 EXTRA_LD_LIBRARY_PATH=$EXTRA_LD_LIBRARY_PATH
80 jfenwick 2530 EXTRA_LD_LIBRARY_PATH=$ESCRIPT_PARENT/pkg/python/lib:$EXTRA_LD_LIBRARY_PATH
81 jfenwick 2541 EXTRA_PYTHONPATH=$ESCRIPT_PARENT/pkg/numpy/lib/python2.6/site-packages:$ESCRIPT_PARENT/pkg/matplotlib/lib/python2.6/site-packages:$EXTRA_PYTHONPATH
82 jfenwick 2409 fi
83    
84 jfenwick 3335
85     BUILDINFO_FILE=$ESCRIPT_ROOT/lib/buildvars
86     if [ ! -r $BUILDINFO_FILE ]; then
87     if [ "$1" = "-e" ];then
88     echo "export LD_LIBRARY_PATH=$EXTRA_LD_LIBRARY_PATH:\$LD_LIBRARY_PATH"
89     echo "export PYTHONPATH=$EXTRA_PYTHONPATH:\$PYTHONPATH"
90     echo "export PATH=$EXTRA_PATH:\$PATH"
91     if [ "`uname`" = "Darwin" ]
92     then
93     echo "export DYLD_LIBRARY_PATH=$EXTRA_DYLD_LIBRARY_PATH:$EXTRA_LD_LIBRARY_PATH:\$DYLD_LIBRARY_PATH"
94     fi
95     exit 0
96     fi
97     echo "Error! Unable to read escript build information. Exiting."
98     exit 1
99     fi
100    
101     function get_buildvar {
102     echo `grep "^$1=" $BUILDINFO_FILE |cut -d= -f2`
103     }
104    
105 caltinay 3096 #
106     # Add VisIt paths if required
107     #
108 jfenwick 3259 WITH_VISIT=`get_buildvar visit`
109     if [ "$WITH_VISIT" = "1" ]; then
110 caltinay 3096 VISIT_BIN=`which visit`
111     if [ $? -eq 0 ]; then
112     VISIT_PY_PATH=`$VISIT_BIN -env | grep LIBPATH | cut -d= -f2`
113     EXTRA_PYTHONPATH=$EXTRA_PYTHONPATH:$VISIT_PY_PATH
114     EXTRA_LD_LIBRARY_PATH=$EXTRA_LD_LIBRARY_PATH:$VISIT_PY_PATH
115     elif [ ! -z $ESCRIPT_VERBOSE ]; then
116     echo "VisIt module enabled but VisIt not in path!"
117     fi
118     fi
119 jfenwick 2409
120     HELP_TEXT="
121     Usage: escript [options] script.py [arguments...]
122     -n nn number of nodes to use
123 gross 3193 -p np number of MPI processes to spawn per node
124 jfenwick 2409 -t nt number of OpenMP threads to use
125     -f file name of MPI hostfile
126     -c print compile information for escript and exit
127     -V print escript version and exit
128     -i interactive mode
129     -b do not invoke python (run non-python programs)
130     -e print export statements for environment and exit
131     -o redirect output from MPI to files
132     -v print diagnostics
133     -x ..reserved for future use ..
134     script.py Your python script
135     arguments... The optional command-line arguments to your script
136     "
137    
138     if [ "$1" = "--help" ]; then
139     echo "$HELP_TEXT"
140     exit 0
141     fi
142     #=======================================================================================
143    
144     # Avoid bug in hybrid runs with MPT MPI
145    
146    
147     # Parse the command-line options
148     # option e should not be followed by a :
149     while getopts 'bn:p:t:f:h:ecVviox' option
150     do
151     case "$option" in
152     "b") DOBINARY=yes
153     ;;
154     "n") ESCRIPT_NUM_NODES=$OPTARG
155     ;;
156     "p") ESCRIPT_NUM_PROCS=$OPTARG
157     ;;
158     "t") ESCRIPT_NUM_THREADS=$OPTARG
159     ;;
160     "f") ESCRIPT_HOSTFILE=$OPTARG
161     ;;
162     "c") cat $ESCRIPT_ROOT/lib/buildvars
163     exit 0
164     ;;
165 caltinay 3178 "V") echo "escript-development(build "`get_buildvar svn_revision`")"
166 jfenwick 2409 exit 0
167     ;;
168     "h") echo "$HELPTEXT"
169     exit 0
170     ;;
171     "i") DOINTERACTIVE=yes
172     ;;
173     "e") echo "export LD_LIBRARY_PATH=$EXTRA_LD_LIBRARY_PATH:\$LD_LIBRARY_PATH"
174     echo "export PYTHONPATH=$EXTRA_PYTHONPATH:\$PYTHONPATH"
175     echo "export PATH=$EXTRA_PATH:\$PATH"
176 caltinay 2806 if [ "`uname`" = "Darwin" ]
177 jfenwick 2409 then
178     echo "export DYLD_LIBRARY_PATH=$EXTRA_DYLD_LIBRARY_PATH:$EXTRA_LD_LIBRARY_PATH:\$DYLD_LIBRARY_PATH"
179     fi
180     exit 0
181     ;;
182     "o") ESCRIPT_CREATESTDFILES="yes"
183     ;;
184     "v") ESCRIPT_VERBOSE="yes"
185     ;;
186     "x") echo "-x not implemented yet"
187     exit 1
188     ;;
189     ?) echo "$HELP_TEXT"
190     exit 1
191     ;;
192     esac
193     done
194     shift `expr $OPTIND - 1`
195     #==============================================
196     #
197 caltinay 3178 # Read MPI_FLAVOUR and WITH_OPENMP from the buildvars
198 jfenwick 2409 #
199 jfenwick 3259 MPI_FLAVOUR=`get_buildvar mpi`
200     WITH_OPENMP=`get_buildvar openmp`
201 jfenwick 2409
202 caltinay 2806 if [ ! -z $ESCRIPT_VERBOSE ]; then
203     echo "MPI flavour is $MPI_FLAVOUR."
204 jfenwick 3259 if [ "$WITH_OPENMP" = "1" ]; then echo "OpenMP enabled."; fi
205 caltinay 2806 fi
206    
207 jfenwick 2409 #
208     # extend path variables
209     #
210     export PATH=$EXTRA_PATH:$PATH
211     export LD_LIBRARY_PATH=$EXTRA_LD_LIBRARY_PATH:$LD_LIBRARY_PATH
212     export PYTHONPATH=$EXTRA_PYTHONPATH:$PYTHONPATH
213     EXPORT_ENV="PATH,LD_LIBRARY_PATH,PYTHONPATH"
214 caltinay 2806 if [ "`uname`" = "Darwin" ]
215 jfenwick 2409 then
216     export DYLD_LIBRARY_PATH=$EXTRA_DYLD_LIBRARY_PATH:$EXTRA_LD_LIBRARY_PATH:$DYLD_LIBRARY_PATH
217     EXPORT_ENV="$EXPORT_ENV,DYLD_LIBRARY_PATH"
218     fi
219 caltinay 2806 if [ ! -z $ESCRIPT_VERBOSE ]
220 jfenwick 2409 then
221     echo "PATH = $PATH "
222     echo "LD_LIBRARY_PATH = $LD_LIBRARY_PATH "
223     echo "PYTHONPATH = $PYTHONPATH "
224     if [ ! -z $DYLD_LIBRARY_PATH ]; then echo "DYLD_LIBRARY_PATH = $DYLD_LIBRARY_PATH "; fi
225     fi
226     #==============================================
227     #
228     # Ensure the variables have sensible values
229     #
230 caltinay 2806 if [ "$MPI_FLAVOUR" = "none" ]
231 jfenwick 2409 then
232     if [ ! -z $ESCRIPT_NUM_NODES ]
233     then
234     echo "Warning: MPI disabled but number of nodes set. Option ignored."
235     fi
236     if [ ! -z $ESCRIPT_NUM_PROCS ]
237     then
238     echo "Warning: MPI disabled but number of processors per node set. Option ignored."
239     fi
240     if [ ! -z $ESCRIPT_HOSTFILE ]
241     then
242     echo "Warning: MPI disabled but host file is given. Option ignored."
243     fi
244     ESCRIPT_NUM_NODES=1
245     ESCRIPT_NUM_PROCS=1
246     else
247 jfenwick 3056 # use the PBS_NODEFILE if not otherwise specified
248     if [[ ( ! -z $PBS_NODEFILE ) && ( -z $ESCRIPT_HOSTFILE ) ]]
249     then
250 caltinay 3178 ESCRIPT_HOSTFILE=$PBS_NODEFILE
251 jfenwick 3056 fi
252    
253 jfenwick 2409 if [ ! -z $ESCRIPT_HOSTFILE ]
254     then
255     if [ -f $ESCRIPT_HOSTFILE ]
256     then
257     cat $ESCRIPT_HOSTFILE | sort -u > $HOSTFILE
258     NUM_HOSTS=`cat $HOSTFILE | wc -l`
259     if [ ! -z $ESCRIPT_NUM_NODES ]
260     then
261     if [ $NUM_HOSTS -ne $ESCRIPT_NUM_NODES ]
262     then
263     echo "number of hosts selected in the host file $ESCRIPT_HOSTFILE needs to match the requested number of nodes $ESCRIPT_NUM_NODES."
264     exit 1
265     fi
266     else
267     ESCRIPT_NUM_NODES=$NUM_HOSTS
268     fi
269     else
270     echo "cannot find hostfile $ESCRIPT_HOSTFILE."
271     exit 1
272     fi
273     else
274     HOSTFILE=''
275     fi
276    
277     if [ -z $ESCRIPT_NUM_NODES ]
278     then
279 caltinay 3178 ESCRIPT_NUM_NODES=1
280 jfenwick 2409 fi
281    
282     if [ -z $ESCRIPT_NUM_PROCS ]
283     then
284 caltinay 3178 ESCRIPT_NUM_PROCS=1
285 jfenwick 2409 fi
286    
287 caltinay 2806 if [ ! -z $ESCRIPT_VERBOSE ]
288 jfenwick 2409 then
289 caltinay 3178 echo "ESCRIPT_NUM_NODES = $ESCRIPT_NUM_NODES "
290     echo "ESCRIPT_NUM_PROCS = $ESCRIPT_NUM_PROCS "
291 jfenwick 2409 fi
292     fi
293    
294 jfenwick 3259 if [ "$WITH_OPENMP" = "1" ]
295 jfenwick 2409 then
296     if [ -z $ESCRIPT_NUM_THREADS ]
297     then
298     ESCRIPT_NUM_THREADS=$OMP_NUM_THREADS
299     if [ -z $ESCRIPT_NUM_THREADS ]
300     then
301     ESCRIPT_NUM_THREADS=1
302     fi
303     fi
304     if [ ! -z $ESCRIPT_VERBOSE ]
305     then
306     echo "ESCRIPT_NUM_THREADS is $ESCRIPT_NUM_THREADS."
307     fi
308     else
309     if [[ ( ! -z $ESCRIPT_NUM_THREADS ) && ( $ESCRIPT_NUM_THREADS != 1 ) ]]
310     then
311     echo "Warning: OpenMP is disabled but number of threads requested is $ESCRIPT_NUM_THREADS!=1. Running without threads."
312     fi
313     ESCRIPT_NUM_THREADS=1
314     fi
315     #
316     # Now we compute total number of Processes
317     #
318     (( TOTPROC=$ESCRIPT_NUM_NODES * $ESCRIPT_NUM_PROCS))
319     if [ $? -ne 0 ] #Some compute error
320     then #This could happen if the args were not a number
321 caltinay 3178 echo "expression of total number of processors = $ESCRIPT_NUM_NODES * $ESCRIPT_NUM_PROCS is not numerical."
322     exit 1
323 jfenwick 2409 fi
324    
325     #
326     # Test to ensure people aren't trying to combine interactive and multi-process
327     #
328     if [[ ( ( ! -z $DOINTERACTIVE ) || ( $# -eq 0 ) ) && ( $TOTPROC -gt 1) ]]
329     then
330 caltinay 3178 echo "Interactive mode cannot be used with more than one process"
331     exit 1
332 jfenwick 2409 fi
333    
334     if [ $TOTPROC -gt 1 ]
335     then
336 caltinay 3178 if [ "$ESCRIPT_CREATESTDFILES" = "yes" ]
337     then
338     PYTHON_MPI=$PYTHON_MPI_REDIRECT
339     else
340     PYTHON_MPI=$PYTHON_MPI_NULL
341     fi
342 jfenwick 2409 else
343     PYTHON_MPI=$PYTHON_MPI_NULL
344     fi
345     #=========================================================================================================
346     # Must have at least one command-line arg: the python script
347     if [ $# -eq 0 ]
348     then
349 caltinay 3178 if [ ! -z $DOBINARY ]
350     then
351     echo "No program to run was specified. Exiting."
352     exit 1
353     else
354     DOINTERACTIVE="yes"
355     fi
356 jfenwick 2409 fi
357    
358     #=========================================================================================================
359     if [ ! -z $DOBINARY ]
360     then
361     EXEC_CMD="$@"
362     else
363 caltinay 3178 # Check to see if the python version we were compiled with matches the
364     # one of PYTHON_CMD.
365 jfenwick 3259 compversion=`get_buildvar python_version`
366 caltinay 3178 intversion=`$PYTHON_CMD -c 'import sys;print "%d.%d.%d"%(sys.version_info[0], sys.version_info[1], sys.version_info[2])'`
367     if [ "$compversion" != "$intversion" ]
368     then
369     echo "Python versions do not match. Escript was compiled for "$compversion"."
370     echo "Current version of Python appears to be "$intversion"."
371     exit 1
372     fi
373 caltinay 2806 if [ "$MPI_FLAVOUR" = "none" ]
374 jfenwick 2409 then
375 caltinay 3178 if [ ! -z $DOINTERACTIVE ]
376 jfenwick 2409 then
377     EXEC_CMD="$PYTHON_CMD -i $@"
378     else
379     EXEC_CMD="$PYTHON_CMD $@"
380     fi
381     else
382 caltinay 3178 if [ ! -z $DOINTERACTIVE ]
383 gross 2865 then
384     EXEC_CMD="$PYTHON_MPI -i $@"
385     else
386     EXEC_CMD="$PYTHON_MPI $@"
387     fi
388 jfenwick 2409 fi
389     fi
390     if [ ! -z $ESCRIPT_VERBOSE ]; then echo "Command to be executed is \"$EXEC_CMD\"."; fi
391     #===============================================================================================
392     #
393     # now we start to spwan things:
394     #
395 jfenwick 3259 if [ "$WITH_OPENMP" = "1" ]
396 jfenwick 2409 then
397     export OMP_NUM_THREADS=$ESCRIPT_NUM_THREADS
398     EXPORT_ENV="$EXPORT_ENV,OMP_NUM_THREADS"
399     fi
400     EXIT_CODE=1
401     #=============== no MPI ===================================
402 caltinay 2806 if [ "$MPI_FLAVOUR" = "none" ]
403 jfenwick 2409 then
404     $EXEC_CMD
405     EXIT_CODE=$?
406     #=============== OpenMPI ===================================
407 caltinay 2806 elif [ "$MPI_FLAVOUR" = "OPENMPI" ]
408 jfenwick 2409 then
409     if [ ! -z $HOSTFILE ]
410     then
411     HOST_LIST=`awk 'BEGIN{S=""}{if (S == "") { S = $0 } else {S = S "," $0}}END{print S}' $HOSTFILE`
412 gross 2905 CMD="mpirun --gmca mpi_warn_on_fork 0 -x ${EXPORT_ENV//,/ -x } --bynode -np $TOTPROC --host $HOST_LIST $EXEC_CMD"
413 jfenwick 2409 else
414 gross 2905 CMD="mpirun --gmca mpi_warn_on_fork 0 -x ${EXPORT_ENV//,/ -x } -np $TOTPROC $EXEC_CMD"
415 jfenwick 2409 fi
416     if [ ! -z $ESCRIPT_VERBOSE ]; then echo "MPI command is \"$CMD\"."; fi
417     $CMD
418     EXIT_CODE=$?
419    
420     #=============== Intel MPI ===================================
421 caltinay 2806 elif [ "$MPI_FLAVOUR" = "INTELMPI" ]
422 jfenwick 2409 then
423 gross 2510
424 jfenwick 3259 if [ "$WITH_OPENMP" = "1" ]
425 gross 2510 then
426     export I_MPI_PIN_DOMAIN=omp
427     EXPORT_ENV="$EXPORT_ENV, I_MPI_PIN_DOMAIN"
428     fi
429    
430 jfenwick 2409 if [ ! -z $HOSTFILE ]
431     then
432     mpdboot -n $ESCRIPT_NUM_NODES -r ssh -f $HOSTFILE
433     if [ $? -ne 0 ]
434     then
435     echo "mpdboot with host file $ESCRIPT_HOSTFILE for $ESCRIPT_NUM_NODES nodes failed."
436     exit 1
437     else
438     if [ ! -z $ESCRIPT_VERBOSE ]; then echo "mpdboot was started with host file $ESCRIPT_HOSTFILE for $ESCRIPT_NUM_NODES nodes."; fi
439     fi
440 gross 2866 else
441     mpdboot -n 1 -r ssh
442     if [ $? -ne 0 ]
443     then
444     echo "mpdboot failed."
445     exit 1
446     else
447     if [ ! -z $ESCRIPT_VERBOSE ]; then echo "mpdboot was started."; fi
448     fi
449 jfenwick 2409 fi
450     CMD="mpiexec -perhost $ESCRIPT_NUM_PROCS -envall -n $TOTPROC $EXEC_CMD"
451     if [ ! -z $ESCRIPT_VERBOSE ]; then echo "MPI command is \"$CMD\"."; fi
452     $CMD
453     EXIT_CODE=$?
454 gross 2866 mpdallexit
455     if [ ! -z $ESCRIPT_VERBOSE ]; then echo "mpdallexit executed."; fi
456 jfenwick 2409 #=============== SGI's MPIMPT ===================================
457 caltinay 2806 elif [ "$MPI_FLAVOUR" = "MPT" ]
458 jfenwick 2409 then
459     export MPI_NUM_MEMORY_REGIONS=0
460     EXPORT_ENV="$EXPORT_ENV,MPI_NUM_MEMORY_REGIONS"
461     if [ ! -z $HOSTFILE ]
462     then
463     HOST_LIST=`awk 'BEGIN{S=""}{if (S == "") { S = $0 } else {S = S "," $0}}END{print S}' $HOSTFILE`
464 gross 2866 CMD="mpirun $HOST_LIST -np $ESCRIPT_NUM_PROCS $EXEC_CMD"
465 jfenwick 2409 else
466     CMD="mpirun -np $TOTPROC $EXEC_CMD"
467     fi
468     if [ ! -z $ESCRIPT_VERBOSE ]; then echo "MPI command is \"$CMD\"."; fi
469     $CMD
470     EXIT_CODE=$?
471     #=============== MPICH ===================================
472 caltinay 2806 elif [ "$MPI_FLAVOUR" = "MPICH" ]
473 jfenwick 2409 then
474     if [ ! -z $HOSTFILE ]
475     then
476     touch $HOSTFILE2
477     for (( i=1;i<=$ESCRIPT_NUM_PROCS;i+=1 )) ; do cat $HOSTFILE >> $HOSTFILE2 ; done
478     CMD="mpirun -machinefile $HOSTFILE2 -np $TOTPROC $EXEC_CMD"
479     else
480     CMD="mpirun -np $TOTPROC $EXEC_CMD"
481     fi
482     if [ ! -z $ESCRIPT_VERBOSE ]; then echo "MPI command is \"$CMD\"."; fi
483     $CMD
484     EXIT_CODE=$?
485     #=============== MPICH2 ===================================
486 caltinay 2806 elif [ "$MPI_FLAVOUR" = "MPICH2" ]
487 jfenwick 2409 then
488     if [ ! -z $HOSTFILE ]
489     then
490     mpdboot -n $ESCRIPT_NUM_NODES -r ssh -f $HOSTFILE
491     if [ $? -ne 0 ]
492     then
493     echo "mpdboot with host file $ESCRIPT_HOSTFILE for $ESCRIPT_NUM_NODES nodes failed."
494     exit 1
495     else
496     if [ ! -z $ESCRIPT_VERBOSE ]; then echo "mpdboot was started with host file $ESCRIPT_HOSTFILE for $ESCRIPT_NUM_NODES nodes."; fi
497     fi
498 gross 2866 else
499     mpdboot -n 1 -r ssh
500     if [ $? -ne 0 ]
501     then
502     echo "mpdboot failed."
503     exit 1
504     else
505     if [ ! -z $ESCRIPT_VERBOSE ]; then echo "mpdboot was started."; fi
506     fi
507 jfenwick 2409 fi
508     CMD="mpiexec -genvlist $EXPORT_ENV -np $TOTPROC $EXEC_CMD"
509     if [ ! -z $ESCRIPT_VERBOSE ]; then echo "MPI command is \"$CMD\"."; fi
510     $CMD
511     EXIT_CODE=$?
512 gross 2866 mpdallexit
513     if [ ! -z $ESCRIPT_VERBOSE ]; then echo "mpdallexit executed."; fi
514 jfenwick 2409 else
515 caltinay 2806 echo "unknown MPI flavour '$MPI_FLAVOUR'."
516 jfenwick 2409 fi
517     exit $EXIT_CODE

Properties

Name Value
svn:executable *
svn:mergeinfo /branches/lapack2681/bin/escript:2682-2741 /branches/restext/bin/escript:2610-2624 /branches/stage3.0/bin/escript:2569-2590 /release/3.0/bin/escript:2591-2601

  ViewVC Help
Powered by ViewVC 1.1.26