File: job

package info (click to toggle)
adios 1.13.1-31
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 23,692 kB
  • sloc: ansic: 133,236; f90: 8,791; sh: 7,779; python: 7,648; xml: 3,793; makefile: 2,996; cpp: 2,340; java: 626; sed: 16; perl: 8
file content (91 lines) | stat: -rwxr-xr-x 2,351 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#!/bin/bash
#PBS -A STF006
#PBS -N genarray
#PBS -j oe
#PBS -l walltime=1:00:00,size=20
## On jaguarpf, you need size=48 (4 nodes * 12cores for 4 apruns)

#cd $PBS_O_WORKDIR
if [ `hostname | cut -c 1-4` == "sith" ]; then
    source /etc/profile.d/modules.sh
    module load szip
fi

# Number of writers (WPX*WPY = WRITEPROC)
WRITEPROC=16
WPX=4
WPY=4
# Number of staging processes, if staging is used
STAGINGPROC=4
# Number of readers (RPX*RPY = READPROC)
READPROC=9
RPX=3
RPY=3


let "WP=WPX*WPY"
if [ $WP -ne $WRITEPROC ]; then
    echo "WPX*WPY != WRITEPROC: " $WP and $WRITEPROC
    exit 1
fi

let "RP=RPX*RPY"
if [ $RP -ne $READPROC ]; then
    echo "RPX*RPY != READPROC: " $RP and $READPROC
    exit 1
fi


# clean-up
rm -f log.* draw* core* conf dataspaces.conf srv.lck
rm -f writer.bp reader_0*.bp

METHOD=`grep "<transport .*method=" coupling_writer_2D.xml | sed -e "s/^.*method=\"\([A-Z]*\).*/\1/"`
echo "The selected coupling method in coupling_writer_2D.xml is: $METHOD"

if [ "x$METHOD" == "xDATASPACES" ]; then
    READMETHOD="DATASPACES"
    let "PROCALL=WRITEPROC+READPROC"

    # Prepare config file for DataSpaces
    echo "## Config file for DataSpaces
ndim = 3
dims = 1000,1000,1000
max_versions = 10
" > dataspaces.conf

    # Run DataSpaces
    SERVER=/ccs/proj/e2e/dataspaces/sith/pgi/bin/dataspaces_server
    echo "-- Start DataSpaces server "$SERVER" on $STAGINGPROC PEs, -s$STAGINGPROC -c$PROCALL"
    mpirun -np $STAGINGPROC $SERVER -s$STAGINGPROC -c$PROCALL &> log.server &

    ## Give some time for the servers to load and startup
    sleep 1s
    while [ ! -f conf ]; do
        echo "-- File conf is not yet available from server. Sleep more"
        sleep 1s
    done
    sleep 10s  # wait server to fill up the conf file

    ## Export the main server config to the environment
    while read line; do
        export set "${line}"
    done < conf

    echo "-- DataSpaces Portals IDs: P2TNID = $P2TNID   P2TPID = $P2TPID"
else
    READMETHOD="FILE"
fi

# Start WRITER
echo "-- Start WRITER on $WRITEPROC PEs"
mpirun -np $WRITEPROC ./coupling_writer_2D $WPX $WPY 10 10 5  >& log.writer &

# Start READER
echo "-- Start READER on $READPROC PEs."
mpirun -np $READPROC ./coupling_reader_2D $RPX $RPY $READMETHOD 1 >& log.reader &

echo "-- Wait until all applications exit. Run ./check.sh to see status"
wait
rm -f conf