| ##=== TEST.poolalloc.report - Report description for poolalloc -*- perl -*-===## |
| # |
| # This file defines a report to be generated for the pool allocator tests. |
| # |
| ##===----------------------------------------------------------------------===## |
| |
| # Sort by program name |
| $SortCol = 0; |
| $TrimRepeatedPrefix = 1; |
| |
| sub Ratio { |
| my ($Cols, $Col) = @_; |
| if ($Cols->[$Col-1] ne "*" and $Cols->[$Col-4] ne "*" and |
| $Cols->[$Col-1] != "0") { |
| return sprintf "%1.3f", $Cols->[$Col-4]/$Cols->[$Col-1]; |
| } else { |
| return "n/a"; |
| } |
| } |
| |
| sub Sum { |
| my ($Cols, $Col) = @_; |
| if ($Cols->[$Col-1] ne "*" and $Cols->[$Col-2] ne "*") { |
| return sprintf "%1.3f", $Cols->[$Col-2]+$Cols->[$Col-1]; |
| } else { |
| return "n/a"; |
| } |
| } |
| |
| |
| sub FormatTime { |
| my $Time = shift; |
| if ($Time =~ m/([0-9]+)[m:]([0-9.]+)/) { |
| $Time = sprintf("%7.3f", $1*60.0+$2); |
| } |
| return $Time; |
| } |
| |
| @LatexColumns = (2, 3, 4, 5, 6, 7); |
| |
| my $OLDEN = 'MultiSource/Benchmarks/Olden'; |
| my $FREEBENCH = 'MultiSource/Benchmarks/FreeBench'; |
| my $PTRDIST = 'MultiSource/Benchmarks/Ptrdist'; |
| |
| @LatexRowMapOrder = ( |
| "$OLDEN/bh/bh" => 'bh', |
| "$OLDEN/bisort/bisort" => 'bisort', |
| "$OLDEN/em3d/em3d" => 'em3d', |
| "$OLDEN/health/health" => 'health', |
| "$OLDEN/mst/mst" => 'mst', |
| "$OLDEN/perimeter/perimeter" => 'perimeter', |
| "$OLDEN/power/power" => 'power', |
| "$OLDEN/treeadd/treeadd" => 'treeadd', |
| "$OLDEN/tsp/tsp" => 'tsp', |
| "$OLDEN/voronoi/voronoi" => 'voronoi', |
| '-' => '-', |
| "$FREEBENCH/analyzer/analyzer" => 'analyzer', |
| # "$FREEBENCH/distray/distray" => 'distray', |
| # "$FREEBENCH/fourinarow/fourinarow" => 'fourinarow', |
| # "$FREEBENCH/mason/mason" => 'mason', |
| "$FREEBENCH/neural/neural" => 'neural', |
| "$FREEBENCH/pcompress2/pcompress2" => 'pcompress2', |
| "$FREEBENCH/pifft/pifft" => 'pifft', |
| '-' => '-', |
| "$PTRDIST/anagram/anagram" => 'anagram', |
| "$PTRDIST/bc/bc" => 'bc', |
| "$PTRDIST/ft/ft" => 'ft', |
| "$PTRDIST/ks/ks" => 'ks', |
| "$PTRDIST/yacr2/yacr2" => 'yacr2', |
| ); |
| |
| |
| # These are the columns for the report. The first entry is the header for the |
| # column, the second is the regex to use to match the value. Empty list create |
| # seperators, and closures may be put in for custom processing. |
| ( |
| # Name |
| ["Name:" , '\'([^\']+)\' Program'], |
| [], |
| # Times |
| ["Time", 'CBE-RUN-TIME: program\s*([0-9.m]+)'], |
| ["L1 Misses", 'CBE-L1-Cache-Misses: ([0-9]+)'], |
| ["L2 Misses", 'CBE-L2-Cache-Misses: ([.0-9]+)'], |
| ["TLBMisses", 'CBE-TLB-Misses: ([0-9]+)'], |
| ["Misaligned", 'CBE-Misaligned: ([0-9]+)'], |
| [], |
| ["PA Time", 'CBE-PA-RUN-TIME: program\s*([0-9.m]+)'], |
| ["PA L1 Misses", 'CBE-PA-L1-Cache-Misses: ([0-9]+)'], |
| ["PA L2 Misses", 'CBE-PA-L2-Cache-Misses: ([.0-9]+)'], |
| ["PA TLB Misses", 'CBE-PA-TLB-Misses: ([0-9]+)'], |
| ["PA Misaligned", 'CBE-PA-Misaligned: ([0-9]+)'], |
| [] |
| ); |
| |