/[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 3871 - (hide annotations)
Thu Mar 15 07:06:51 2012 UTC (6 years, 8 months ago) by jfenwick
File size: 15250 byte(s)
This version builds under py2 and has a problem with sorting.

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 caltinay 3388 cd "`dirname $0`"
39 jfenwick 2409 scriptdir=`pwd`
40 caltinay 3388 cd "$CURDIR"
41 jfenwick 2409 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 caltinay 3388 cd "$scriptdir/.."
53 jfenwick 2409 ESCRIPT_ROOT=`pwd`
54     cd ..
55     ESCRIPT_PARENT=`pwd`
56 caltinay 3388 cd "$CURDIR"
57 jfenwick 2409
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 jfenwick 3871 PYTHON_CMD=python3
66 jfenwick 2409
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 3340 compversion=`get_buildvar python_version | cut -d. -f1,2`
366 jfenwick 3871
367     intversion=`$PYTHON_CMD -c 'from __future__ import print_function;import sys;print("%d.%d"%(sys.version_info[0], sys.version_info[1]))'`
368 caltinay 3178 if [ "$compversion" != "$intversion" ]
369     then
370     echo "Python versions do not match. Escript was compiled for "$compversion"."
371     echo "Current version of Python appears to be "$intversion"."
372     exit 1
373     fi
374 caltinay 2806 if [ "$MPI_FLAVOUR" = "none" ]
375 jfenwick 2409 then
376 caltinay 3178 if [ ! -z $DOINTERACTIVE ]
377 jfenwick 2409 then
378     EXEC_CMD="$PYTHON_CMD -i $@"
379     else
380     EXEC_CMD="$PYTHON_CMD $@"
381     fi
382     else
383 caltinay 3178 if [ ! -z $DOINTERACTIVE ]
384 gross 2865 then
385     EXEC_CMD="$PYTHON_MPI -i $@"
386     else
387     EXEC_CMD="$PYTHON_MPI $@"
388     fi
389 jfenwick 2409 fi
390     fi
391     if [ ! -z $ESCRIPT_VERBOSE ]; then echo "Command to be executed is \"$EXEC_CMD\"."; fi
392     #===============================================================================================
393     #
394     # now we start to spwan things:
395     #
396 jfenwick 3259 if [ "$WITH_OPENMP" = "1" ]
397 jfenwick 2409 then
398     export OMP_NUM_THREADS=$ESCRIPT_NUM_THREADS
399     EXPORT_ENV="$EXPORT_ENV,OMP_NUM_THREADS"
400     fi
401     EXIT_CODE=1
402     #=============== no MPI ===================================
403 caltinay 2806 if [ "$MPI_FLAVOUR" = "none" ]
404 jfenwick 2409 then
405     $EXEC_CMD
406     EXIT_CODE=$?
407     #=============== OpenMPI ===================================
408 caltinay 2806 elif [ "$MPI_FLAVOUR" = "OPENMPI" ]
409 jfenwick 2409 then
410     if [ ! -z $HOSTFILE ]
411     then
412     HOST_LIST=`awk 'BEGIN{S=""}{if (S == "") { S = $0 } else {S = S "," $0}}END{print S}' $HOSTFILE`
413 jfenwick 3871 CMD="mpirun --gmca mpi_warn_on_fork 0 -x ${EXPORT_ENV//,/ -x } --bynode -np $TOTPROC --host $HOST_LIST $EXEC_CMD"
414 jfenwick 2409 else
415 jfenwick 3871 CMD="mpirun --gmca mpi_warn_on_fork 0 -x ${EXPORT_ENV//,/ -x } -np $TOTPROC $EXEC_CMD"
416 jfenwick 2409 fi
417     if [ ! -z $ESCRIPT_VERBOSE ]; then echo "MPI command is \"$CMD\"."; fi
418     $CMD
419     EXIT_CODE=$?
420    
421     #=============== Intel MPI ===================================
422 caltinay 2806 elif [ "$MPI_FLAVOUR" = "INTELMPI" ]
423 jfenwick 2409 then
424 gross 2510
425 jfenwick 3259 if [ "$WITH_OPENMP" = "1" ]
426 gross 2510 then
427     export I_MPI_PIN_DOMAIN=omp
428     EXPORT_ENV="$EXPORT_ENV, I_MPI_PIN_DOMAIN"
429     fi
430    
431 jfenwick 2409 if [ ! -z $HOSTFILE ]
432     then
433     mpdboot -n $ESCRIPT_NUM_NODES -r ssh -f $HOSTFILE
434     if [ $? -ne 0 ]
435     then
436     echo "mpdboot with host file $ESCRIPT_HOSTFILE for $ESCRIPT_NUM_NODES nodes failed."
437     exit 1
438     else
439     if [ ! -z $ESCRIPT_VERBOSE ]; then echo "mpdboot was started with host file $ESCRIPT_HOSTFILE for $ESCRIPT_NUM_NODES nodes."; fi
440     fi
441 gross 2866 else
442     mpdboot -n 1 -r ssh
443     if [ $? -ne 0 ]
444     then
445     echo "mpdboot failed."
446     exit 1
447     else
448     if [ ! -z $ESCRIPT_VERBOSE ]; then echo "mpdboot was started."; fi
449     fi
450 jfenwick 2409 fi
451     CMD="mpiexec -perhost $ESCRIPT_NUM_PROCS -envall -n $TOTPROC $EXEC_CMD"
452     if [ ! -z $ESCRIPT_VERBOSE ]; then echo "MPI command is \"$CMD\"."; fi
453     $CMD
454     EXIT_CODE=$?
455 gross 2866 mpdallexit
456     if [ ! -z $ESCRIPT_VERBOSE ]; then echo "mpdallexit executed."; fi
457 jfenwick 2409 #=============== SGI's MPIMPT ===================================
458 caltinay 2806 elif [ "$MPI_FLAVOUR" = "MPT" ]
459 jfenwick 2409 then
460     export MPI_NUM_MEMORY_REGIONS=0
461     EXPORT_ENV="$EXPORT_ENV,MPI_NUM_MEMORY_REGIONS"
462     if [ ! -z $HOSTFILE ]
463     then
464     HOST_LIST=`awk 'BEGIN{S=""}{if (S == "") { S = $0 } else {S = S "," $0}}END{print S}' $HOSTFILE`
465 gross 2866 CMD="mpirun $HOST_LIST -np $ESCRIPT_NUM_PROCS $EXEC_CMD"
466 jfenwick 2409 else
467     CMD="mpirun -np $TOTPROC $EXEC_CMD"
468     fi
469     if [ ! -z $ESCRIPT_VERBOSE ]; then echo "MPI command is \"$CMD\"."; fi
470     $CMD
471     EXIT_CODE=$?
472     #=============== MPICH ===================================
473 caltinay 2806 elif [ "$MPI_FLAVOUR" = "MPICH" ]
474 jfenwick 2409 then
475     if [ ! -z $HOSTFILE ]
476     then
477     touch $HOSTFILE2
478     for (( i=1;i<=$ESCRIPT_NUM_PROCS;i+=1 )) ; do cat $HOSTFILE >> $HOSTFILE2 ; done
479     CMD="mpirun -machinefile $HOSTFILE2 -np $TOTPROC $EXEC_CMD"
480     else
481     CMD="mpirun -np $TOTPROC $EXEC_CMD"
482     fi
483     if [ ! -z $ESCRIPT_VERBOSE ]; then echo "MPI command is \"$CMD\"."; fi
484     $CMD
485     EXIT_CODE=$?
486     #=============== MPICH2 ===================================
487 caltinay 2806 elif [ "$MPI_FLAVOUR" = "MPICH2" ]
488 jfenwick 2409 then
489     if [ ! -z $HOSTFILE ]
490     then
491     mpdboot -n $ESCRIPT_NUM_NODES -r ssh -f $HOSTFILE
492     if [ $? -ne 0 ]
493     then
494     echo "mpdboot with host file $ESCRIPT_HOSTFILE for $ESCRIPT_NUM_NODES nodes failed."
495     exit 1
496     else
497     if [ ! -z $ESCRIPT_VERBOSE ]; then echo "mpdboot was started with host file $ESCRIPT_HOSTFILE for $ESCRIPT_NUM_NODES nodes."; fi
498     fi
499 gross 2866 else
500     mpdboot -n 1 -r ssh
501     if [ $? -ne 0 ]
502     then
503     echo "mpdboot failed."
504     exit 1
505     else
506     if [ ! -z $ESCRIPT_VERBOSE ]; then echo "mpdboot was started."; fi
507     fi
508 jfenwick 2409 fi
509     CMD="mpiexec -genvlist $EXPORT_ENV -np $TOTPROC $EXEC_CMD"
510     if [ ! -z $ESCRIPT_VERBOSE ]; then echo "MPI command is \"$CMD\"."; fi
511     $CMD
512     EXIT_CODE=$?
513 gross 2866 mpdallexit
514     if [ ! -z $ESCRIPT_VERBOSE ]; then echo "mpdallexit executed."; fi
515 jfenwick 2409 else
516 caltinay 2806 echo "unknown MPI flavour '$MPI_FLAVOUR'."
517 jfenwick 2409 fi
518     exit $EXIT_CODE

Properties

Name Value
svn:executable *
svn:mergeinfo /branches/lapack2681/bin/escript:2682-2741 /branches/pasowrap/bin/run-escript:3661-3674 /branches/restext/bin/escript:2610-2624 /branches/ripleygmg_from_3668/bin/run-escript:3669-3791 /branches/stage3.0/bin/escript:2569-2590 /release/3.0/bin/escript:2591-2601

  ViewVC Help
Powered by ViewVC 1.1.26