From 946b5c2482b292d92a21bbc71cb8c64b0545339a Mon Sep 17 00:00:00 2001 From: mknichel Date: Tue, 1 Oct 2019 09:20:28 +0200 Subject: [PATCH 1/3] test script added --- tests/embedding/perftest.sh | 63 +++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100755 tests/embedding/perftest.sh diff --git a/tests/embedding/perftest.sh b/tests/embedding/perftest.sh new file mode 100755 index 0000000000000..7417bc364db67 --- /dev/null +++ b/tests/embedding/perftest.sh @@ -0,0 +1,63 @@ +#!/bin/bash + +skipm="" #detectors to skip +m="PIPE ITS TPC" #detectors to simulate +g="pythia8hi" #generator for background +gs="pythia8" #generator for signal + +for nb in {10,100}; do + + mkdir -p $nb + rm -rf $nb/* + cd $nb + + mkdir -p background + rm -rf background/* + cd background + + #time to create the background events + start=`date +%s` + #time o2-sim -n $nb -m $m -g $g | tee -a log.txt + time o2-sim -n $nb -g $g | tee -a log.txt + end=`date +%s` + timebg=`expr $end - $start` + echo wall time for background event generation "$timebg" | tee -a log.txt + + cd .. + + for ns in {10,100,1000,10000}; do + + mkdir -p signal$ns + rm -rf signal$ns/* + cd signal$ns + + #time to create the signal events + start=`date +%s` + #time o2-sim -n $ns -m $m -g $gs --embedIntoFile ./../background/o2sim.root | tee -a log.txt + time o2-sim -n $ns -g $gs --embedIntoFile ./../background/o2sim.root | tee -a log.txt + end=`date +%s` + times=`expr $end - $start` + echo wall time for signal event generation "$times" | tee -a log.txt + + #time for digitization + start=`date +%s` + time o2-sim-digitizer-workflow -b --simFile ./../background/o2sim.root --simFileS o2sim.root -n $ns | tee -a log.txt + end=`date +%s` + timed=`expr $end - $start` + echo wall time for digitization "$timed" | tee -a log.txt + + cd .. + + echo number of background events "$nb" | tee -a ../log.txt + echo number of signal event "$ns" | tee -a ../log.txt + echo wall time for background event generation "$timebg" | tee -a ../log.txt + echo wall time for signal event generation "$times" | tee -a log.txt ../log.txt + echo wall time for digitization "$timed" | tee -a ../log.txt + echo | tee -a ../log.txt + + done + cd .. +done + + + From 4b4a74cb4cd2046dacaf910cb01069585203bcf2 Mon Sep 17 00:00:00 2001 From: mknichel Date: Thu, 3 Oct 2019 12:20:14 +0200 Subject: [PATCH 2/3] benchmark macro --- tests/embedding/perftest.sh | 134 +++++++++++++++++++++-------------- tests/embedding/perftest0.sh | 63 ++++++++++++++++ 2 files changed, 145 insertions(+), 52 deletions(-) create mode 100755 tests/embedding/perftest0.sh diff --git a/tests/embedding/perftest.sh b/tests/embedding/perftest.sh index 7417bc364db67..b02459db473b2 100755 --- a/tests/embedding/perftest.sh +++ b/tests/embedding/perftest.sh @@ -1,63 +1,93 @@ #!/bin/bash -skipm="" #detectors to skip -m="PIPE ITS TPC" #detectors to simulate -g="pythia8hi" #generator for background -gs="pythia8" #generator for signal - -for nb in {10,100}; do - - mkdir -p $nb - rm -rf $nb/* - cd $nb - - mkdir -p background - rm -rf background/* - cd background - - #time to create the background events - start=`date +%s` - #time o2-sim -n $nb -m $m -g $g | tee -a log.txt - time o2-sim -n $nb -g $g | tee -a log.txt - end=`date +%s` - timebg=`expr $end - $start` - echo wall time for background event generation "$timebg" | tee -a log.txt - - cd .. - - for ns in {10,100,1000,10000}; do - - mkdir -p signal$ns - rm -rf signal$ns/* - cd signal$ns - - #time to create the signal events - start=`date +%s` - #time o2-sim -n $ns -m $m -g $gs --embedIntoFile ./../background/o2sim.root | tee -a log.txt - time o2-sim -n $ns -g $gs --embedIntoFile ./../background/o2sim.root | tee -a log.txt - end=`date +%s` - times=`expr $end - $start` - echo wall time for signal event generation "$times" | tee -a log.txt +gb=pythia8hi #generator for background +gs=pythia8 #generator for signal +#m="PIPE TPC ITS" # modules to generate +#me="ZDC" # modules to exclude +#dry=true #only testing for debug - #time for digitization +[ -n "$dry" ] && echo "dry test run. nothing is actually done" +echo + +for nb in {1,10}; do + + # + # generate background events + # + echo starting background_$nb `date` | tee -a perftest.log.txt + mkdir background_$nb + cd background_$nb + cmd="{ time o2-sim -n$nb -g $gb " + if [ -n "$m" ] + then + cmd="$cmd -m $m " + fi + if [ -n "$me" ] + then + cmd="$cmd --skipModules $me " + fi + cmd="$cmd ; } &> log.txt" + echo "$cmd" | tee -a ./../perftest.log.txt start=`date +%s` - time o2-sim-digitizer-workflow -b --simFile ./../background/o2sim.root --simFileS o2sim.root -n $ns | tee -a log.txt + [ -z "$dry" ] && eval $cmd end=`date +%s` - timed=`expr $end - $start` - echo wall time for digitization "$timed" | tee -a log.txt - cd .. + timebg=`expr $end - $start` + echo finished background_$nb `date` | tee -a perftest.log.txt + echo walltime background_$nb "$timebg" | tee -a perftest.log.txt + echo | tee -a perftest.log.txt + + for ns in {1,10,100,1000}; do + + # + # generate signal events + # + echo starting background_${nb}_signal_${ns} `date` | tee -a perftest.log.txt + mkdir background_${nb}_signal_$ns + cd background_${nb}_signal_$ns + cmd="{ time o2-sim -n$ns -g $gs " + if [ -n "$m" ] + then + cmd="$cmd -m $m " + fi + if [ -n "$me" ] + then + cmd="$cmd --skipModules $me " + fi + cmd="$cmd --embedIntoFile ./../background_$nb/sim.root ; } &> log.txt" + echo "$cmd" | tee -a ./../perftest.log.txt + start=`date +%s` + [ -z "$dry" ] && eval $cmd + end=`date +%s` + cd .. + timebg=`expr $end - $start` + echo finished background_${nb}_signal_${ns} `date` | tee -a perftest.log.txt + echo walltime background_${nb}_signal_${ns} "$timebg" | tee -a perftest.log.txt + echo | tee -a perftest.log.txt + + # + # digitize signal+background events + # + echo starting digitization background_${nb}_signal_${ns} `date` | tee -a perftest.log.txt + #mkdir background_${nb}_singal_$ns + cd background_${nb}_signal_$ns + cmd="{ time o2-sim-digitizer-workflow -n$ns --simFile ./../background_$nb/o2sim.root --simFileS o2sim.root ; } &> log.digit.txt" + echo "$cmd" | tee -a ./../perftest.log.txt + start=`date +%s` + [ -z "$dry" ] && eval $cmd + end=`date +%s` + cd .. + timebg=`expr $end - $start` + echo finished digitization background_${nb}_signal_${ns} `date` | tee -a perftest.log.txt + echo walltime digitization background_${nb}_signal_${ns} "$timebg" | tee -a perftest.log.txt + echo | tee -a perftest.log.txt + + done - echo number of background events "$nb" | tee -a ../log.txt - echo number of signal event "$ns" | tee -a ../log.txt - echo wall time for background event generation "$timebg" | tee -a ../log.txt - echo wall time for signal event generation "$times" | tee -a log.txt ../log.txt - echo wall time for digitization "$timed" | tee -a ../log.txt - echo | tee -a ../log.txt - - done - cd .. done +echo +echo "everything finished." | tee -a perftest.log.txt +exit diff --git a/tests/embedding/perftest0.sh b/tests/embedding/perftest0.sh new file mode 100755 index 0000000000000..7417bc364db67 --- /dev/null +++ b/tests/embedding/perftest0.sh @@ -0,0 +1,63 @@ +#!/bin/bash + +skipm="" #detectors to skip +m="PIPE ITS TPC" #detectors to simulate +g="pythia8hi" #generator for background +gs="pythia8" #generator for signal + +for nb in {10,100}; do + + mkdir -p $nb + rm -rf $nb/* + cd $nb + + mkdir -p background + rm -rf background/* + cd background + + #time to create the background events + start=`date +%s` + #time o2-sim -n $nb -m $m -g $g | tee -a log.txt + time o2-sim -n $nb -g $g | tee -a log.txt + end=`date +%s` + timebg=`expr $end - $start` + echo wall time for background event generation "$timebg" | tee -a log.txt + + cd .. + + for ns in {10,100,1000,10000}; do + + mkdir -p signal$ns + rm -rf signal$ns/* + cd signal$ns + + #time to create the signal events + start=`date +%s` + #time o2-sim -n $ns -m $m -g $gs --embedIntoFile ./../background/o2sim.root | tee -a log.txt + time o2-sim -n $ns -g $gs --embedIntoFile ./../background/o2sim.root | tee -a log.txt + end=`date +%s` + times=`expr $end - $start` + echo wall time for signal event generation "$times" | tee -a log.txt + + #time for digitization + start=`date +%s` + time o2-sim-digitizer-workflow -b --simFile ./../background/o2sim.root --simFileS o2sim.root -n $ns | tee -a log.txt + end=`date +%s` + timed=`expr $end - $start` + echo wall time for digitization "$timed" | tee -a log.txt + + cd .. + + echo number of background events "$nb" | tee -a ../log.txt + echo number of signal event "$ns" | tee -a ../log.txt + echo wall time for background event generation "$timebg" | tee -a ../log.txt + echo wall time for signal event generation "$times" | tee -a log.txt ../log.txt + echo wall time for digitization "$timed" | tee -a ../log.txt + echo | tee -a ../log.txt + + done + cd .. +done + + + From b80f4554344450453f7e747b8493cb5490e339f0 Mon Sep 17 00:00:00 2001 From: mknichel Date: Fri, 4 Oct 2019 13:13:24 +0200 Subject: [PATCH 3/3] detctor list for o2-digitizer-workflow --- tests/embedding/perftest.sh | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/tests/embedding/perftest.sh b/tests/embedding/perftest.sh index b02459db473b2..a8e75827ff10c 100755 --- a/tests/embedding/perftest.sh +++ b/tests/embedding/perftest.sh @@ -2,14 +2,17 @@ gb=pythia8hi #generator for background gs=pythia8 #generator for signal -#m="PIPE TPC ITS" # modules to generate -#me="ZDC" # modules to exclude +#m="PIPE TPC ITS" # modules to simulate +me="EMC ZDC MFT MID MCH" # modules to exclude from simulation #dry=true #only testing for debug +d=`echo "$m" | sed s-\ -,-g` # detectors to simulate (comma sperated list) +de=`echo "$me" | sed s-\ -,-g` # detectors to skip from simulation (comma separated list) + [ -n "$dry" ] && echo "dry test run. nothing is actually done" echo -for nb in {1,10}; do +for nb in {1,10,100}; do # # generate background events @@ -37,7 +40,7 @@ for nb in {1,10}; do echo walltime background_$nb "$timebg" | tee -a perftest.log.txt echo | tee -a perftest.log.txt - for ns in {1,10,100,1000}; do + for ns in {1,10,100,1000,10000}; do # # generate signal events @@ -71,7 +74,16 @@ for nb in {1,10}; do echo starting digitization background_${nb}_signal_${ns} `date` | tee -a perftest.log.txt #mkdir background_${nb}_singal_$ns cd background_${nb}_signal_$ns - cmd="{ time o2-sim-digitizer-workflow -n$ns --simFile ./../background_$nb/o2sim.root --simFileS o2sim.root ; } &> log.digit.txt" + cmd="{ time o2-sim-digitizer-workflow -n$ns --simFile ./../background_$nb/o2sim.root --simFileS o2sim.root " + if [ -n "$d" ] + then + cmd="$cmd --onlyDet $d" + fi + if [ -n "$de" ] + then + cmd="$cmd --skipDet $de " + fi + cmd="$cmd ; } &> log.digit.txt" echo "$cmd" | tee -a ./../perftest.log.txt start=`date +%s` [ -z "$dry" ] && eval $cmd