Commit | Line | Data |
---|---|---|
805e021f CE |
1 | #!/bin/bash |
2 | ||
3 | ALDIR="/usr/local/lib/afsload" | |
4 | ALCHECK="$ALDIR/afsload_check.pl" | |
5 | ALRUN="$ALDIR/afsload_run.pl" | |
6 | ALPERL="perl -I$ALDIR/perl" | |
7 | ||
8 | if [ "x$MPIRUN" = "x" ] ; then | |
9 | MPIRUN="mpirun" | |
10 | fi | |
11 | if [ "x$LIBMPI" = "x" ] ; then | |
12 | LIBMPI="/usr/lib/libmpi.so" | |
13 | fi | |
14 | ||
15 | usage() { | |
16 | echo "Usage: $0 [-q] -p <nprocs> -t <test.conf>" >&2 | |
17 | echo -e "\t-q\tquiet/quick (do not test conf consistency)" >&2 | |
18 | echo -e "\t-p\tnumber of nodes/processes to run" >&2 | |
19 | echo -e "\t-t\ttest configuration" >&2 | |
20 | echo >&2 | |
21 | exit 1 | |
22 | } | |
23 | ||
24 | while getopts qp:t: opt ; do | |
25 | case "$opt" in | |
26 | q) quiet=1;; | |
27 | p) procs="$OPTARG";; | |
28 | t) conf="$OPTARG";; | |
29 | [?]) usage;; | |
30 | esac | |
31 | done | |
32 | ||
33 | if [ "x$procs" = "x" ] || [ "x$conf" = "x" ] ; then | |
34 | usage | |
35 | fi | |
36 | ||
37 | procs=$((procs + 1)) | |
38 | ||
39 | if [ "x$quiet" = "x" ] ; then | |
40 | if $ALPERL "$ALCHECK" -p "$procs" "$conf" ; then | |
41 | : | |
42 | else | |
43 | exit 2 | |
44 | fi | |
45 | fi | |
46 | ||
47 | if which "$MPIRUN" >/dev/null 2>&1 ; then | |
48 | : | |
49 | else | |
50 | echo >&2 | |
51 | echo "Cannot find $MPIRUN; set the MPIRUN environment variable to " >&2 | |
52 | echo "the mpirun command we should use." >&2 | |
53 | exit 1 | |
54 | fi | |
55 | ||
56 | if [ ! -f "$LIBMPI" ] ; then | |
57 | echo >&2 | |
58 | echo "Cannot find $LIBMPI; set the LIBMPI environment variable to " >&2 | |
59 | echo "the libmpi.so that we should run against." >&2 | |
60 | exit 1 | |
61 | fi | |
62 | ||
63 | "$MPIRUN" -np "$procs" /bin/sh -c "LD_PRELOAD=$LIBMPI $ALPERL $ALRUN $conf" |