Skip to content
Snippets Groups Projects
Commit 3188c2f8 authored by Daniel Maier's avatar Daniel Maier
Browse files

collect_data: restructure, more meta

parent c8fa0ef5
No related branches found
No related tags found
No related merge requests found
......@@ -17,7 +17,15 @@ get_info() {
}
perforate() {
$PERF -a -o "$2" -s "$3" -l "$4" "$1"
if [ "$1" = "--nopluto" ]; then
shift
$PERF -e -p -g -o "$2" -s "$3" -l "$4" "$1"
elif [ "$1" = "--noperf" ]; then
shift
$PERF -e -g -P -o "$2" "$1"
else
$PERF -a -o "$2" -s "$3" -l "$4" "$1"
fi
}
compile() {
......@@ -29,214 +37,143 @@ correlation() {
# accurate baseline
# FIXME: baseline is currently without pluto, we need also accurate+pluto
baseline() {
output="$(dirname ${target})/$(basename ${target})"
compile "${output}.c" "${output}" "-O3"
printf "correlation,,," >> ${LOG}
type=baseline
if [ "$1" = "--pluto" ]; then
perforate --noperf "${target}.c" "${output}_baseline.c"
type=plutobaseline
else
cat "${target}.c" > "${output}_baseline.c"
fi
compile "${output}_baseline.c" "${output}" "codes/${code}/data.o"
printf "${code},${type},,," >> ${LOG}
./${output} >> ${LOG}
}
permute() {
get_scop "${target}.c" "${target}_perf.c"
get_info "${target}.c.openscop" | \
while read x y; do
# pluto
output="$(dirname ${target})/${x}_${y}_$(basename ${target})"
perforate "${target}.c" "${output}.c" "$x" "$y"
echo compile "${output}.c" "${output}"
compile "${output}.c" "${output}" "-O3"
printf "correlation,%s,%s," "${x}" "${y}" >> ${LOG}
compile "${output}.c" "${output}" "codes/${code}/data.o"
printf "${code},perfpluto,%s,%s," "${x}" "${y}" >> ${LOG}
./${output} >> ${LOG}
# no pluto
perforate --nopluto "${target}.c" "${output}.c" "$x" "$y"
echo compile "${output}.c" "${output}"
compile "${output}.c" "${output}" "codes/${code}/data.o"
printf "${code},perf,%s,%s," "${x}" "${y}" >> ${LOG}
./${output} >> ${LOG}
done
}
correlation() {
code=correlation
target="codes/${code}/${code}"
baseline
baseline --pluto
permute
}
jacobi_2d() {
target=codes/jacobi-2d/jacobi-2d
code=jacobi-2d
target="codes/${code}/${code}"
# accurate
output="$(dirname ${target})/$(basename ${target})"
compile "${output}.c" "${output}" "codes/jacobi-2d/data.o"
printf "jacobi-2d,,," >> ${LOG}
./${output} >> ${LOG}
baseline
baseline --pluto
get_scop "${target}.c" "${target}_perf.c"
get_info "${target}.c.openscop" | \
while read x y; do
output="$(dirname ${target})/${x}_${y}_$(basename ${target})"
perforate "${target}.c" "${output}.c" "$x" "$y"
echo compile "${output}.c" "${output}"
compile "${output}.c" "${output}" "codes/jacobi-2d/data.o"
printf "jacobi-2d,%s,%s," "${x}" "${y}" >> ${LOG}
./${output} >> ${LOG}
done
permute
}
deriche() {
target=codes/deriche/deriche
code=deriche
target="codes/${code}/${code}"
# accurate
output="$(dirname ${target})/$(basename ${target})"
compile "${output}.c" "${output}" "codes/deriche/data.o"
printf "deriche,,," >> ${LOG}
./${output} >> ${LOG}
baseline
baseline --pluto
get_scop "${target}.c" "${target}_perf.c"
get_info "${target}.c.openscop" | \
while read x y; do
output="$(dirname ${target})/${x}_${y}_$(basename ${target})"
perforate "${target}.c" "${output}.c" "$x" "$y"
echo compile "${output}.c" "${output}"
compile "${output}.c" "${output}" "codes/deriche/data.o"
printf "deriche,%s,%s," "${x}" "${y}" >> ${LOG}
./${output} >> ${LOG}
done
permute
}
floyd_warshall() {
target=codes/floyd-warshall/floyd-warshall
code=floyd-warshall
target="codes/${code}/${code}"
# accurate
output="$(dirname ${target})/$(basename ${target})"
compile "${output}.c" "${output}" "codes/floyd-warshall/data.o"
printf "floyd_warshall,,," >> ${LOG}
./${output} >> ${LOG}
baseline
baseline --pluto
get_scop "${target}.c" "${target}_perf.c"
get_info "${target}.c.openscop" | \
while read x y; do
output="$(dirname ${target})/${x}_${y}_$(basename ${target})"
perforate "${target}.c" "${output}.c" "$x" "$y"
echo compile "${output}.c" "${output}"
compile "${output}.c" "${output}" "codes/floyd-warshall/data.o"
printf "floyd_warshall,%s,%s," "${x}" "${y}" >> ${LOG}
./${output} >> ${LOG}
done
permute
}
doitgen() {
target=codes/doitgen/doitgen
code=doitgen
target="codes/${code}/${code}"
# accurate
output="$(dirname ${target})/$(basename ${target})"
compile "${output}.c" "${output}" "codes/doitgen/data.o"
printf "doitgen,,," >> ${LOG}
./${output} >> ${LOG}
baseline
baseline --pluto
get_scop "${target}.c" "${target}_perf.c"
get_info "${target}.c.openscop" | \
while read x y; do
output="$(dirname ${target})/${x}_${y}_$(basename ${target})"
perforate "${target}.c" "${output}.c" "$x" "$y"
echo compile "${output}.c" "${output}"
compile "${output}.c" "${output}" "codes/doitgen/data.o"
printf "doitgen,%s,%s," "${x}" "${y}" >> ${LOG}
./${output} >> ${LOG}
done
permute
}
seidel_2d() {
target=codes/seidel-2d/seidel-2d
code=seidel-2d
target="codes/${code}/${code}"
# accurate
output="$(dirname ${target})/$(basename ${target})"
compile "${output}.c" "${output}" "codes/seidel-2d/data.o"
printf "seidel-2d,,," >> ${LOG}
./${output} >> ${LOG}
baseline
baseline --pluto
get_scop "${target}.c" "${target}_perf.c"
get_info "${target}.c.openscop" | \
while read x y; do
output="$(dirname ${target})/${x}_${y}_$(basename ${target})"
perforate "${target}.c" "${output}.c" "$x" "$y"
echo compile "${output}.c" "${output}"
compile "${output}.c" "${output}" "codes/seidel-2d/data.o"
printf "seidel-2d,%s,%s," "${x}" "${y}" >> ${LOG}
./${output} >> ${LOG}
done
permute
}
fdtd_2d() {
target=codes/fdtd-2d/fdtd-2d
code=fdtd-2d
target="codes/${code}/${code}"
# accurate
output="$(dirname ${target})/$(basename ${target})"
compile "${output}.c" "${output}" "codes/fdtd-2d/data.o"
printf "fdtd-2d,,," >> ${LOG}
./${output} >> ${LOG}
baseline
baseline --pluto
get_scop "${target}.c" "${target}_perf.c"
get_info "${target}.c.openscop" | \
while read x y; do
output="$(dirname ${target})/${x}_${y}_$(basename ${target})"
perforate "${target}.c" "${output}.c" "$x" "$y"
echo compile "${output}.c" "${output}"
compile "${output}.c" "${output}" "codes/fdtd-2d/data.o"
printf "fdtd-2d,%s,%s," "${x}" "${y}" >> ${LOG}
./${output} >> ${LOG}
done
permute
}
adi() {
target=codes/adi/adi
code=adi
target="codes/${code}/${code}"
# accurate
output="$(dirname ${target})/$(basename ${target})"
compile "${output}.c" "${output}" "codes/adi/data.o"
printf "adi,,," >> ${LOG}
./${output} >> ${LOG}
baseline
baseline --pluto
get_scop "${target}.c" "${target}_perf.c"
get_info "${target}.c.openscop" | \
while read x y; do
output="$(dirname ${target})/${x}_${y}_$(basename ${target})"
perforate "${target}.c" "${output}.c" "$x" "$y"
echo compile "${output}.c" "${output}"
compile "${output}.c" "${output}" "codes/adi/data.o"
printf "adi,%s,%s," "${x}" "${y}" >> ${LOG}
./${output} >> ${LOG}
done
permute
}
heat_3d() {
target=codes/heat-3d/heat-3d
code=heat-3d
target="codes/${code}/${code}"
# accurate
output="$(dirname ${target})/$(basename ${target})"
compile "${output}.c" "${output}" "codes/heat-3d/data.o"
printf "heat-3d,,," >> ${LOG}
./${output} >> ${LOG}
baseline
baseline --pluto
get_scop "${target}.c" "${target}_perf.c"
get_info "${target}.c.openscop" | \
while read x y; do
output="$(dirname ${target})/${x}_${y}_$(basename ${target})"
perforate "${target}.c" "${output}.c" "$x" "$y"
echo compile "${output}.c" "${output}"
compile "${output}.c" "${output}" "codes/heat-3d/data.o"
printf "heat-3d,%s,%s," "${x}" "${y}" >> ${LOG}
./${output} >> ${LOG}
done
permute
}
jacobi_1d() {
target=codes/jacobi-1d/jacobi-1d
code=jacobi-1d
target="codes/${code}/${code}"
# accurate
output="$(dirname ${target})/$(basename ${target})"
compile "${output}.c" "${output}" "codes/jacobi-1d/data.o"
printf "jacobi-1d,,," >> ${LOG}
./${output} >> ${LOG}
baseline
baseline --pluto
get_scop "${target}.c" "${target}_perf.c"
get_info "${target}.c.openscop" | \
while read x y; do
output="$(dirname ${target})/${x}_${y}_$(basename ${target})"
perforate "${target}.c" "${output}.c" "$x" "$y"
echo compile "${output}.c" "${output}"
compile "${output}.c" "${output}" "codes/jacobi-1d/data.o"
printf "jacobi-1d,%s,%s," "${x}" "${y}" >> ${LOG}
./${output} >> ${LOG}
done
permute
}
hotspot() {
code=hotspot
target=codes/hotspot/hotspot_openmp
# accurate
......@@ -259,7 +196,6 @@ hotspot() {
correlation
deriche
floyd_warshall
hotspot
doitgen
seidel_2d
fdtd_2d
......@@ -267,3 +203,4 @@ adi
heat_3d
jacobi_2d
jacobi_1d
#hotspot
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment