diff --git a/access/graph.pl b/access/graph.pl
index 57a5d1b979d56510b492d87659f3416045421731..9c952077d82ee9a8e3bbc6a9850727fbf1eca73e 100755
--- a/access/graph.pl
+++ b/access/graph.pl
@@ -1,7 +1,7 @@
#!/usr/bin/perl
my $min_mem = 8; # Minimum memory block size (KB)
-my $max_mem = 65536; # Maximum memory block size (KB), must fit in physical memory
+my $max_mem = 262144; # Maximum memory block size (KB), must fit in physical memory
my @item_sizes = (16,64,128,1024,4096); # Sizes of items
my @randomized = (0,1); # Try randomized accesses?
my @modify = (0,1); # Try read-write accesses?
@@ -46,13 +46,25 @@ for my $f ("access.c", "Makefile") {
-f $f or symlink "../$f", $f or die;
}
-### Get machine name and the description of caches ###
+### Get machine description, including layout of caches ###
-my $machine = `hostname`;
-chomp $machine;
-$machine .= " Array" if $array;
-$machine .= " HugePages" if $huge;
-$machine = "($machine)";
+my $hostname = `hostname`;
+chomp $hostname;
+
+my $cpu = `grep -m1 '^model name[[:space:]]\\+:' /proc/cpuinfo`;
+chomp $cpu;
+$cpu =~ s{^model name\s+:\s*}{};
+$cpu = " $cpu ";
+$cpu =~ s{\(tm\)|\(r\)}{}gi;
+$cpu =~ s{ (Intel|AMD|CPU|Processor) }{ }g;
+$cpu =~ s{ @.*}{};
+$cpu =~ s{\s+}{ }g;
+$cpu =~ s{^\s+|\s+$}{}g;
+
+my @options = ();
+push @options, ($array ? "Array" : "List");
+push @options, "HugePages" if $huge;
+$machine = '(' . join(" ", @options) . ')';
our $c;
my @caches = ();
@@ -71,15 +83,13 @@ for $c (</sys/devices/system/cpu/cpu0/cache/index*>) {
my $w = rd("ways_of_associativity");
my $s = rd("size");
my $t = rd("type");
- my $L = rd("coherency_line_size");
- my $line = ($L == $prev_L) ? "" : " (${L}B line)";
$t =~ s/(.).*/$1/;
$t =~ s/U//;
$t eq "I" and next;
- push @caches, "L$l$t $s $w-way$line";
+ push @caches, "L$l$t:$s/$w-way";
$prev_L = $L;
}
-$machine .= " [" . join(", ", @caches) . "]";
+$machine .= " $hostname [" . join(" ", $cpu, @caches) . "]";
### Profiling ###
@@ -154,10 +164,10 @@ print GP <<EOF ;
set terminal png large size 1024,768
set logscale x 2
set key left
-set xlabel "data set size [KB]"
+set xlabel "data set size [KiB]"
set ylabel "time per access [ns]"
set grid
-set yrange [1:50] # Change if necessary
+set yrange [0:15] # Change if necessary
EOF