-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcxt_min.sh
executable file
·126 lines (86 loc) · 2.81 KB
/
cxt_min.sh
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#!/bin/bash -l
usage(){ cat << EOU
cxt_min.sh : Simtrace minimal executable and script for shakedown
===================================================================
Workstation::
~/o/cxt_min.sh
Laptop::
~/o/cxt_min.sh grab
NOGRID=1 MODE=2 ~/o/cxt_min.sh ana
EOU
}
SDIR=$(dirname $(realpath $BASH_SOURCE))
SNAME=$(basename $BASH_SOURCE)
SSTEM=${SNAME/.sh}
ana_script=$SDIR/$SSTEM.py
case $(uname) in
Linux) defarg=run_info ;;
Darwin) defarg=grab_ana ;;
esac
[ -n "$BP" ] && defarg="info_dbg"
arg=${1:-$defarg}
export OPTICKS_HASH=$(git -C $OPTICKS_HOME rev-parse --short HEAD)
bin=CSGOptiXTMTest
source ~/.opticks/GEOM/GEOM.sh # sets GEOM envvar, use GEOM bash function to setup/edit
source ~/.opticks/GEOM/MOI.sh # sets MOI envvar, use MOI bash function to setup/edit
tmp=/tmp/$USER/opticks
TMP=${TMP:-$tmp}
export EVT=${EVT:-A000}
export BASE=$TMP/GEOM/$GEOM
export BINBASE=$BASE/$bin
export LOGDIR=$BINBASE/$MOI
export FOLD=$LOGDIR/$EVT
export SCRIPT=$(basename $BASH_SOURCE)
version=1
VERSION=${VERSION:-$version} ## see below currently using VERSION TO SELECT OPTICKS_EVENT_MODE
mkdir -p $LOGDIR
cd $LOGDIR
LOGNAME=$bin.log
export OPTICKS_INTEGRATION_MODE=1
# pushing this too high tripped M3 max photon limit
# 16*9*2000 = 0.288 (HMM must be
export CEGS=16:0:9:2000 # XZ default
#export CEGS=16:0:9:1000 # XZ default
#export CEGS=16:0:9:100 # XZ reduce rays for faster rsync
#export CEGS=16:9:0:1000 # try XY
## base photon count without any CEHIGH for 16:0:9:2000 is (2*16+1)*(2*9+1)*2000 = 1,254,000
#export CE_OFFSET=CE ## offsets the grid by the CE
cvd=1 # default 1:TITAN RTX
export CUDA_VISIBLE_DEVICES=${CVD:-$cvd}
logging(){
#export CSGOptiX=INFO
#export QEvent=INFO
#export QSim=INFO
#export SFrameGenstep=INFO
export CSGTarget=INFO
}
[ -n "$LOG" ] && logging
vars="GEOM LOGDIR BASE OPTICKS_HASH CVD CUDA_VISIBLE_DEVICES SDIR SNAME SSTEM FOLD script"
if [ "${arg/info}" != "$arg" ]; then
for var in $vars ; do printf "%20s : %s \n" "$var" "${!var}" ; done
fi
if [ "${arg/fold}" != "$arg" ]; then
echo $FOLD
fi
if [ "${arg/run}" != "$arg" -o "${arg/dbg}" != "$arg" ]; then
if [ -f "$LOGNAME" ]; then
echo $BASH_SOURCE : run/dbg : delete prior LOGNAME $LOGNAME
rm "$LOGNAME"
fi
if [ "${arg/run}" != "$arg" ]; then
$bin
elif [ "${arg/dbg}" != "$arg" ]; then
dbg__ $bin
fi
[ $? -ne 0 ] && echo $BASH_SOURCE run/dbg error && exit 1
fi
if [ "${arg/brab}" != "$arg" -o "${arg/list}" != "$arg" -o "${arg/pub}" != "$arg" ]; then
## THIS OLD GRAB SYNCING TOO MUCH
source $OPTICKS_HOME/bin/BASE_grab.sh $arg
fi
if [ "${arg/grab}" != "$arg" ]; then
source $OPTICKS_HOME/bin/rsync.sh $FOLD
fi
if [ "${arg/ana}" != "$arg" ]; then
${IPYTHON:-ipython} --pdb -i $ana_script
fi