Skip to content
run_ana.sh 3.6 KiB
Newer Older
##
##  RUN - Part 1
##
##  Before starting this job-script replace "SUBMIT" with the submition-command of the local queing system.
##  Additional in the script submit_job the execution command has to be adjusted to the local machine.
##  
##
##  Script for Part 1 of the UEABS Benchmarksuite
##
#!/bin/bash

EXE=/gpfs/projects/pr1ehq00/bench/part1/bench
## Set scaling-mode: Strong or Weak
sca_mode="Strong"
#sca_mode="Weak"
mode="Analysis"
#mode="Run"

##	sbatch_on=1
exe_perm=1 ## use chmod to allow execution of submit_job_Nx_Gx.sh

## lattice size (size strong 1)
gx=64
gt=8
g=8        ##MPItaskperNODE
openmp=6   ##OMP
## lattice size (size strong 2) - there is no other testcase yet
#gx=64
#gt=128
## lattice size (size weak 1)
#gx=48
#gt=24

## use smaller lattice size of weak scaling mode: like gx=24 gt=24
##

lt=$gt
lx=$gx
ly=$gx
lz=$gx

#for n in 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384; do
for n in 8 16 32 64 128 256 512 1024 2048 4096 8192 16384; do
#for n in 8;do
            px=$n
            py=1
            pz=1
            pt=1
            if [ $n -eq 16 ];then
	        py=2
                px=8
	    fi
	    if [ $n -eq 32 ];then
	        py=4
                px=8
	    fi
            if [ $n -eq 64 ];then
                pt=2
                py=4
                px=8
            fi
            if [ $n -eq 128 ];then
                pz=2
                py=8
                px=8
            fi
            if [ $n -eq 256 ];then
                pz=4
                py=8
                px=8
            fi
            if [ $n -eq 512 ];then
                pz=8
                py=8
                px=8
            fi
            if [ $n -eq 1024 ];then
                pz=8
	        py=8		
                px=8
                pt=2
            fi
            if [ $n -eq 2048 ];then
                pz=8
                py=8
                px=16
                pt=2
            fi
            if [ $n -eq 4096 ];then
                pz=8
                py=16
                px=16
                pt=2
            fi
            if [ $n -eq 8192 ];then
                pz=16
                py=16
                px=16
                pt=2
            fi
            if [ $n -eq 16384 ];then
                pz=16
                py=16
                px=16
                pt=2
            fi

            if [ $sca_mode = "Strong" ];then
                lt1=$((gt/pt))
                lx1=$((gx/px))
                ly1=$((gx/py))
                lz1=$((gx/pz))
            else
                lt1=$lt
                lx1=$lx
                ly1=$ly
                lz1=$lz

                lt=$((gt*pt))
                lx=$((gx*px))
                ly=$((gx*py))
                lz=$((gx*pz))
            fi
            node=$((n/g))
	    name=${sca_mode}_part1_${px}x${py}x${pz}x${pt}_${lx}x${ly}x${lz}x${lt}_${n}
            folder=N${node}_NtaskpN${g}_${lx}x${ly}x${lz}x${lt}
            if [ $mode != "Analysis" ];then
            	echo $name
	        mkdir $folder
         	submitscript=submit_job_part1_N${n}.sh
                  
		./prepare_submit_job_part1.sh '01:30:00' ${node} ${n} ${g} ${openmp} ${exe_perm} ${submitscript} ${folder}
                ./prepare_kernelE_input.sh ${lx} ${ly} ${lz} ${lt} ${px} ${py} ${pz} ${pt} $folder
                cd $folder
                echo sbatch $submitscript $EXE $name
		sbatch ./$submitscript $EXE $name
                sleep 1
                cd ..
            ## Scaning the output and save the data in dat_nameif
      	    else   
                echo $name >> Part1_$mode.log
                less $folder/$name | grep "sec" >> Part1_$mode.log

            fi
    done