| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- #!/bin/bash
- # StarPU --- Runtime system for heterogeneous multicore architectures.
- #
- # Copyright (C) 2009, 2010, 2013 Université de Bordeaux 1
- # Copyright (C) 2010 Centre National de la Recherche Scientifique
- #
- # StarPU is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at
- # your option) any later version.
- #
- # StarPU is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- #
- # See the GNU Lesser General Public License in COPYING.LGPL for more details.
- if [ "$#" -lt 2 -o "$1" = --help -o "$1" = -h ]
- then
- echo "Offline tool to draw codelet profile histogram over a traced execution"
- echo ""
- echo "Usage: $0 distrib.data"
- exit 1
- fi
- create_histograms()
- {
- inputfile=$1
- R --no-save > /dev/null << EOF
- handle_hash <- function (codelet, arch, hash)
- {
- mytable <- table
- mytable <- mytable[mytable[,1]==codelet,]
- mytable <- mytable[mytable[,2]==arch,]
- mytable <- mytable[mytable[,4]==hash,]
- val <- mytable[,5]
- # there is certainly a better way to do this !
- size <- unique(mytable[,3])
- pdf(paste("$inputfile", codelet, arch, hash, size, "pdf", sep="."));
- h <- hist(val[val > quantile(val,0.01) & val<quantile(val,0.99)], col="red", breaks=50, density=10)
- dev.off()
- }
- table <- read.table("$inputfile")
- codeletlist <- unique(table[,1])
- for (codelet in codeletlist)
- {
- archlist <- unique(table[table[,1]==codelet,2])
- for (arch in archlist)
- {
- hashlist <- unique(table[table[,2]==arch,4])
- for (hash in hashlist)
- {
- print(codelet)
- print(arch)
- print(hash)
- handle_hash(codelet, arch, hash)
- }
- }
- }
- EOF
- }
- for inputfile in $@
- do
- create_histograms $inputfile
- done
|