-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add actual bozzle and support scripts
- Loading branch information
Showing
14 changed files
with
1,157 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
#!/bin/bash | ||
|
||
RUN_LOG_FILE=${1} | ||
SUMMARY_FILE_NAME=${2} | ||
|
||
rm -f ${SUMMARY_FILE_NAME} | ||
runalyzer-gather ${SUMMARY_FILE_NAME} ${RUN_LOG_FILE} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
#!/bin/bash --login | ||
|
||
#BSUB -nnodes 32 | ||
#BSUB -G uiuc | ||
#BSUB -W 120 | ||
#BSUB -J bozzle_eager_weak | ||
#BSUB -q pbatch | ||
#BSUB -o bozzle-eager-weak.out | ||
|
||
source /p/gpfs1/mtcampbe/CEESD/AutomatedTesting/MIRGE-Timing/hand-timing/emirge/config/activate_env.sh | ||
./run_eager_weak.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
#!/bin/bash | ||
|
||
RAWFILE_ROOT="${1}" | ||
RAWFILE_NAME="${RAWFILE_ROOT}.sqlite" | ||
SUMMARY_FILE_NAME="${RAWFILE_ROOT}.summary.sqlite" | ||
runalyzer-gather ${SUMMARY_FILE_NAME} ${RAWFILE_NAME} | ||
STARTUP_TIME=$(runalyzer -m ${SUMMARY_FILE_NAME} -c 'print(q("select $t_init.max").fetchall()[0][0])' | grep -v INFO) | ||
FIRST_STEP=$(runalyzer -m ${SUMMARY_FILE_NAME} -c 'print(sum(p[0] for p in q("select $t_step.max").fetchall()[0:1]))' | grep -v INFO) | ||
FIRST_10_STEPS=$(runalyzer -m ${SUMMARY_FILE_NAME} -c 'print(sum(p[0] for p in q("select $t_step.max").fetchall()[0:10]))' | grep -v INFO) | ||
SECOND_10_STEPS=$(runalyzer -m ${SUMMARY_FILE_NAME} -c 'print(sum(p[0] for p in q("select $t_step.max").fetchall()[10:19]))' | grep -v INFO) | ||
printf "==== ${rawfile_name} -> ${SUMMARY_FILE_NAME} ====\n" | ||
printf "STARTUP: ${STARTUP_TIME}\n" | ||
printf "FIRST_STEP: ${FIRST_STEP}\n" | ||
printf "2nd 9 STEPS: ${SECOND_10_STEPS}\n" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
#!/bin/bash | ||
|
||
SUMMARY_FILE_NAME="${1}" | ||
STARTUP_TIME=$(runalyzer -m ${SUMMARY_FILE_NAME} -c 'print(q("select $t_init.max").fetchall()[0][0])' | grep -v INFO) | ||
FIRST_STEP=$(runalyzer -m ${SUMMARY_FILE_NAME} -c 'print(sum(p[0] for p in q("select $t_step.max").fetchall()[0:1]))' | grep -v INFO) | ||
MIDDLE_8_STEPS=$(runalyzer -m ${SUMMARY_FILE_NAME} -c 'print(sum(p[0] for p in q("select $t_step.max").fetchall()[2:9]))' | grep -v INFO) | ||
printf "==== ${rawfile_name} -> ${SUMMARY_FILE_NAME} ====\n" | ||
printf "STARTUP: ${STARTUP_TIME}\n" | ||
printf "FIRST_STEP: ${FIRST_STEP}\n" | ||
printf "MIDDLE 8 STEPS: ${MIDDLE_8_STEPS}\n" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
#!/bin/bash | ||
|
||
order=${1} | ||
scale=${2} | ||
filename=${3} | ||
cat << EOF > ${filename} | ||
nviz: 100 | ||
nrestart: 100 | ||
current_dt: 1e-10 | ||
t_final: 1.1e-9 | ||
alpha_sc: 0.5 | ||
s0_sc: -5.0 | ||
kappa_sc: 0.5 | ||
logDependent: 0 | ||
order: ${order} | ||
wscale: ${scale} | ||
EOF |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
#!/bin/bash | ||
|
||
SUMMARY_FILE_NAME=${1} | ||
YAML_RUN_FILE=${2} | ||
ORDER=${3} | ||
SCALE=${4} | ||
rm -f ${YAML_RUN_FILE} | ||
TIMING_DATE=$(date "+%Y-%m-%d %H:%M") | ||
TIME_SINCE_EPOCH=$(date +%s) | ||
|
||
# --- Pull the timings out of the sqlite files generated by logging | ||
STARTUP_TIME=$(runalyzer -m ${SUMMARY_FILE_NAME} -c 'print(q("select $t_init.max").fetchall()[0][0])' | grep -v INFO) | ||
FIRST_STEP=$(runalyzer -m ${SUMMARY_FILE_NAME} -c 'print(sum(p[0] for p in q("select $t_step.max").fetchall()[0:1]))' | grep -v INFO) | ||
MIDDLE_8_STEPS=$(runalyzer -m ${SUMMARY_FILE_NAME} -c 'print(sum(p[0] for p in q("select $t_step.max").fetchall()[2:10]))' | grep -v INFO) | ||
|
||
# --- Create a YAML-compatible text snippet with the timing info | ||
printf "run_date: ${TIMING_DATE}\nrun_host: ${TIMING_HOST}\n" > ${YAML_RUN_FILE} | ||
printf "run_epoch: ${TIME_SINCE_EPOCH}\nrun_platform: ${TIMING_PLATFORM}\n" >> ${YAML_RUN_FILE} | ||
printf "order: ${ORDER}\nscale: ${SCALE}\n" >> ${YAML_RUN_FILE} | ||
printf "time_startup: ${STARTUP_TIME}\ntime_first_step: ${FIRST_STEP}\n" >> ${YAML_RUN_FILE} | ||
printf "time_middle_8: ${MIDDLE_8_STEPS}\n---\n" >> ${YAML_RUN_FILE} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
#!/bin/bash --login | ||
|
||
#BSUB -nnodes 1 | ||
#BSUB -G uiuc | ||
#BSUB -W 720 | ||
#BSUB -J bozzle_eager_gridscale | ||
#BSUB -q pbatch | ||
#BSUB -o bozzle-eager-gridscale.out | ||
|
||
source /p/gpfs1/mtcampbe/CEESD/AutomatedTesting/MIRGE-Timing/hand-timing/emirge/config/activate_env.sh | ||
./run_order_scale_eager.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
#!/bin/bash --login | ||
|
||
#BSUB -nnodes 1 | ||
#BSUB -G uiuc | ||
#BSUB -W 720 | ||
#BSUB -J bozzle_lazy_gridscale | ||
#BSUB -q pbatch | ||
#BSUB -o bozzle-lazy-gridscale.out | ||
|
||
source /p/gpfs1/mtcampbe/CEESD/AutomatedTesting/MIRGE-Timing/hand-timing/emirge/config/activate_env.sh | ||
./run_order_scale_lazy.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
#!/bin/bash | ||
|
||
timestamp=$(date "+%Y.%m.%d-%H.%M.%S") | ||
TIMING_HOME=$(pwd) | ||
TIMING_HOST=$(hostname) | ||
TIMING_PLATFORM=$(uname) | ||
TIMING_ARCH=$(uname -m) | ||
TIMING_HOST="Lassen" | ||
GPU_ARCH="GV100GL" | ||
EXENAME="bozzle.py" | ||
CASENAME="bozzle-eager-weak" | ||
RUN_OPTIONS="-c ${CASENAME} --log" | ||
RUN_LOG_FILE="${CASENAME}-rank0.sqlite" | ||
|
||
# Do for orders 1, 2, 3 | ||
for order in {1..3} | ||
do | ||
YAML_FILE_NAME="${CASENAME}_p${order}.yaml" | ||
rm -f ${YAML_FILE_NAME} | ||
|
||
# The grid scales like this: | ||
# NumElements = 6*[INT(4*(scale)**(1/3)]**3 | ||
for scale in 1 2 4 8 16 32 | ||
do | ||
SUMMARY_FILE_ROOT="${CASENAME}_p${order}w${scale}" | ||
SUMMARY_FILE_NAME="${SUMMARY_FILE_ROOT}_${timestamp}.sqlite" | ||
|
||
date | ||
|
||
rm -f gridscale_params.yaml | ||
printf "Generating input file...\n" | ||
./generate_input_yaml.sh ${order} ${scale} gridscale_params.yaml | ||
cat gridscale_params.yaml | ||
MY_OPTIONS="-i gridscale_params.yaml ${RUN_OPTIONS}" | ||
printf "Running ${EXENAME} with order=${order}, scale=${scale}\n" | ||
./run_mirgecom_dist.sh "${EXENAME}" "${MY_OPTIONS}" "${scale}" | ||
date | ||
|
||
if [[ -f "${RUN_LOG_FILE}" ]]; then | ||
|
||
printf "Done running ${EXENAME} with order=${order}, scale=${scale}\n" | ||
printf "Creating DB summary...\n" | ||
|
||
# -- Process the results of the timing run | ||
./create_db_summary.sh ${RUN_LOG_FILE} ${SUMMARY_FILE_NAME} | ||
|
||
YAML_RUN_FILE="${SUMMARY_FILE_ROOT}_${timestamp}.yaml" | ||
./generate_yaml_run_file.sh ${SUMMARY_FILE_NAME} ${YAML_RUN_FILE} ${order} ${scale} | ||
|
||
if [[ -f ${YAML_FILE_NAME} ]]; then | ||
cat ${YAML_RUN_FILE} >> ${YAML_FILE_NAME} | ||
else | ||
cp ${YAML_RUN_FILE} ${YAML_FILE_NAME} | ||
fi | ||
|
||
else | ||
printf "The expected file: ${RUN_LOG_FILE} was not created.\n" | ||
fi | ||
done | ||
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
#!/bin/bash | ||
|
||
exename="${1}" | ||
options="${2}" | ||
|
||
printf "Resetting cache directories.\n" | ||
export PYOPENCL_CTX="0:1" | ||
export XDG_CACHE_HOME="/tmp/$USER/xdg-scratch" | ||
export POCL_CACHE_DIR="/tmp/$USER/pocl-cache" | ||
rm -rf $XDG_CACHE_HOME $POCL_CACHE_DIR | ||
|
||
printf "Running: jsrun -g 1 -a 1 -n 1 python -O -u -m mpi4py ./${exename} ${options}\n" | ||
jsrun -g 1 -a 1 -n 1 python -O -u -m mpi4py ./${exename} ${options} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
#!/bin/bash | ||
|
||
exename="${1}" | ||
options="${2}" | ||
numparts="${3}" | ||
|
||
printf "Resetting cache directories.\n" | ||
export PYOPENCL_CTX="0:1" | ||
export XDG_CACHE_HOME="/tmp/$USER/xdg-scratch" | ||
export POCL_CACHE_DIR="/tmp/$USER/pocl-cache" | ||
rm -rf $XDG_CACHE_HOME $POCL_CACHE_DIR | ||
|
||
printf "Checking task info:\n" | ||
jsrun -r 1 -g 1 -a 1 -n ${numparts} js_task_info | ||
|
||
printf "Running: jsrun -g 1 -a 1 -n ${numparts} python -O -u -m mpi4py ./${exename} ${options}\n" | ||
jsrun -g 1 -a 1 -r 1 -n ${numparts} python -O -u -m mpi4py ./${exename} ${options} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
#!/bin/bash | ||
|
||
timestamp=$(date "+%Y.%m.%d-%H.%M.%S") | ||
TIMING_HOME=$(pwd) | ||
TIMING_HOST=$(hostname) | ||
TIMING_PLATFORM=$(uname) | ||
TIMING_ARCH=$(uname -m) | ||
TIMING_HOST="Lassen" | ||
GPU_ARCH="GV100GL" | ||
EXENAME="bozzle.py" | ||
CASENAME="bozzle-eager" | ||
RUN_OPTIONS="-c ${CASENAME} --log" | ||
RUN_LOG_FILE="${CASENAME}-rank0.sqlite" | ||
|
||
# Do for orders 1, 2, 3 | ||
for order in {1..3} | ||
do | ||
YAML_FILE_NAME="${CASENAME}_p${order}.yaml" | ||
rm -f ${YAML_FILE_NAME} | ||
|
||
# The grid scales like this: | ||
# NumElements = 6*[INT(4*(scale)**(1/3)]**3 | ||
for scale in 1 2 8 32 128 256 512 1024 2048 3192 | ||
do | ||
SUMMARY_FILE_ROOT="${CASENAME}_p${order}w${scale}" | ||
SUMMARY_FILE_NAME="${SUMMARY_FILE_ROOT}_${timestamp}.sqlite" | ||
|
||
date | ||
|
||
rm -f gridscale_params.yaml | ||
printf "Generating input file...\n" | ||
./generate_input_yaml.sh ${order} ${scale} gridscale_params.yaml | ||
cat gridscale_params.yaml | ||
MY_OPTIONS="-i gridscale_params.yaml ${RUN_OPTIONS}" | ||
printf "Running ${EXENAME} with order=${order}, scale=${scale}\n" | ||
./run_mirgecom.sh "${EXENAME}" "${MY_OPTIONS}" | ||
date | ||
|
||
if [[ -f "${RUN_LOG_FILE}" ]]; then | ||
|
||
printf "Done running ${EXENAME} with order=${order}, scale=${scale}\n" | ||
printf "Creating DB summary...\n" | ||
|
||
# -- Process the results of the timing run | ||
./create_db_summary.sh ${RUN_LOG_FILE} ${SUMMARY_FILE_NAME} | ||
|
||
YAML_RUN_FILE="${SUMMARY_FILE_ROOT}_${timestamp}.yaml" | ||
./generate_yaml_run_file.sh ${SUMMARY_FILE_NAME} ${YAML_RUN_FILE} ${order} ${scale} | ||
|
||
if [[ -f ${YAML_FILE_NAME} ]]; then | ||
cat ${YAML_RUN_FILE} >> ${YAML_FILE_NAME} | ||
else | ||
cp ${YAML_RUN_FILE} ${YAML_FILE_NAME} | ||
fi | ||
|
||
else | ||
printf "The expected file: ${RUN_LOG_FILE} was not created.\n" | ||
fi | ||
done | ||
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
#!/bin/bash | ||
|
||
timestamp=$(date "+%Y.%m.%d-%H.%M.%S") | ||
TIMING_HOME=$(pwd) | ||
TIMING_HOST=$(hostname) | ||
TIMING_PLATFORM=$(uname) | ||
TIMING_ARCH=$(uname -m) | ||
TIMING_HOST="Lassen" | ||
GPU_ARCH="GV100GL" | ||
EXENAME="bozzle.py" | ||
CASENAME="bozzle-lazy" | ||
RUN_OPTIONS="-c ${CASENAME} --lazy --log" | ||
RUN_LOG_FILE="${CASENAME}-rank0.sqlite" | ||
|
||
# Do for orders 1, 2, 3 | ||
for order in {1..3} | ||
do | ||
YAML_FILE_NAME="${CASENAME}_p${order}.yaml" | ||
rm -f ${YAML_FILE_NAME} | ||
|
||
# The grid scales like this: | ||
# NumElements = 6*[INT(4*(scale)**(1/3)]**3 | ||
for scale in 1 2 8 32 128 256 512 1024 2048 3192 | ||
do | ||
SUMMARY_FILE_ROOT="${CASENAME}_p${order}w${scale}" | ||
SUMMARY_FILE_NAME="${SUMMARY_FILE_ROOT}_${timestamp}.sqlite" | ||
|
||
date | ||
|
||
rm -f gridscale_params.yaml | ||
printf "Generating input file...\n" | ||
./generate_input_yaml.sh ${order} ${scale} gridscale_params.yaml | ||
cat gridscale_params.yaml | ||
MY_OPTIONS="-i gridscale_params.yaml ${RUN_OPTIONS}" | ||
printf "Running ${EXENAME} with order=${order}, scale=${scale}\n" | ||
./run_mirgecom.sh "${EXENAME}" "${MY_OPTIONS}" | ||
date | ||
|
||
if [[ -f "${RUN_LOG_FILE}" ]]; then | ||
|
||
printf "Done running ${EXENAME} with order=${order}, scale=${scale}\n" | ||
printf "Creating DB summary...\n" | ||
|
||
# -- Process the results of the timing run | ||
./create_db_summary.sh ${RUN_LOG_FILE} ${SUMMARY_FILE_NAME} | ||
|
||
YAML_RUN_FILE="${SUMMARY_FILE_ROOT}_${timestamp}.yaml" | ||
./generate_yaml_run_file.sh ${SUMMARY_FILE_NAME} ${YAML_RUN_FILE} ${order} ${scale} | ||
|
||
if [[ -f ${YAML_FILE_NAME} ]]; then | ||
cat ${YAML_RUN_FILE} >> ${YAML_FILE_NAME} | ||
else | ||
cp ${YAML_RUN_FILE} ${YAML_FILE_NAME} | ||
fi | ||
|
||
else | ||
printf "The expected file: ${RUN_LOG_FILE} was not created.\n" | ||
fi | ||
done | ||
done |