forked from pmarguinaud/gpupack
-
Notifications
You must be signed in to change notification settings - Fork 0
/
gpupack
executable file
·99 lines (70 loc) · 1.46 KB
/
gpupack
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
92
93
94
95
96
97
98
#!/bin/bash
set -e
export GPUPACK_PREFIX=$HOME/gpupack
# Cycle & a branch
export CYCLE=49t2
export BRANCH=openacc
export REPO=https://github.com/pmarguinaud/IAL.git
export ECTRANS_GPU=OFF
# Architecture flavor
export OPT=1d
# Compiler
export ARCH=NVHPC2403
# Do everything and compile
export COMPILE=ON
# Do everything in screen session
export SCREEN=OFF
# gmkpack options subset
err=0
lhp=0
while getopts 'r:b:l:o:R:GNSH' option
do
case $option in
r) CYCLE=$OPTARG;;
b) BRANCH=$OPTARG;;
l) ARCH=$OPTARG;;
o) OPT=$OPTARG;;
R) REPO=$OPTARG;;
G) ECTRANS_GPU="ON";;
N) COMPILE="OFF";;
S) SCREEN="ON";;
H) hlp=1;;
\?) err=1;;
esac
done
if [ $err -eq 1 ]
then
exit 1
fi
if [ $hlp -eq 1 ]
then
echo "Usage: $(basename $0)"
echo " -r CYCLE (default $CYCLE)"
echo " -b BRANCH (default $BRANCH)"
echo " -l ARCH (default $ARCH) "
echo " -o OPT (default $OPT)"
echo " -R REPO (default $REPO)"
echo " -G (enable ectrans GPU, default NO)"
echo " -N (create the pack, do not compile)"
echo " -S (do everything in a screen sesssion)"
exit 0
fi
set -x
cd $GPUPACK_PREFIX
if [ "$SCREEN" == "ON" ]
then
init=$(mktemp --suffix .gpupack.sh)
chmod 755 $init
cat > $init << EOF
if [ -f ~/.bashrc ]
then
source ~/.bashrc
fi
source "$GPUPACK_PREFIX/scripts/gpupack"
run_gpupack
EOF
screen -S gpupack bash --rcfile $init -i
else
source "$GPUPACK_PREFIX/scripts/gpupack"
run_gpupack
fi