parent
483c6874c0
commit
d6d71364de
2 changed files with 149 additions and 0 deletions
@ -0,0 +1,9 @@ |
||||
#!/bin/bash |
||||
# 20160823 |
||||
# Usage: filter-timing.sh <outfile> <N> |
||||
|
||||
OUT=${1:?Output file required as arg 1} |
||||
N=${2:?N required as arg 2} |
||||
|
||||
grep "^WR[0-9][0-9]" "$OUT" |awk '$2 == N {print}' "N=$N" | sort -gk 7 |
||||
|
@ -0,0 +1,140 @@ |
||||
#!/bin/bash |
||||
# 20160823 |
||||
# Usage: filter-timing.sh <outfile> <N> |
||||
|
||||
|
||||
function get_hpl_arch() |
||||
{ |
||||
local OUT=${1:?Output file required as arg 1} |
||||
awk ' |
||||
$1 ~ /HPL_ARCH=.+/ { |
||||
HPL_ARCH = $1 |
||||
sub(/^.*=/, "", HPL_ARCH) |
||||
exit |
||||
} |
||||
|
||||
$0 ~ /declare -x HPL_ARCH=/ { |
||||
HPL_ARCH = $0 |
||||
sub(/^.*HPL_ARCH=/, "", HPL_ARCH) |
||||
sub(/^"/, "", HPL_ARCH) |
||||
sub(/"$/, "", HPL_ARCH) |
||||
exit |
||||
} |
||||
|
||||
/Executable-info::/ { |
||||
getline # ls -l info |
||||
getline # md5sum info |
||||
ExeName = $3 |
||||
if (ExeName ~ /Linux_/) { |
||||
HPL_ARCH = ExeName |
||||
sub(/^.*Linux_/, "Linux_", HPL_ARCH) |
||||
sub(/[ ./].*$/, "", HPL_ARCH) |
||||
} |
||||
} |
||||
|
||||
END { |
||||
if (HPL_ARCH) print(HPL_ARCH) |
||||
} |
||||
' "$OUT" |
||||
} |
||||
|
||||
function report_hpl_summary1() |
||||
{ |
||||
local OUT=${1:?Output file required as arg 1} |
||||
|
||||
RES1=$(awk ' |
||||
BEGIN { |
||||
count_nodetype[-1] = 0 |
||||
known_hosts = "c6 c8 cr crgpu crhimem crphi d430 d730" |
||||
} |
||||
|
||||
/^SGE-host-files::/, /^$/ { |
||||
print; |
||||
if (NF == 4) { |
||||
numhosts += 1 |
||||
numprocs += $2 |
||||
hostname = $1 |
||||
nodetype = $1; sub(/-.*$/, "", nodetype) |
||||
if (!(nodetype in count_nodetype)) { |
||||
ncount += 1 |
||||
list_nodetype[ncount] = nodetype |
||||
} |
||||
count_nodetype[nodetype] += 1 |
||||
} |
||||
filename = FILENAME |
||||
} |
||||
|
||||
END { |
||||
asort(list_nodetype) |
||||
nodestr = "" |
||||
for (i = 1; i <= ncount; ++i) { |
||||
nt = list_nodetype[i] |
||||
ct = count_nodetype[nt] |
||||
nodestr = (nodestr "," nt "(" ct ")") |
||||
} |
||||
nodestr = substr(nodestr, 2) |
||||
|
||||
print(nodestr) |
||||
printf("%-32s %4d %4d\n", filename, numprocs, numhosts) |
||||
} |
||||
' "$OUT") |
||||
|
||||
echo "$RES1" |
||||
|
||||
RES2=$(grep "^WR[0-9][0-9]" "$OUT" | sort -gk 7) |
||||
|
||||
echo "$RES2" |
||||
|
||||
RES3=$(echo "$RES2" | tail -n 1 | awk ' |
||||
{ |
||||
Code = $1 |
||||
N = $2 |
||||
NB = $3 |
||||
P = $4 |
||||
Q = $5 |
||||
Time = $6 |
||||
GFLOPS = $7 |
||||
printf("%-8s %7d %4d %3d %3d %9s %9.4g\n", |
||||
Code, N, NB, P, Q, Time, GFLOPS) |
||||
} |
||||
') |
||||
|
||||
HPL_ARCH=$(get_hpl_arch "$OUT") |
||||
|
||||
# Example output (w RES2) |
||||
#HPL: test-hpl05.o180978 64 8 WR01C2C2 79000 128 8 8 297.72 1.104e+03 c6(8) |
||||
# Example output (w RES3 & HPL_ARCH) |
||||
#HPL: test-hpl05.o176526 64 12 WR01C2C4 79000 128 8 8 335.97 978.4 c6(6),c8(6) Linux_turing_gcc49_ompi110_mkl11 |
||||
|
||||
|
||||
echo "" |
||||
echo -n "HPL: " |
||||
echo -n "$RES1" | tail -n 1 |
||||
echo -n " " |
||||
#echo -n "$RES2" | tail -n 1 |
||||
echo -n "$RES3" |
||||
echo -n " " |
||||
printf "%-25s %s\n" \ |
||||
$(echo "$RES1" | tail -n 2 | head -n 1) \ |
||||
"$HPL_ARCH" |
||||
|
||||
} |
||||
|
||||
|
||||
# Main program |
||||
|
||||
: ${VERBOSE=0} |
||||
|
||||
if [ "$VERBOSE" = 1 ]; then |
||||
for fn in "$@"; do |
||||
report_hpl_summary1 "$fn" |
||||
echo "" |
||||
done |
||||
else |
||||
echo "HPL> jobcode nprocs nodes calccode N NB P Q Time_s GFLOPS nodetypes HPL_ARCH" |
||||
# HPL: test-hpl05.o176526 64 12 WR01C2C4 79000 128 8 8 335.97 978.4 c6(6),c8(6) Linux_turing_gcc49_ompi110_mkl11 |
||||
for fn in "$@"; do |
||||
report_hpl_summary1 "$fn" | tail -n 1 |
||||
done |
||||
fi |
||||
|
Loading…
Reference in new issue