From 8268eaf47173b6cad3ea8fa7722c9e1f3d9dc9d7 Mon Sep 17 00:00:00 2001 From: Frank Willmore Date: Mon, 24 Oct 2022 11:30:13 -0600 Subject: [PATCH] cleanup, add sample script --- README.md | 4 ++-- scripts/sample.pbs | 41 ----------------------------------------- scripts/sample.slurm | 15 +++++++++++---- 3 files changed, 13 insertions(+), 47 deletions(-) delete mode 100644 scripts/sample.pbs diff --git a/README.md b/README.md index 0d8025b..ef89385 100644 --- a/README.md +++ b/README.md @@ -107,10 +107,10 @@ To verify whether metadata reads were in fact performed collectively: ### never_fill -Specify this to keep HDF5 from explicitly writing a fill value. The filesystem will typically have its own mechanism of ensuring you are not receiving 'reclaimed data' from the last user of the disk space. The kernel operates on the assumption that a program will be writing unique data from each process, and ignores whatever is there initially. See the reference manual if you would like to set a fill value explicitly. +Specify this to keep HDF5 from explicitly writing a fill value. The filesystem will typically have its own mechanism of ensuring you are not receiving 'reclaimed data' from the last user of the disk space. The kernel operates on the assumption that a program will be writing unique data from each process, and ignores whatever is there initially. See the HDF5 reference manual (H5Pset_fill_time) for more. // Implementation in C - if (never_fill) assert(H5Pset_fill_time(dcpl, H5D_FILL_TIME_NEVER ) >= 0); + if (never_fill) herr_retval = H5Pset_fill_time(dcpl, H5D_FILL_TIME_NEVER); ## Dynamically loadable fill plugins diff --git a/scripts/sample.pbs b/scripts/sample.pbs deleted file mode 100644 index e96fa7b..0000000 --- a/scripts/sample.pbs +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash - -#PBS -l nodes=4:ppn=32:xe -#PBS -l walltime=00:10:00 -#PBS -N scale -#PBS -m abe - - -mkdir -p /scratch/sciteam/$USER/$PBS_JOBNAME -cd /scratch/sciteam/$USER/$PBS_JOBNAME - -SEISM_CORE=/u/sciteam/willmore/seism-core/seism-core -TIME_STEPS=10 - - -date - -#lfs setstripe --count 16 --size 94371840 seism-test.h5 - -export processors=64 - -for i in {1..5}; do - -export `echo tput_$i`=`aprun -N32 -n64 $SEISM_CORE << EOF | grep throughput | awk '{print $3}' -processor 4 4 4 -chunk 180 128 128 -domain 360 128 128 -time $TIME_STEPS -collective_write -never_fill -DONE -EOF` - -done - -printf "%d\t%g\t%g\t%g\t%g\t%g\n" $processors $tput_1 $tput_2 $tput_3 $tput_4 $tput_5 >> $PBS_JOBNAME.tsv - - -date - - diff --git a/scripts/sample.slurm b/scripts/sample.slurm index 2f55cca..d7a4040 100644 --- a/scripts/sample.slurm +++ b/scripts/sample.slurm @@ -6,21 +6,28 @@ #SBATCH --job-name seism-core_4_144 #SBATCH --output=%j-%x.out +export SEISM_SCRATCH=~/scratch/seism-core -mkdir -p ~/scratch/seism-core -cd ~/scratch/seism-core +mkdir -p ${SEISM_SCRATCH} +cd ${SEISM_SCRATCH} +rm -f seism-test.h5 export TIME_STEPS=10 -ml gcc mpich hdf5 seism-core +ml gcc mpich seism-core +# seism-core test script as a heredoc, starts from here: mpirun seism-core << EOF -processor 4 4 4 +processor 3 3 16 chunk 180 128 128 domain 360 128 128 +lfs_stripe_count 2 time ${TIME_STEPS} collective_write never_fill DONE EOF +# end of test script +# clean up +rm -f seism-test.h5