#!/bin/bash -l
#SBATCH --nodes=#NODES#
#SBATCH --ntasks-per-node=#TASKPERNODE#
#SBATCH --ntasks-per-core=1
#SBATCH --cpus-per-task=1
#SBATCH --constraint=gpu
#SBATCH --time=#TIME#

export CRAY_CUDA_MPS=1
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
module load daint-gpu



n=$1
m=$2
g=$3
v=$4
EXE=$5
name=$6
lx=$7
ly=$8
lz=$9
lt=${10}
recon=${11}
prec=${12}
prec_sloppy=${13}
QUDA_version=${14}



##
##  The executable will be called twice: First run will be used to tune (saved in QUDA_RESOURCE_PATH)
##				         Second run is the benchmark run
##
echo $QUDA_version 

#if [ $QUDA_version -le 80 ] then
#	echo "srun -N ${n} --tasks-per-node=$g $EXE --xgridsize 1 --ygridsize $g --zgridsize $m --tgridsize $n --xdim $lx --ydim $ly --zdim $lz --tdim $lt --recon $recon --recon_sloppy $recon --prec $prec --prec_sloppy $prec_sloppy > /dev/null"
#	srun -N ${n} --tasks-per-node=$g $EXE --xgridsize 1 --ygridsize $g --zgridsize $m --tgridsize $n --xdim $lx --ydim $ly --zdim $lz --tdim $lt --recon $recon --recon_sloppy $recon --prec $prec --prec_sloppy $prec_sloppy > /dev/null
#	if [ $? -eq 0 ] ; then
#	echo "srun -N ${n} --tasks-per-node=$g $EXE --xgridsize 1 --ygridsize $g --zgridsize $m --tgridsize $n --xdim $lx --ydim $ly --zdim $lz --tdim $lt --recon $recon --recon_sloppy $recon --prec $prec --prec_sloppy $prec_sloppy > $name.log"
#	srun -N ${n} --tasks-per-node=$g $EXE --xgridsize 1 --ygridsize $g --zgridsize $m --tgridsize $n --xdim $lx --ydim $ly --zdim $lz --tdim $lt --recon $recon --recon_sloppy $recon --prec $prec --prec_sloppy $prec_sloppy > $name.log
#	fi
#else
	echo "srun -n $SLURM_NTASKS --ntasks-per-node=$SLURM_NTASKS_PER_NODE -c $SLURM_CPUS_PER_TASK $EXE --xgridsize $v --ygridsize $g --zgridsize $m --tgridsize $n --xdim $lx --ydim $ly --zdim $lz --tdim $lt --recon $recon --recon-sloppy $recon --prec $prec --prec-sloppy $prec_sloppy --inv-type cg --dslash-type clover > /dev/null"
	srun -n $SLURM_NTASKS --ntasks-per-node=$SLURM_NTASKS_PER_NODE -c $SLURM_CPUS_PER_TASK $EXE --xgridsize $v --ygridsize $g --zgridsize $m --tgridsize $n --xdim $lx --ydim $ly --zdim $lz --tdim $lt --recon $recon --recon-sloppy $recon --prec $prec --prec-sloppy $prec_sloppy --inv-type cg --dslash-type clover > /dev/null
	if [ $? -eq 0 ] ; then
	echo "srun -n $SLURM_NTASKS --ntasks-per-node=$SLURM_NTASKS_PER_NODE -c $SLURM_CPUS_PER_TASK $EXE --xgridsize $v --ygridsize $g --zgridsize $m --tgridsize $n --xdim $lx --ydim $ly --zdim $lz --tdim $lt --recon $recon --recon-sloppy $recon --prec $prec --prec-sloppy $prec_sloppy --inv-type cg --dslash-type clover > $name.log"
	srun -n $SLURM_NTASKS --ntasks-per-node=$SLURM_NTASKS_PER_NODE -c $SLURM_CPUS_PER_TASK $EXE --xgridsize $v --ygridsize $g --zgridsize $m --tgridsize $n --xdim $lx --ydim $ly --zdim $lz --tdim $lt --recon $recon --recon-sloppy $recon --prec $prec --prec-sloppy $prec_sloppy --inv-type cg --dslash-type clover > $name.log
	fi
#fi
