blob: 8fa9c2f59bfe664f793db5a8bf0a36d72d3aa6c2 (
plain)
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
|
#! /usr/bin/awk -f
# Extract one line from the timing results, returning the minimum time
# if several times match
function undefined (var) {
return var==0 && var=="";
}
BEGIN {
min = 1000000000;
found = 0;
}
{
if (benchmark ~ "^Bench_.*_PUGH$" ||
benchmark ~ "^Bench_.*_Carpet_1lev")
{
if (undefined(steps)) steps = 10;
if (undefined(size)) size = 65;
} else if (benchmark ~ "^Bench_.*_Carpet_9lev$") {
if (undefined(steps)) steps = 64;
if (undefined(size)) size = 30;
}
if (machine == "queenbee") {
if (undefined(procs)) procs = 8;
if (undefined(ppn)) ppn = 8;
} else if (machine == "ranger") {
if (undefined(procs)) procs = 16;
if (undefined(ppn)) ppn = 16;
}
if (undefined(tpp)) tpp = 1;
if (undefined(itermin)) itermin = 40;
if (undefined(itermax)) itermax = 49;
}
function inrange (val, minval, maxval) {
return val >= minval && val <= maxval;
}
$1 == benchmark && $2 == steps && $3 == size && $4 == machine && $5 == procs && $6 == ppn && $7 == tpp && inrange($8,itermin,itermax) {
found = 1;
walltime = $9;
if (min > walltime) {
iter = $8;
min = walltime;
}
}
END {
if (found) {
print benchmark, steps, size, machine, procs, ppn, tpp, iter, min;
}
}
|