Skip to content

Commit

Permalink
IOR runs on xrds.
Browse files Browse the repository at this point in the history
  • Loading branch information
dmageeLANL committed Oct 31, 2023
1 parent 4a71178 commit fd1cd69
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 18 deletions.
2 changes: 1 addition & 1 deletion doc/sphinx/09_Microbenchmarks/M6_IOR/ats3_ior.csv
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Node_Config,MPIIO_task,POSIX_task,MPIIO_shared,POSIX_shared
"Single Write",38615.88,38508.96,35964.32,37724.38
"Single Read",41830.12,42963.57,41933.79,42000.99
"Full System Write",,,,
"Full System Write",1194607.75,1263481.38,,
"Full System Read",,,,
87 changes: 70 additions & 17 deletions microbenchmarks/ior/Xrds_acceptance_script.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,43 @@
##############
# IOR
##############
set -e

## SET VARS FROM CL INPUT KEY=VALUE
setvar () {
setvar() {
while [[ $# -gt 0 ]]; do
export $1
shift
done
}

export SCRATCH=/lustre/xrscratch1 # CROSSROADS SCRATCH
realpath() {
tpth=${1:-$(pwd)}
echo $(/usr/bin/realpath $tpth)
}

if [[ -f ${BASH_SOURCE[0]} ]]; then
thisfile=${BASH_SOURCE[0]}
elif [[ -f $0 ]]; then
thisfile=$0
else
echo "THIS SCRIPT CAN'T FIND ITSELF."
exit 1
fi

# XRDS AND ROCI
runpath=$(pwd)
export SCRATCH_HOME=$(find /lustre -maxdepth 5 -name $USER -type d 2> /dev/null | grep -v -m1 givedir)
export THISDIR=$(dirname $thisfile)
export IORLOG=${HOME}/logs/ior
export IORLOC=
export PREFIX=${HOME}/ior
export TPN=110
export SEGMENTS=16
export SIZE=2G
export NNODES=$SLURM_NNODES
export NNODES=${SLURM_NNODES}
export BUILD_DIR=/tmp/${USER}/ior
export BUILD=true
export IORSRC=$THISDIR
separator="\t ------------------------------------------------- \t"

###################################################################
Expand All @@ -27,21 +48,51 @@ separator="\t ------------------------------------------------- \t"
###################################################################
setvar $@

find ${WORKING_DIR} -type f -delete
mkdir -p $IORLOG

export SCRATCH_HOME=${SCRATCH}/${USER}
export WORKING_DIR=${SCRATCH_HOME}/ior
mkdir -p ${WORKING_DIR}
find ${WORKING_DIR} -type f -delete

### IF CRAY
export MPICC=cc
export MPICXX=CC
export MPIFC=ftn
export CC=cc
export CXX=CC
export FC=ftn
export CFLAGS='-O3 -w'
prearg=''
postarg=''

runior() {
# 1 is working dir output file
# 2 is POSIX or MPIIO
# 3 is PRE 2 args
# 4 is POST 2 args
srun -N ${NNODES} --ntasks-per-node=${TPN} ${IORLOC}/ior "${3}" $2 "${4}" -o ${WORKING_DIR}/${NNODES}_${2}_${1}
echo srun -N ${NNODES} --ntasks-per-node=${TPN} ./bin/ior ${prearg} $2 ${postarg} -o ${NNODES}_${2}_${1}/a &>> ior_results
srun -N ${NNODES} --ntasks-per-node=${TPN} ./bin/ior ${prearg} $2 ${postarg}} -o ${NNODES}_${2}_${1}/a &>> ior_results
sleep 3
}

###################################################################
# BUILD IOR
if [[ $BUILD != "false" ]]; then
rm -rf $PREFIX
mkdir -p $PREFIX
mkdir -p $BUILD_DIR
cd $BUILD_DIR
$IORSRC/configure --prefix=$PREFIX
make
make install
cd $runpath
fi
if [[ $BUILD == "only" ]]; then
echo BUILT HERE: $BUILD_DIR
echo INSTALLED HERE: $PREFIX
exit 0
fi

###################################################################
# PRE
# -k -e -a
Expand All @@ -54,25 +105,27 @@ runior() {

###################################################################
# POST
# -F -v $SIZE -s $SEGMENTS -t 1M -D 30 -r
# -F -v $SIZE -s $SEGMENTS -t 1M -D 180 -w #WRITE
# -F -v $SIZE -s $SEGMENTS -t 1M -D 30 -r
# -F -v $SIZE -s $SEGMENTS -t 1M -D 180 -w #WRITE
# -v -b $SIZE -s $SEGMENTS -t 1M -D 180 -w
# -v -b $SIZE -s $SEGMENTS -t 1M -D 45 -r
# -v -b $SIZE -s $SEGMENTS -t 1M -D 45 -r

###################################################################
# PER NODE READ WRITE
###################################################################
cd $PREFIX

title="per_node"
echo -e "START $separator"
echo -e "$separator"
echo "WRITE: $title"
cd $WORKING_DIR

prearg="-k -e -a"
postarg="-F -v -b $SIZE -s $SEGMENTS -t 1M -D 180 -w"
runior $title "POSIX" $prearg $postarg
prearg='-k -e -a'
postarg='-F -v -b $SIZE -s $SEGMENTS -t 1M -D 180 -w'
runior $title "POSIX"
echo -e "$separator"
runior $title "MPIIO" $prearg $postarg
runior $title "MPIIO"

echo -e "$separator"
echo "READ: $title"
Expand All @@ -92,8 +145,8 @@ echo -e "$separator"
echo -e "$separator"
echo "WRITE: $title"

prearg="-k -e -E -a"
postarg="-v -b $SIZE -s $SEGMENTS -t 1M -D 180 -w"
prearg='-k -e -E -a'
postarg='-v -b ${SIZE} -s ${SEGMENTS} -t 1M -D 180 -w'
lfs setstripe -c 4 ${WORKING_DIR}/${NNODES}_POSIX_${title}
runior $title "POSIX" $prearg $postarg
echo -e "$separator"
Expand All @@ -116,4 +169,4 @@ echo $(date) >> ${HOME}/ior_current/run_summary
env >> ${HOME}/ior_current/run_summary

echo -e "END $separator"

cd $THISDIR

0 comments on commit fd1cd69

Please sign in to comment.