Resiliant to empty ${bench}List

This commit is contained in:
Thomas Preud'homme 2011-05-04 15:27:35 +02:00
parent 023552a4de
commit 829063f894
1 changed files with 30 additions and 26 deletions

View File

@ -413,7 +413,7 @@ create_gnuplot_file ()
main() main()
{ {
local logDir - local logDir benchName -
parse_args "$@" parse_args "$@"
cd $logDir cd $logDir
@ -426,31 +426,35 @@ main()
*) argTypeProd=1 ;; *) argTypeProd=1 ;;
esac esac
for bench in "communication" "barriere" ; do for bench in "communication" "barriere" ; do
# Create dat headers eval benchName="\${${bench}List:-}"
for metrique in $metriqueList ; do if [ -n "${benchName}" ]
case "$metrique" in then
cache_hits) # Create dat headers
metriquePattern="[[:digit:]]+ +(L1-dcache-loads|L1-dcache-stores|L1-dcache-prefetches|LLC-loads|LLC-stores|LLC-prefetches) " for metrique in $metriqueList ; do
ylabel="Nb cache hit" ;; case "$metrique" in
cache_miss) cache_hits)
metriquePattern="[[:digit:]]+ +(L1-dcache-load-misses|L1-dcache-store-misses|L1-dcache-prefetch-misses|LLC-load-misses|LLC-store-misses|LLC-prefetch-misses) " metriquePattern="[[:digit:]]+ +(L1-dcache-loads|L1-dcache-stores|L1-dcache-prefetches|LLC-loads|LLC-stores|LLC-prefetches) "
ylabel="Nb cache miss" ;; ylabel="Nb cache hit" ;;
cycles) cache_miss)
metriquePattern="[[:digit:]]+ +cycles " metriquePattern="[[:digit:]]+ +(L1-dcache-load-misses|L1-dcache-store-misses|L1-dcache-prefetch-misses|LLC-load-misses|LLC-store-misses|LLC-prefetch-misses) "
ylabel="Nb cycles" ;; ylabel="Nb cache miss" ;;
total_time) cycles)
metriquePattern="[[:digit:].,]+ +seconds time elapsed " metriquePattern="[[:digit:]]+ +cycles "
ylabel="Secondes" ;; ylabel="Nb cycles" ;;
*) total_time)
echo "Pas de pattern pour cette métrique : $metrique" metriquePattern="[[:digit:].,]+ +seconds time elapsed "
echo "Pas de label pour cette métrique : $metrique" ylabel="Secondes" ;;
exit 1 ;; *)
esac echo "Pas de pattern pour cette métrique : $metrique"
numCacheConfigs=$(echo "$cacheList" | wc -w) echo "Pas de label pour cette métrique : $metrique"
create_dat_header "$prod" "$bench" "$metrique" "$numCacheConfigs" exit 1 ;;
create_dat_body "$prod" "$bench" "$metrique" "$argTypeProd" "$metriquePattern" esac
create_gnuplot_file "$prod" "$bench" "$metrique" "$ylabel" "$numCacheConfigs" numCacheConfigs=$(echo "$cacheList" | wc -w)
done create_dat_header "$prod" "$bench" "$metrique" "$numCacheConfigs"
create_dat_body "$prod" "$bench" "$metrique" "$argTypeProd" "$metriquePattern"
create_gnuplot_file "$prod" "$bench" "$metrique" "$ylabel" "$numCacheConfigs"
done
fi
done done
done done