#!/bin/bash
rm $1 > /dev/null 2>&1
echo "---------------------------------"
echo "parallel ? : $3"

if [[ $3 == "yes" ]] ; then
    gcc -O3 -march=native -fopenmp -I ../utilities  ../utilities/polybench.c $1.c -DPOLYBENCH_TIME -D$2_DATASET -o $1 -lm
else
    gcc -O3 -march=native -I ../utilities  ../utilities/polybench.c $1.c -DPOLYBENCH_TIME -D$2_DATASET -o $1 -lm
fi
MIN=9999
for i in {0..999}
do
    if [[ $3 == "yes" ]] ; then
        time_exec=`OMP_PROC_BIND=true OMP_NUM_THREADS=12 ./$1 2>&1`
    else
        time_exec=`./$1 2>&1`
    fi
    var=$(awk 'BEGIN{ print "'${time_exec}'"<"'${MIN}'" }')
    if [ "$var" -eq 1 ];then
        if [[ $4 == "yes" ]] ; then
            echo "current $2 : $time_exec"
        fi
        MIN="$time_exec"
    fi
done

echo "real $2 : $MIN"