Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add logs and summary tables of a DY+3j subprocess for CHEP24 #1024

Closed
wants to merge 46 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
cf6e139
[logs] various minor improvements in tput/summaryTable.sh script (add…
valassi Oct 11, 2024
2a1fe70
[logs] copy tput/summaryTable.sh to summaryTable2023.sh - prepare to …
valassi Oct 11, 2024
1adf20c
[logs] add v10000 table in tput/summaryTable.sh
valassi Oct 11, 2024
ee35379
[logs] in tput/summaryTable.sh remove all legacy tables and keep only…
valassi Oct 11, 2024
8884826
[logs] in tput/summaryTable.sh, fix parsing with new names check_(cpp…
valassi Oct 11, 2024
b390052
[logs] add tput/summaryTable_v10000.txt (including HIP results for th…
valassi Oct 11, 2024
7bee836
[logs] various minor improvements in tmad/summaryTable.sh script (add…
valassi Oct 11, 2024
bd00035
[logs] copy tmad/summaryTable.sh to summaryTable2023.sh - prepare to …
valassi Oct 12, 2024
8719d0e
[logs] add tmad/summaryTable_v10000.txt (but HEL counters crash, and …
valassi Oct 12, 2024
6875503
[logs] in tmad/summaryTable.sh, handle HEL counters (add them to "Ove…
valassi Oct 12, 2024
cbcd0e1
[logs] in tmad/summaryTable.sh remove all legacy tables and keep only…
valassi Oct 12, 2024
3c31b00
[logs] add debug printouts to tmad/summaryTable2023.sh to understand …
valassi Oct 12, 2024
1f17c7f
[logs] in tmad/summaryTable.sh fix CUDA parsing of "(3-cuda)" tag - s…
valassi Oct 12, 2024
506c0ae
[logs] in tmad/summaryTable.sh, clarify the handling of taglist vs pa…
valassi Oct 12, 2024
94eec38
[logs] in tmad/summaryTable.sh add "(3-hip)" handling - still need to…
valassi Oct 12, 2024
b0501d0
[logs] fix tmad/summaryTable.sh so that only HIP or CUDA is printed o…
valassi Oct 12, 2024
d43a689
[logs] fix tmad/summaryTable.sh so as to exclude GPU tags in CPU-only…
valassi Oct 12, 2024
4e50d9d
[logs] in tmad/summaryTable.sh, replace a single v10000 tables by thr…
valassi Oct 12, 2024
65c21d3
[logs] in tmad, add three summaryTable_(rd90|gold|lumi)_chep24.txt
valassi Oct 12, 2024
1165dea
[logs] in tput/summaryTable.sh, replace the single v10000 table by th…
valassi Oct 12, 2024
9409dee
[logs] in tput, add three summaryTable_(rd90|gold|lumi)_chep24.txt an…
valassi Oct 12, 2024
b271817
[logs] in tput, move all tables created with summaryTable2023.sh to a…
valassi Oct 12, 2024
86948f8
[logs] minor improvements in tmad/summaryTable.sh
valassi Oct 12, 2024
98c3a6a
[logs] ** COMPLETE LOGS ** in tmad, move all tables created with summ…
valassi Oct 12, 2024
2479bf8
[prof] in CODEGEN/generateAndCompare.sh, add gux_taptamggux (similar …
valassi Aug 23, 2024
ad52ebb
[cmsdy] in CODEGEN/generateAndCompare.sh, add pp_dy012j from Jin to d…
valassi Aug 2, 2024
82f1e37
[cmsdy] in CODEGEN/generateAndCompare.sh add pp_dy3j
valassi Aug 7, 2024
ca5d7b3
[grid] in CODEGEN/generateAndCompare.sh, add pp_dy4j
valassi Sep 11, 2024
f477093
[dy3j] add gux_taptamggux.mad to the repo, using CODEGEN from v1.00.0…
valassi Oct 12, 2024
caad099
[dy3j] in tput/teeThroughputX.sh and tput/throughputX.sh, add option …
valassi Oct 12, 2024
1b9a7f2
[dy3j] in gux_taptamggux.mad and CODEGEN, add runTest refence logs
valassi Oct 12, 2024
b35cf98
[dy3j] add one-off tput log for guxtaptamggux
valassi Oct 12, 2024
e57949b
[dy3j] in tmad/madX.sh and tmad/teeMadX.sh, add option -guxtaptamggux
valassi Oct 12, 2024
cd2b3ec
[dy3j] add one-off tmad log for guxtaptamggux
valassi Oct 12, 2024
6d3c5d5
[dy3j] extend tmad/summaryTable.sh to produce table summaryTable_dy3j…
valassi Oct 12, 2024
362ef7b
[dy3j] three tput tests for guxtaptamggux for all d/m/f on itgold91
valassi Oct 12, 2024
ca715b5
[dy3j] three tmad tests for guxtaptamggux for all d/m/f on itgold91
valassi Oct 12, 2024
e439038
[dy3j] three tput tests for guxtaptamggux for all d/m/f on itscrd90
valassi Oct 12, 2024
667b080
[dy3j] three tmad tests for guxtaptamggux for all d/m/f on itscrd90
valassi Oct 12, 2024
7b9201b
[dy3j] update tmad/summaryTable.sh and summaryTable_dy3j_chep24.txt t…
valassi Oct 12, 2024
22c41bb
[dy3j] in tput/summaryTable.sh add a sixth column guxtaptamggux - but…
valassi Oct 12, 2024
e5a2c96
[dy3j] in tput/summaryTable.sh configure the columns from processes; …
valassi Oct 12, 2024
da78c0d
[dy3j] ** COMPLETE DY3J ** cleanup - remove gux_taptamggux.mad from t…
valassi Oct 12, 2024
4e3649b
Merge remote-tracking branch 'upstream/master' (downgrade CI to ubunt…
valassi Oct 12, 2024
18bb002
Merge branch 'logs' (including upstream/master with #1022 ubuntu-22.0…
valassi Oct 12, 2024
22cde8a
[dy3j] minor formatting changes in tmad/summaryTable_xxx_chep24.txt t…
valassi Oct 12, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Large diffs are not rendered by default.

35 changes: 35 additions & 0 deletions epochX/cudacpp/CODEGEN/generateAndCompare.sh
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@ function codeGenAndDiff()
gq_ttllq)
cmd="define q = u c d s u~ c~ d~ s~; generate g q > t t~ l- l+ q"
;;
gux_taptamggux) # subset of pp_dy3j from Jin #942 (no need for no_b_mass however)
cmd="generate g u~ > ta+ ta- g g u~"
;;
pp_tt)
cmd="generate p p > t t~"
;;
Expand Down Expand Up @@ -199,6 +202,38 @@ function codeGenAndDiff()
susy_gg_ulul)
cmd="import model MSSM_SLHA2; generate g g > ul ul~"
;;
pp_dy012j) # from Jin #942
cmd="import model sm-no_b_mass
define p = u d c s b u~ d~ c~ s~ b~ g
define j = p
define ell+ = e+ mu+ ta+
define ell- = e- mu- ta-
define nu = ve vm vt
define nubar = ve~ vm~ vt~
generate p p > ell+ ell- @0
add process p p > ell+ ell- j @1
add process p p > ell+ ell- j j @2"
;;
pp_dy3j) # from Jin #942
cmd="import model sm-no_b_mass
define p = u d c s b u~ d~ c~ s~ b~ g
define j = p
define ell+ = e+ mu+ ta+
define ell- = e- mu- ta-
define nu = ve vm vt
define nubar = ve~ vm~ vt~
generate p p > ell+ ell- j j j @0"
;;
pp_dy4j) # extend dy3j from Jin #942
cmd="import model sm-no_b_mass
define p = u d c s b u~ d~ c~ s~ b~ g
define j = p
define ell+ = e+ mu+ ta+
define ell- = e- mu- ta-
define nu = ve vm vt
define nubar = ve~ vm~ vt~
generate p p > ell+ ell- j j j j @0"
;;
atlas)
cmd="import model sm-no_b_mass
define p = g u c d s b u~ c~ d~ s~ b~
Expand Down
302 changes: 302 additions & 0 deletions epochX/cudacpp/tmad/ARCHIVE/summaryTable2023.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,302 @@
#!/bin/sh
# Copyright (C) 2020-2024 CERN and UCLouvain.
# Licensed under the GNU Lesser General Public License (version 3 or later).
# Created by: A. Valassi (Jan 2022) for the MG5aMC CUDACPP plugin.
# Further modified by: A. Valassi (2022-2024) for the MG5aMC CUDACPP plugin.

scrdir=$(cd $(dirname $0); pwd)

echo "==============================================================================="
echo "Executing $0 $*"
echo "==============================================================================="
echo

# Include CUDA/8tpb?
###cuda8tpb=
cuda8tpb="CUDA/8tpb"

# Quiet?
quiet=
if [ "$1" == "-quiet" ]; then
quiet=$1; shift
fi

# Short tables?
onlyxmax=1
if [ "$1" == "-long" ] && [ "$2" != "-ALL" ]; then
onlyxmax=0
shift
fi

# Choose table(s)
table=
if [ "$1" == "-ALL" ] && [ "$2" == "" ]; then
set -e
$0 ${quiet} -long -default
$0 ${quiet} -default
$0 ${quiet} -juwels
$0 ${quiet} -ichep22
$0 ${quiet} -acat22
$0 ${quiet} -ggttgg
$0 ${quiet} -ggttggg
###$0 ${quiet} -openlab23
exit 0
elif [ "$1" == "-default" ]; then
table="default"; shift
elif [ "$1" == "-juwels" ]; then
table="juwels"; shift
elif [ "$1" == "-ichep22" ]; then
table="ichep22"; shift
elif [ "$1" == "-acat22" ]; then
table="acat22"; shift
elif [ "$1" == "-ggttgg" ]; then
table="ggttgg"; shift
elif [ "$1" == "-ggttggg" ]; then
table="ggttggg"; shift
elif [ "$1" == "-openlab23" ]; then
table="openlab23"; shift
else
echo "Usage: $0 [-quiet] [-long] <table [-ALL|-default|-juwels|-ichep22|-acat22|-ggttgg|-ggttggg|-openlab23]>"; exit 1
fi

# Select revisions and characteristics of mad logs
# Select processes and fptypes
mrevs=""
if [ "$table" == "default" ]; then
procs="eemumu ggtt ggttg ggttgg ggttggg"
mrevs="$mrevs 82729ba" # cuda117/gcc112 (14 Oct 2022)
###mrevs="$mrevs bb15ee2" # cuda117/gcc112 (21 Oct 2022 itscrd70) rerun add hack3/mixedfps (all processes)
fpts="d f"
taglist="FORTRAN CPP/none CPP/sse4 CPP/avx2 CPP/512y CPP/512z CUDA/8192 CUDA/max $cuda8tpb"
elif [ "$table" == "juwels" ]; then
procs="eemumu ggtt ggttg ggttgg ggttggg"
taglist="FORTRAN CPP/none CPP/sse4 CPP/avx2 CPP/512y CPP/512z"
# -- Before implementing 'm': add a second 'd' table for better diffs
###mrevs="$mrevs 59b311b" # cuda115/gcc102 (14 Oct 2022 jwlogin04=slower #540)
###mrevs="$mrevs cdc8dda" # cuda115/gcc102 (14 Oct 2022 jwlogin07=faster #540)
###fpts="d f"
# -- After implementing 'm'
mrevs="$mrevs 4a90ec2" # cuda115/gcc102 (18 Oct 2022 jwlogin07) add hack3/mixedfps (all processes), faster ACAT2022
###mrevs="$mrevs 210a006" # cuda115/gcc102 (21 Oct 2022 jwlogin07) rerun add hack3/mixedfps (all processes), slower?
fpts="d f m"
elif [ "$table" == "ichep22" ]; then
procs="ggttgg"
mrevs="$mrevs eb30e41" # cuda115/gcc112 (12 Oct 2022 jwlogin07) ICHEP2022table CPU
mrevs="$mrevs 1efee04" # cuda117/gcc112 (13 Oct 2022 itscrd70) ICHEP2022table GPU
taglist="FORTRAN CPP/none CPP/sse4 CPP/avx2 CPP/512y CPP/512z CUDA/8192 CUDA/max $cuda8tpb"
fpts="d f"
elif [ "$table" == "acat22" ]; then
procs="ggttgg ggttggg"
taglist="FORTRAN CPP/none CPP/sse4 CPP/avx2 CPP/512y CPP/512z CUDA/8192 CUDA/max $cuda8tpb"
# -- Before implementing 'm': add a second 'd' table for better diffs
###mrevs="$mrevs eb30e41" # cuda115/gcc112 (12 Oct 2022 jwlogin07) ICHEP2022table CPU
###mrevs="$mrevs 1efee04" # cuda117/gcc112 (13 Oct 2022 itscrd70) ICHEP2022table GPU
###fpts="d f d"
# -- After implementing 'm'
mrevs="$mrevs 4a90ec2" # cuda115/gcc102 (18 Oct 2022 jwlogin07) add hack3/mixedfps (all processes)
mrevs="$mrevs bb15ee2" # cuda117/gcc112 (21 Oct 2022 itscrd70) rerun add hack3/mixedfps (all processes)
fpts="d f m"
elif [ "$table" == "ggttgg" ]; then
procs="ggttgg"
taglist="FORTRAN CPP/none CPP/sse4 CPP/avx2 CPP/512y CPP/512z CUDA/8192 CUDA/max $cuda8tpb"
# -- Before implementing 'm': add a second 'd' table for better diffs
###mrevs="$mrevs 1efee04" # cuda117/gcc112 (13 Oct 2022 itscrd70) ICHEP2022table GPU
###mrevs="$mrevs f64a68e" # cuda117/gcc112 (15 Oct 2022 itscrd70) add hack1/MLM (NB: no ggttggg here!)
###mrevs="$mrevs f718e74" # cuda117/gcc112 (15 Oct 2022 itscrd70) add hack2/symmetricmatrix(cuda/c++)
###mrevs="$mrevs d95e49c" # cuda117/gcc112 (16 Oct 2022 itscrd70) modify hack2/symmetricmatrix(c++ only)
###mrevs="$mrevs 48e2012" # cuda117/gcc112 (16 Oct 2022 itscrd70) modify hack2/constexpr(c++ only)
###fpts="d f d"
# -- After implementing 'm'
###mrevs="$mrevs 9598b41" # cuda117/gcc112 (17 Oct 2022 itscrd70) add hack3/mixedfps (no ggttggg)
mrevs="$mrevs bb15ee2" # cuda117/gcc112 (21 Oct 2022 itscrd70) rerun add hack3/mixedfps (all processes)
fpts="d f m"
elif [ "$table" == "ggttggg" ]; then
procs="ggttggg"
taglist="FORTRAN CPP/none CPP/sse4 CPP/avx2 CPP/512y CPP/512z CUDA/8192 CUDA/max $cuda8tpb"
# -- Before implementing 'm': add a second 'd' table for better diffs
###mrevs="$mrevs 1efee04" # cuda117/gcc112 (13 Oct 2022 itscrd70) ICHEP2022 code (but gave ggttgg results only)
###mrevs="$mrevs f718e74" # cuda117/gcc112 (15 Oct 2022 itscrd70) add hack1/MLM and hack2/symmetricmatrix(cuda/c++)
###mrevs="$mrevs d95e49c" # cuda117/gcc112 (16 Oct 2022 itscrd70) modify hack2/symmetricmatrix(c++ only)
###mrevs="$mrevs 48e2012" # cuda117/gcc112 (16 Oct 2022 itscrd70) modify hack2/constexpr(c++ only)
###fpts="d f d"
# -- After implementing 'm'
###mrevs="$mrevs 68c9859" # cuda117/gcc112 (18 Oct 2022 itscrd70) add hack3/mixedfps (only ggttggg)
mrevs="$mrevs bb15ee2" # cuda117/gcc112 (21 Oct 2022 itscrd70) rerun add hack3/mixedfps (all processes)
fpts="d f m"
elif [ "$table" == "openlab23" ]; then
procs="ggttgg ggttggg"
###taglist="FORTRAN CPP/none CPP/sse4 CPP/avx2 CPP/512y CPP/512z CUDA/8192 CUDA/max $cuda8tpb"
taglist="FORTRAN CPP/none CPP/sse4 CPP/avx2 CPP/512y CPP/512z"
mrevs="$mrevs 49e4381" # cuda120/gcc112 (23 Feb 2023 itscrd90) baseline
mrevs="$mrevs aed7c84" # cuda120/clang14 (23 Feb 2023 itscrd90)
mrevs="$mrevs 32e098f" # cuda120/icx2023 (23 Feb 2023 itscrd90)
mrevs="$mrevs 2a6ddd0" # cuda120/gcc121 (24 Feb 2023 itscrd90)
fpts="d f m"
fi
revs="$mrevs"

# TEST MODE (debug individual lines and skip the final END printout)
testmode=0
###procs="ggttggg"; testmode=1

# Kernel function
function oneTable()
{
parlist="(1) (2-none) (2-sse4) (2-avx2) (2-512y) (2-512z) (3) (3bis)"
faclist="1 10"
for proc in $procs; do
file=tmad/logs_${proc}_${suff}/log_${proc}_${suff}_${fpt}_${inl}_${hrd}.txt
if [ ! -f $file ]; then continue; fi
###echo "*** FILE $file ***"
git checkout $rev $file >& /dev/null
if [ "$?" != "0" ]; then echo "ERROR! 'git checkout $rev' failed!"; exit 1; fi
node=$(cat $file | grep ^On | sort -u)
if [ "$nodelast" != "$node" ]; then echo -e "$node\n" >> $out; nodelast=$node; fi
cat $file | awk -vproc=$proc -vtaglist="$taglist" -vparlist="$parlist" -vfaclist="$faclist" -vonlyxmax=$onlyxmax -vtestmode=$testmode '
BEGIN{status=testmode} # set status=1 to skip the END printout and debug individual lines
BEGIN{ntag=split(taglist,tags); npar=split(parlist,pars);
###if(ntag!=npar){print "ERROR! ntag!=npar", ntag, npar; status=1; exit status}; # NB new ntag>npar!
for(i=1;i<=npar;i++){tag1[pars[i]]=tags[i];}}
BEGIN{nfac=split(faclist,facs)}
BEGIN{if(onlyxmax==0) lsepEQUAL=sprintf("%0136d",0); else lsepEQUAL=sprintf("%0107d",0);
lsepDASH=lsepEQUAL; gsub("0","-",lsepDASH); gsub("0","=",lsepEQUAL)}
BEGIN{if(onlyxmax==0) lsepEQUAL2=sprintf("%014d%97s%025d",0,"",0); else lsepEQUAL2=sprintf("%014d%68s%025d",0,"",0);
lsepDASH2=lsepEQUAL2; gsub("0","-",lsepDASH2); gsub("0","=",lsepEQUAL2)}
BEGIN{if(onlyxmax==0) ifac0=1; else ifac0=nfac}
###/create events.lhe/{print $0}
/create events.lhe/{par=$2; tag=tag1[par]} # current tag (FORTRAN... CUDA/8192)
###/create events.lhe/{print par, tag}
/GCHECK\(MAX\)/{tag="CUDA/max"} # current tag (CUDA/max)
/GCHECK\(MAX128THR\)/{tag="CUDA/max128t"} # current tag (CUDA/max128t)
/GCHECK\(MAX8THR\)/{tag="CUDA/8tpb"} # current tag (CUDA/8tpb)
/create events.lhe/{fac=substr($5,2)} # current fac
/\[XSECTION\] nb_page_loop =/{if(tag!="") nloop2[tag,fac]=$4}
/\[COUNTERS\]/{if($3=="TOTAL") typ=1; else if($3=="Overhead") typ=2; else if($3=="MEs") typ=3;
else{print "ERROR! Unknown type "$3; status=1; exit status};
if($4==":") sec=$5; else sec=$8; sec=substr(sec,1,length(sec)-1); # current sec
sec3[tag,fac,typ]=sec}
/\[COUNTERS\]/{if(tag!="" && $3=="MEs")
{nevt=$10; ###print tag, nevt;
if(tag=="FORTRAN") nevt1[fac]=nevt;
else if(nevt1[fac]!=nevt){print "ERROR! nevt mismatch", nevt1[fac], nevt; status=1; exit status};
tputm1[tag]=tolower($15); # TODO? cross-check this against nevt1[fac]/sec3[tag,fac,3]
tputm1tot[tag]=nevt/sec3[tag,fac,1]}}
/CHECK/{if(tag!=""){if($5=="2048") fld5="2k";
else if($5=="16384") fld5="16k";
else if($5=="65536") fld5="64k";
else fld5=$5;
if($8=="--bridge"){gcheck="bridge"; sabg1[tag]=$5*$6; sabp1[tag]=fld5"*"$6"*"$7}
else{gcheck="nobridge"; sag1[tag]=$5*$6; sap1[tag]=fld5"*"$6"*"$7}}}
###/CHECK/{print $0}
###/CHECK/{print tag, sabg1[tag], sabp1[tag], sag1[tag], sap[tag]; }
/EvtsPerSec/{if(tag!="" && gcheck=="bridge"){tputb1[tag]=$5}}
/EvtsPerSec/{if(tag!="" && gcheck!="bridge"){tput1[tag]=$5}}
END{if (status!=0) exit status;
print lsepEQUAL;
if(onlyxmax==0)
printf "| %-10s | mad%23s | mad%23s | mad%14s | mad%14s | %-9s | %-9s |\n",
"", "x"facs[1], "x"facs[2], "x"facs[2], "x"facs[2], "sa/brdg", "sa/full";
else
printf "| %-10s | mad%23s | mad%14s | mad%14s | %-9s | %-9s |\n",
###"", "x"facs[2], "x"facs[2], "x"facs[2], "sa/brdg", "sa/full";
"", "", "", "", "sa/brdg", "sa/full";
print lsepDASH;
if(onlyxmax==0)
printf "| %-10s | %-26s | %-26s | %-17s | %-17s | %-9s | %-9s |\n",
proc, "[sec] tot = mad + MEs", "[sec] tot = mad + MEs",
"[TOT/sec]", "[MEs/sec]", "[MEs/sec]", "[MEs/sec]";
else
printf "| %-10s | %-26s | %-17s | %-17s | %-9s | %-9s |\n",
proc, "[sec] tot = mad + MEs",
"[TOT/sec]", "[MEs/sec]", "[MEs/sec]", "[MEs/sec]";
print lsepEQUAL;
for (itag=1; itag<=ntag; itag++)
{tag=tags[itag];
if(tag=="FORTRAN"){if(onlyxmax==0)
printf "| %-10s | %26s | %26s | %17s | %17s | %9s | %9s |\n",
"nevt/grid", nloop2[tag,fac], nloop2[tag,fac], nloop2[tag,fac], nloop2[tag,fac],
sabg1["CPP/none"], sag1["CPP/none"];
else
printf "| %-10s | %26s | %17s | %17s | %9s | %9s |\n",
"nevt/grid", nloop2[tag,fac], nloop2[tag,fac], nloop2[tag,fac],
sabg1["CPP/none"], sag1["CPP/none"];
if(onlyxmax==0)
printf "| %-10s | %26s | %26s | %17s | %17s | %9s | %9s |\n",
"nevt total", nevt1[facs[1]], nevt1[facs[2]], nevt1[facs[2]], nevt1[facs[2]],
sabp1["CPP/none"], sap1["CPP/none"];
else
printf "| %-10s | %26s | %17s | %17s | %9s | %9s |\n",
"nevt total", nevt1[facs[2]], nevt1[facs[2]], nevt1[facs[2]],
sabp1["CPP/none"], sap1["CPP/none"];
print lsepDASH}
else if(tag=="CUDA/max"||tag=="CUDA/8tpb"){
if(tag=="CUDA/max") print lsepEQUAL; else print lsepEQUAL2;
if(onlyxmax==0)
printf "| %-10s | %95s | %9s | %9s |\n",
"nevt/grid", "", sabg1[tag], sag1[tag];
else
printf "| %-10s | %66s | %9s | %9s |\n",
"nevt/grid", "", sabg1[tag], sag1[tag];
if(onlyxmax==0)
printf "| %-10s | %95s | %9s | %9s |\n",
"nevt total", "", sabp1[tag], sap1[tag];
else
printf "| %-10s | %66s | %9s | %9s |\n",
"nevt total", "", sabp1[tag], sap1[tag];
print lsepDASH2};
printf "| %-10s |", tag;
if(tag=="CUDA/max"||tag=="CUDA/8tpb")
{ if(onlyxmax==0) printf " %95s |", "";
else printf " %66s |", ""; }
else{ for(ifac=ifac0; ifac<=nfac; ifac++)
{ fac=facs[ifac]; printf " %7.2f = %6.2f + %7.2f |", sec3[tag,fac,1], sec3[tag,fac,2], sec3[tag,fac,3]};
if(tag=="FORTRAN") txttot="="; else txttot="x";
###if(tag=="CPP/none") txtmes="="; else txtmes="x";
if(tag=="FORTRAN") txtmes="="; else txtmes="x";
ratiotot=sprintf("%4.1f",tputm1tot[tag]/tputm1tot["FORTRAN"]);
if(length(ratiotot)>4) ratiotot=substr(ratiotot,0,4);
###ratiomes=sprintf("%4.1f",tputm1[tag]/tputm1["CPP/none"]);
ratiomes=sprintf("%4.1f",tputm1[tag]/tputm1["FORTRAN"]);
if(length(ratiomes)>4) ratiomes=substr(ratiomes,0,4);
printf " %9.2e (%1s%4s) | %9s (%1s%4s) |",
tputm1tot[tag], txttot, ratiotot,
tputm1[tag], txtmes, ratiomes; }
if(tag=="FORTRAN"){ printf " %9s | %9s |", "---", "---"; }
else{ printf " %9.2e |", tputb1[tag]; printf " %9.2e |", tput1[tag]; }
if(tag=="CUDA/max"||tag=="CUDA/8tpb")
{ printf "\n| %-10s |", "";
if(onlyxmax==0) printf " %95s |", "";
else printf " %66s |", "";
ratiomes2=sprintf("%4.1f",tput1[tag]/tputm1["FORTRAN"]);
if(length(ratiomes2)>4) ratiomes2=substr(ratiomes2,0,4);
printf " %-9s |", ""; printf " (x%4s) |", ratiomes2; }
printf "\n"};
if(tag=="CUDA/max"||tag=="CUDA/8tpb") print lsepEQUAL2; else print lsepEQUAL;
print "\n";
}' >> $out
done
}

cd $(dirname $0)/../..
###echo PWD=$(pwd)

suff=mad
inl=inl0
hrd=hrd0

if [ "${onlyxmax}" == "1" ]; then
out=${scrdir}/summaryTable_${table}.txt
else
out=${scrdir}/summaryTable_${table}_long.txt
fi
echo "" > $out
for fpt in $fpts; do
echo -e "*** FPTYPE=$fpt ******************************************************************\n" >> $out
for rev in $revs; do
echo -e "+++ $bckend REVISION $rev (commit date: $(git log $rev --pretty=format:'%ci' --abbrev-commit -n1)) +++" >> $out
oneTable
done
done

git checkout HEAD ../cudacpp/tmad/logs* >& /dev/null
if [ "$quiet" == "" ]; then cat $out; fi
Loading
Loading