forked from AliceO2Group/O2DataProcessing
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtpc-workflow.sh
executable file
·75 lines (67 loc) · 3.11 KB
/
tpc-workflow.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
#!/usr/bin/env bash
source common/setenv.sh
ARGS_ALL="--session default --severity $SEVERITY --shm-segment-id $NUMAID --shm-segment-size $SHMSIZE"
if [ $EPNSYNCMODE == 1 ]; then
ARGS_ALL+=" --infologger-severity $INFOLOGGER_SEVERITY"
#ARGS_ALL+=" --monitoring-backend influxdb-unix:///tmp/telegraf.sock"
ARGS_ALL+=" --monitoring-backend no-op://"
else
ARGS_ALL+=" --monitoring-backend no-op://"
fi
if [ $SHMTHROW == 0 ]; then
ARGS_ALL+=" --shm-throw-bad-alloc 0"
fi
if [ $NORATELOG == 1 ]; then
ARGS_ALL+=" --fairmq-rate-logging 0"
fi
if [ $NUMAGPUIDS != 0 ]; then
ARGS_ALL+=" --child-driver 'numactl --membind $NUMAID --cpunodebind $NUMAID'"
fi
if [ $GPUTYPE != "CPU" ]; then
ARGS_ALL+=" --shm-mlock-segment-on-creation 1"
fi
ARGS_ALL_CONFIG="NameConf.mDirGRP=$FILEWORKDIR;NameConf.mDirGeom=$FILEWORKDIR;NameConf.mDirCollContext=$FILEWORKDIR;NameConf.mDirMatLUT=$FILEWORKDIR;keyval.input_dir=$FILEWORKDIR;keyval.output_dir=/dev/null"
if [ $GPUTYPE == "HIP" ]; then
if [ $NUMAID == 0 ] || [ $NUMAGPUIDS == 0 ]; then
export TIMESLICEOFFSET=0
else
export TIMESLICEOFFSET=$NGPUS
fi
GPU_CONFIG_KEY+="GPU_proc.deviceNum=0;GPU_global.mutexMemReg=true;"
GPU_CONFIG+=" --environment \"ROCR_VISIBLE_DEVICES={timeslice${TIMESLICEOFFSET}}\""
export HSA_NO_SCRATCH_RECLAIM=1
#export HSA_TOOLS_LIB=/opt/rocm/lib/librocm-debug-agent.so.2
else
GPU_CONFIG_KEY+="GPU_proc.deviceNum=-2;"
fi
if [ $GPUTYPE != "CPU" ]; then
GPU_CONFIG_KEY+="GPU_proc.forceMemoryPoolSize=$GPUMEMSIZE;"
if [ $HOSTMEMSIZE == "0" ]; then
HOSTMEMSIZE=$(( 1 << 30 ))
fi
fi
if [ $HOSTMEMSIZE != "0" ]; then
GPU_CONFIG_KEY+="GPU_proc.forceHostMemoryPoolSize=$HOSTMEMSIZE;"
fi
PROXY_INSPEC="A:TPC/RAWDATA;dd:FLP/DISTSUBTIMEFRAME/0;eos:***/INFORMATION"
CALIB_INSPEC="A:TPC/RAWDATA;dd:FLP/DISTSUBTIMEFRAME/0;eos:***/INFORMATION"
o2-dpl-raw-proxy $ARGS_ALL \
--dataspec "$PROXY_INSPEC" \
--readout-proxy "--channel-config 'name=readout-proxy,type=pull,method=connect,address=ipc://@$INRAWCHANNAME,transport=shmem,rateLogging=1'" \
| o2-tpc-raw-to-digits-workflow $ARGS_ALL \
--input-spec "$CALIB_INSPEC" \
--remove-duplicates \
--pipeline tpc-raw-to-digits-0:6 \
--configKeyValues "$ARGS_ALL_CONFIG;TPCDigitDump.LastTimeBin=1000;" \
| o2-tpc-reco-workflow $ARGS_ALL \
--input-type digitizer \
--output-type clusters,tracks,encoded-clusters disable-writer \
--disable-mc \
--pipeline tpc-tracker:4 \
$GPU_CONFIG \
--configKeyValues "$ARGS_ALL_CONFIG;$GPU_CONFIG_KEY;align-geom.mDetectors=none;GPU_global.deviceType=$GPUTYPE;GPU_proc.tpcIncreasedMinClustersPerRow=500000;GPU_proc.ignoreNonFatalGPUErrors=1;" \
| o2-eve-display $ARGS_ALL --display-tracks TPC --display-clusters TPC --disable-mc --jsons-folder /home/ed/jsons --eve-dds-collection-index 0 --configKeyValues "$ARGS_ALL_CONFIG" \
| o2-ctf-writer-workflow $ARGS_ALL --configKeyValues "$ARGS_ALL_CONFIG" --output-dir $CTF_DIR --ctf-dict-dir $FILEWORKDIR --output-type ctf --onlyDet TPC \
| o2-dpl-run $ARGS_ALL --dds
#HOST=localhost
#| o2-qc $ARGS_ALL --config json:///home/epn/odc/files/tpcQCTasks_multinode_ALL.json --local --host $HOST \