Prepare hemera execution benchmark

This commit is contained in:
2024-02-13 15:54:09 +01:00
parent 4c05167901
commit 5be483c4c1
6 changed files with 160 additions and 86 deletions

View File

@ -0,0 +1,22 @@
#!/bin/bash
#SBATCH --array=1-32
#SBATCH --job-name=qed_bench
#SBATCH --partition=intel
#SBATCH --time=16:00:00
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=32
#SBATCH --mem=16GB
#SBATCH --output=simulation-%A-%a.out
#SBATCH --error=simulation-%A-%a.err
cd $HOME/repos/metagraph_optimization
module load singularity
module load git
printf "Current git commit hash: " > results/git.txt
git rev-parse HEAD >> results/git.txt
git status >> results/git.txt
singularity exec experiments/CUDA_container.sif ./experiments/run_qed_exec.sh $SLURM_ARRAY_TASK_ID

View File

@ -13,5 +13,10 @@
cd $HOME/repos/metagraph_optimization
module load singularity
module load git
printf "Current git commit hash: " > results/git.txt
git rev-parse HEAD >> results/git.txt
git status >> results/git.txt
singularity exec experiments/CUDA_container.sif ./experiments/run_gen_diagram.sh $SLURM_ARRAY_TASK_ID

View File

@ -10,10 +10,6 @@ cd $SCRIPT_DIR/..
echo "Writing system info..."
printf "Current git commit hash: " > $LOG_FILE
git rev-parse HEAD >> $LOG_FILE
git status >> $LOG_FILE
# collect some information of the used node and system
uname -a > results/system.txt
julia --version > results/julia.txt

View File

@ -1,35 +1,29 @@
#!/bin/bash
# first arg = number of threads
$i = $1
i=$1
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
LOG_FILE="$SCRIPT_DIR/../julia.log"
LOG_FILE="$SCRIPT_DIR/../julia_$i.log"
cd $SCRIPT_DIR/..
echo "Writing system info..."
printf "Current git commit hash: " > $LOG_FILE
git rev-parse HEAD >> $LOG_FILE
git status >> $LOG_FILE
# collect some information of the used node and system
uname -a > results/system.txt
julia --version > results/julia.txt
lscpu > results/cpu.txt
nvidia-smi > results/cuda_gpu.txt
lsblk > results/storage.txt
lspci > results/pci.txt
uname -a > results/system_$i.txt
julia --version > results/julia_$i.txt
lscpu > results/cpu_$i.txt
nvidia-smi > results/cuda_gpu_$i.txt
lsblk > results/storage_$i.txt
lspci > results/pci_$i.txt
echo "Initiating julia..."
julia --project=./ -e 'using Pkg; Pkg.instantiate(); Pkg.add(url="https://github.com/QEDjl-project/QEDprocesses.jl/")' >> $LOG_FILE 2>&1 || exit 1 # need current dev version of QEDprocesses
julia -e 'using Pkg; Pkg.add("CSV"); Pkg.add("DataFrames"); Pkg.add("LIKWID"); Pkg.add("CUDA"); Pkg.add("Random")' >> $LOG_FILE 2>&1 || exit 1 # add requirements for the bench script
julia --threads=8 --project=./ -e 'using Pkg; Pkg.instantiate(); Pkg.add(url="https://github.com/QEDjl-project/QEDprocesses.jl/")' >> $LOG_FILE 2>&1 || exit 1 # need current dev version of QEDprocesses
julia --threads=8 -e 'using Pkg; Pkg.add("CSV"); Pkg.add("DataFrames"); Pkg.add("LIKWID"); Pkg.add("CUDA"); Pkg.add("Random"); Pkg.add("BenchmarkTools"); Pkg.add("Dates")' >> $LOG_FILE 2>&1 || exit 1 # add requirements for the bench script
echo "Benchmarking..."
echo "$i Threads"
echo "Benchmarking $i Threads"
julia --project --threads=$i examples/qed_bench.jl >> $LOG_FILE 2>&1 || echo "-- Something went wrong, check logs --"
echo "Benchmarking Tape variant..."
echo "$i Threads"
echo "Benchmarking Tape variant $i Threads"
julia --project --threads=$i examples/qed_bench_tape.jl >> $LOG_FILE 2>&1 || echo "-- Something went wrong, check logs --"