From c01e4557b56fe092fbc9c4b895c15730fd210f55 Mon Sep 17 00:00:00 2001 From: constracktor <74077030+constracktor@users.noreply.github.com> Date: Wed, 11 Feb 2026 10:19:46 -0600 Subject: [PATCH 1/9] Add tcp parcelport for buran --- benchmark/distributed_benchmark.sh | 10 +++++++--- compile.sh | 8 ++++++++ compile_fftw_examples.sh | 8 ++++++++ compile_hpxfft_examples.sh | 9 +++++++++ spack-repo/environments/hpxfft_x86_buran.yaml | 8 ++++++++ 5 files changed, 40 insertions(+), 3 deletions(-) create mode 100644 spack-repo/environments/hpxfft_x86_buran.yaml diff --git a/benchmark/distributed_benchmark.sh b/benchmark/distributed_benchmark.sh index dc3df15b..8d72ab2a 100755 --- a/benchmark/distributed_benchmark.sh +++ b/benchmark/distributed_benchmark.sh @@ -11,7 +11,7 @@ EXAMPLES_DIR=$TOP_DIR/examples # HPX-FFT implementations HPXFFT_EXECUTABLES=( "$EXAMPLES_DIR/hpxfft/build/hpxfft_distributed_loop" - "$EXAMPLES_DIR/hpxfft/build/hpxfft_distributed_agas" + #"$EXAMPLES_DIR/hpxfft/build/hpxfft_distributed_agas" ) # FFTW implementations FFTW_EXECUTABLES=( @@ -23,8 +23,12 @@ FFTW_EXECUTABLES=( HOSTNAME=$(hostname -s) if [[ "$HOSTNAME" == "ipvsmisc" ]]; then echo "tbd." -elif [[ "$HOSTNAME" == "rostam" ]]; then - echo "tbd." +elif [[ "$HOSTNAME" == "rostam1" ]]; then + PARTITION=buran + NODES_POW=3 + THREADS=48 + module load gcc/14.2.0 + spack env activate hpxfft_x86_buran elif [[ "$HOSTNAME" == "login1" ]]; then PARTITION=short NODES_POW=1 diff --git a/compile.sh b/compile.sh index ab28f455..0edd96bc 100755 --- a/compile.sh +++ b/compile.sh @@ -34,6 +34,14 @@ if command -v spack &> /dev/null; then echo "Found ${SPACK_ENV} environment, activating it." spack env activate ${SPACK_ENV} fi + elif [[ "$HOSTNAME" == "buran00" || "$HOSTNAME" == "buran01" ]]; then + module load gcc/14.2.0 + # Check if the spack environment exists + SPACK_ENV=hpxfft_x86_buran + if spack env list | grep -q "${SPACK_ENV}"; then + echo "Found ${SPACK_ENV} environment, activating it." + spack env activate ${SPACK_ENV} + fi else echo "Hostname is $HOSTNAME — no action taken." fi diff --git a/compile_fftw_examples.sh b/compile_fftw_examples.sh index 92e970a9..509fe516 100755 --- a/compile_fftw_examples.sh +++ b/compile_fftw_examples.sh @@ -34,6 +34,14 @@ if command -v spack &> /dev/null; then echo "Found ${SPACK_ENV} environment, activating it." spack env activate ${SPACK_ENV} fi + elif [[ "$HOSTNAME" == "buran00" || "$HOSTNAME" == "buran01" ]]; then + module load gcc/14.2.0 + # Check if the spack environment exists + SPACK_ENV=hpxfft_x86_buran + if spack env list | grep -q "${SPACK_ENV}"; then + echo "Found ${SPACK_ENV} environment, activating it." + spack env activate ${SPACK_ENV} + fi else echo "Hostname is $HOSTNAME — no action taken." fi diff --git a/compile_hpxfft_examples.sh b/compile_hpxfft_examples.sh index 37bea4a9..a317d59d 100755 --- a/compile_hpxfft_examples.sh +++ b/compile_hpxfft_examples.sh @@ -37,6 +37,15 @@ if command -v spack &> /dev/null; then echo "Found ${SPACK_ENV} environment, activating it." spack env activate ${SPACK_ENV} fi + elif [[ "$HOSTNAME" == "buran00" || "$HOSTNAME" == "buran01" ]]; then + module load gcc/14.2.0 + LIB_DIR=lib64 + # Check if the spack environment exists + SPACK_ENV=hpxfft_x86_buran + if spack env list | grep -q "${SPACK_ENV}"; then + echo "Found ${SPACK_ENV} environment, activating it." + spack env activate ${SPACK_ENV} + fi else echo "Hostname is $HOSTNAME — no action taken." fi diff --git a/spack-repo/environments/hpxfft_x86_buran.yaml b/spack-repo/environments/hpxfft_x86_buran.yaml new file mode 100644 index 00000000..e2fb6372 --- /dev/null +++ b/spack-repo/environments/hpxfft_x86_buran.yaml @@ -0,0 +1,8 @@ +spack: + specs: + - hpx@1.10.0%gcc@14.2.0 malloc=system networking=tcp max_cpu_count=256 instrumentation=none + - fftw@3.3.10%gcc@14.2.0 +mpi +openmp + - openmpi@5.0.5 + view: true + concretizer: + unify: true From d9369ad317535ec13e92c31224fd7f863cd58c94 Mon Sep 17 00:00:00 2001 From: constracktor <74077030+constracktor@users.noreply.github.com> Date: Sun, 22 Feb 2026 10:31:18 -0600 Subject: [PATCH 2/9] Add HPX spack package with LCI support --- spack-repo/environments/hpxfft_x86_buran.yaml | 2 +- .../hpx/__pycache__/package.cpython-39.pyc | Bin 0 -> 9139 bytes spack-repo/packages/hpx/git_external.patch | 81 +++++ .../hpx/mimalloc_no_version_requirement.patch | 12 + spack-repo/packages/hpx/package.py | 309 ++++++++++++++++++ 5 files changed, 403 insertions(+), 1 deletion(-) create mode 100644 spack-repo/packages/hpx/__pycache__/package.cpython-39.pyc create mode 100644 spack-repo/packages/hpx/git_external.patch create mode 100644 spack-repo/packages/hpx/mimalloc_no_version_requirement.patch create mode 100644 spack-repo/packages/hpx/package.py diff --git a/spack-repo/environments/hpxfft_x86_buran.yaml b/spack-repo/environments/hpxfft_x86_buran.yaml index e2fb6372..9dae2f45 100644 --- a/spack-repo/environments/hpxfft_x86_buran.yaml +++ b/spack-repo/environments/hpxfft_x86_buran.yaml @@ -1,6 +1,6 @@ spack: specs: - - hpx@1.10.0%gcc@14.2.0 malloc=system networking=tcp max_cpu_count=256 instrumentation=none + - hpx@1.11.0%gcc@14.2.0 malloc=system networking=all max_cpu_count=256 instrumentation=none - fftw@3.3.10%gcc@14.2.0 +mpi +openmp - openmpi@5.0.5 view: true diff --git a/spack-repo/packages/hpx/__pycache__/package.cpython-39.pyc b/spack-repo/packages/hpx/__pycache__/package.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..75c3a0587e67bd24976de48856ccbea7eb3b9f5b GIT binary patch literal 9139 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 e?X(e3@GKu;fjC(&Z?JSFVE-$oGQ= Version("1.9.0"): + return "https://github.com/STEllAR-GROUP/hpx/archive/v{}.tar.gz".format(version) + return "https://github.com/STEllAR-GROUP/hpx/archive/{}.tar.gz".format(version) + + def instrumentation_args(self): + args = [] + for value in self.instrumentation_values: + condition = "instrumentation={0}".format(value) + args.append(self.define("HPX_WITH_{0}".format(value.upper()), condition in self.spec)) + return args + + def cmake_args(self): + spec, args = self.spec, [] + + format_max_cpu_count = lambda max_cpu_count: ( + "" if max_cpu_count == "auto" else max_cpu_count + ) + args += [ + self.define("HPX_WITH_CXX{0}".format(spec.variants["cxxstd"].value), True), + self.define_from_variant("HPX_WITH_MALLOC", "malloc"), + self.define_from_variant("HPX_WITH_CUDA", "cuda"), + self.define_from_variant("HPX_WITH_HIP", "rocm"), + self.define_from_variant("HPX_WITH_TOOLS", "tools"), + self.define_from_variant("HPX_WITH_EXAMPLES", "examples"), + self.define_from_variant("HPX_WITH_ASYNC_MPI", "async_mpi"), + self.define_from_variant("HPX_WITH_ASYNC_CUDA", "async_cuda"), + self.define_from_variant("HPX_WITH_STATIC_LINKING", "static"), + self.define("HPX_WITH_TESTS", self.run_tests), + self.define("HPX_WITH_NETWORKING", "networking=none" not in spec), + self.define("HPX_WITH_DISTRIBUTED_RUNTIME", "networking=none" not in spec), + self.define("HPX_WITH_PARCELPORT_TCP", spec.satisfies("networking=tcp") or spec.satisfies("networking=all")), + self.define("HPX_WITH_PARCELPORT_MPI", spec.satisfies("networking=mpi") or spec.satisfies("networking=all")), + self.define( + "HPX_WITH_MAX_CPU_COUNT", + format_max_cpu_count(spec.variants["max_cpu_count"].value), + ), + self.define("HPX_WITH_PARCELPORT_LCI", spec.satisfies("networking=lci") or spec.satisfies("networking=all")), + self.define_from_variant("HPX_WITH_GENERIC_CONTEXT_COROUTINES", "generic_coroutines"), + self.define("BOOST_ROOT", spec["boost"].prefix), + self.define("HWLOC_ROOT", spec["hwloc"].prefix), + self.define("HPX_WITH_THREAD_IDLE_RATES", True), + self.define("HPX_WITH_BOOST_ALL_DYNAMIC_LINK", True), + self.define("BUILD_SHARED_LIBS", True), + self.define("HPX_DATASTRUCTURES_WITH_ADAPT_STD_TUPLE", False), + ] + + # Enable unity builds when available + if spec.satisfies("@1.7:"): + args += [self.define("HPX_WITH_UNITY_BUILD", True)] + + # HIP support requires compiling with hipcc + if self.spec.satisfies("+rocm"): + args += [self.define("CMAKE_CXX_COMPILER", self.spec["hip"].hipcc)] + if self.spec.satisfies("^cmake@3.21.0:3.21.2"): + args += [self.define("__skip_rocmclang", True)] + + # Instrumentation + args += self.instrumentation_args() + + if spec.satisfies("instrumentation=thread_debug"): + args += [ + self.define("HPX_WITH_THREAD_DEBUG_INFO", True), + self.define("HPX_WITH_LOGGING", True), + ] + + if spec.satisfies("instrumentation=apex"): + args += [ + self.define("HPX_WITH_DISTRIBUTED_RUNTIME", True), + self.define("HPX_WITH_FETCH_APEX", True), + self.define("APEX_WITH_OTF2", True), + self.define("OTF2_ROOT", spec["otf2"].prefix), + ] + + # it seems like there was a bug in the default version of APEX in 1.5.x + if spec.satisfies("@1.5"): + args += [self.define("HPX_WITH_APEX_TAG", "v2.3.0")] + + # Custom CMake options to use Clang as CUDA compiler + if self.spec.satisfies("+cuda"): + if self.spec.satisfies("%clang"): + args += [self.define("CMAKE_CUDA_COMPILER", "clang")] + args += [self.define("NVCC_WRAPPER_DEFAULT_COMPILER", "clang")] + + return args From c977423b4ae1576fccc308ed22b0b15db9940d05 Mon Sep 17 00:00:00 2001 From: constracktor <74077030+constracktor@users.noreply.github.com> Date: Sun, 22 Feb 2026 10:31:46 -0600 Subject: [PATCH 3/9] Adjust distributed benchmark for buran --- README.md | 37 ++++++------ benchmark/distributed_benchmark.sh | 56 +++++++++---------- .../run_fftw_strong_distributed.sh | 15 +++-- .../run_fftw_weak_distributed.sh | 15 +++-- .../run_hpxfft_strong_distributed.sh | 22 ++++---- .../run_hpxfft_weak_distributed.sh | 22 ++++---- 6 files changed, 82 insertions(+), 85 deletions(-) diff --git a/README.md b/README.md index f71158af..abc2aab1 100644 --- a/README.md +++ b/README.md @@ -9,17 +9,16 @@ HPX-FFT depends on [HPX](https://hpx-docs.stellar-group.org/latest/html/index.ht ### Install dependencies All dependencies can be installed using [Spack](https://github.com/spack/spack). -For HPX we recommend: `spack install hpx@1.10.0 networking={tcp/mpi/lci} max_cpu_count=256` +For HPX we recommend: `spack install hpx@1.11.0 networking={tcp/mpi/lci/all} max_cpu_count=256` For FFTW we recommend `spack install fftw@3.3.10 +mpi +openmp` - -Note that the LCI variant of HPX currently requires to add the [Octo-Tiger repo](https://github.com/G-071/octotiger-spack) to spack. -Alternatively, both librarires can be built from source. +The requirements can be also installed using the provided spack environments. +The spack-repo directory add support for installing HPX with the LCI or all parcelports at once. ## How to Compile HPX-FFT We provide a simple compilation script for HPX-FFT. The script assumes an gcc compiler version 14.2.0. However, it can be easily tailored towards specific needs. -## How to Compile Examples +## How to Compile Examples: HPX-FFT comes with several examples for HPX-FFT itself as well as for a FFTW reference. The examples can be compiled with the respective compilation scripts. @@ -27,6 +26,7 @@ HPX-FFT comes with several examples for HPX-FFT itself as well as for a FFTW ref ### HPX-FFT +Shared examples: ``` 1=Base size of the problem 2=FFTW Planning flag (estimate/measure) @@ -34,25 +34,33 @@ HPX-FFT comes with several examples for HPX-FFT itself as well as for a FFTW ref 4=Number of HPX threads ./hpxfft_shared_loop --nx=$1 --ny=$1 --plan=$2 --header=$3 --hpx:threads=$4 ``` + +Distributed examples with slurm: ``` 1=Base size of the problem 2=FFTW Planning flag (estimate/measure) 3=Print info into runtime file (true/false) 4=Collective operation (scatter/all_to_all) 5=Number of HPX threads -./hpxfft_distributed_loop --nx=$1 --ny=$1 --plan=$2 --header=$3 --run=$4 --hpx:threads=$5 +6=Number of HPX localities +7=Partition + +srun --mpi=pmix -p $6 -N 2 -n $6 -c $5 ./examples/hpxfft/build/hpxfft_distributed_loop --nx=$1 --ny=$1 --plan=$2 --header=$3 --run=$4 --hpx:ini=hpx.parcel.mpi.enable=1 --hpx:ini=hpx.parcel.tcp.enable=0 --hpx:ini=hpx.parcel.lci.enable=0 ``` ### FFTW +Shared examples: ``` // threads N_X N_Y plan header ./fftw_omp 1 8 14 estimate 0 ``` + +Distributed examples with srun or mpirun: ``` -// nodes ranks prog threads N_X N_Y plan header -srun -N 2 -n 4 fftw_mpi_omp 4 8 14 estimate 0 - mpirun -n 4 fftw_mpi_omp 4 8 14 estimate 0 +// nodes ranks prog threads N_X N_Y plan header +srun --mpi=pmix -N 2 -n 4 fftw_mpi_omp 4 8 14 estimate 0 + mpirun -n 4 fftw_mpi_omp 4 8 14 estimate 0 ``` ## How to Run Benchmarks (wip) @@ -73,17 +81,8 @@ Executables only: `sbatch -p $PARTITION -N 1 -n 1 -c $THREADS run_fftw_shared.sh executable_name estimate/measure $THREAD_POW` ### Distributed -All: - -- `./distributed_benchmark.sh estimate/measure partition_name` - -Executables only: - -- fftw_hpx_loop/fftw_hpx_tasg_agas: -`sbatch -p $PARTITION -N $NODES -n $NODES -c $THREADS run_hpx_dist.sh executable_name estimate/measure $NODES` -- fftw_mpi_threads/fftw_mpi_omp: -`sbatch -p $PARTITION -N $NODES -n $NODES -c $THREADS run_fftw_dist.sh executable_name estimate/measure $NODES $THREADS` +- `./distributed_benchmark.sh estimate/measure scatter/all_to_all tcp/mpi/lci` ## The Team diff --git a/benchmark/distributed_benchmark.sh b/benchmark/distributed_benchmark.sh index 8d72ab2a..c4fafc5b 100755 --- a/benchmark/distributed_benchmark.sh +++ b/benchmark/distributed_benchmark.sh @@ -2,6 +2,7 @@ # Benchmark script for shared memory # $1: FFTW planning flag (estimate/measure) # $2: Collective (scatter/all_to_all) +# $3: HPX Parcelport (tcp/mpi/lci) ################################################################################ # Config ################################################################################ @@ -11,30 +12,21 @@ EXAMPLES_DIR=$TOP_DIR/examples # HPX-FFT implementations HPXFFT_EXECUTABLES=( "$EXAMPLES_DIR/hpxfft/build/hpxfft_distributed_loop" - #"$EXAMPLES_DIR/hpxfft/build/hpxfft_distributed_agas" + "$EXAMPLES_DIR/hpxfft/build/hpxfft_distributed_agas" ) # FFTW implementations FFTW_EXECUTABLES=( - "$EXAMPLES_DIR/fftw/build/fftw_mpi_omp" + #"$EXAMPLES_DIR/fftw/build/fftw_mpi_omp" "$EXAMPLES_DIR/fftw/build/fftw_mpi_threads" ) # Get current hostname HOSTNAME=$(hostname -s) -if [[ "$HOSTNAME" == "ipvsmisc" ]]; then - echo "tbd." -elif [[ "$HOSTNAME" == "rostam1" ]]; then +if [[ "$HOSTNAME" == "rostam1" ]]; then PARTITION=buran - NODES_POW=3 + NODES_POW=4 THREADS=48 module load gcc/14.2.0 - spack env activate hpxfft_x86_buran -elif [[ "$HOSTNAME" == "login1" ]]; then - PARTITION=short - NODES_POW=1 - THREADS=48 -elif [[ "$HOSTNAME" == "simcl1" ]]; then - echo "tbd." else echo "Hostname is $HOSTNAME — no action taken." exit 1 @@ -46,7 +38,7 @@ FFTW_PLAN=$1 # Check if FFTW_PLAN was provided if [ -z "$FFTW_PLAN" ]; then echo "Error: FFTW_PLAN parameter not set." - echo "Usage: distributed_benchmark.sh estimate/measure scatter/all_to_all" + echo "Usage: distributed_benchmark.sh estimate/measure scatter/all_to_all tcp/mpi/lci" exit 1 fi # Set Collective @@ -54,14 +46,22 @@ COLLECTIVE=$2 # Check if COLLECITVE was provided if [ -z "$COLLECTIVE" ]; then echo "Error: COLLECTIVE parameter not set." - echo "Usage: distributed_benchmark.sh estimate/measure scatter/all_to_all" + echo "Usage: distributed_benchmark.sh estimate/measure scatter/all_to_all tcp/mpi/lci" + exit 1 +fi +# Set HPX Parcelport +PARCELPORT=$3 +# Check if COLLECITVE was provided +if [ -z "$PARCELPORT" ]; then + echo "Error: Parcelport parameter not set." + echo "Usage: distributed_benchmark.sh estimate/measure scatter/all_to_all tcp/mpi/lci" exit 1 fi ################################################################################ # Run benchmarks ################################################################################ -RESULT_DIR=$TOP_DIR/distributed_benchmark_on_$HOSTNAME +RESULT_DIR=$TOP_DIR/distributed_benchmark_on_$PARTITION SCRIPT_DIR=$TOP_DIR/benchmark/sbatch_scripts ################################################################################ @@ -72,7 +72,7 @@ mkdir -p $RESULT_DIR/strong_scaling/plans cd $RESULT_DIR/strong_scaling # Config -LOOP=2 +LOOP=10 BASE_SIZE=16384 START_NODES_POW=0 @@ -81,9 +81,8 @@ RUN_SCRIPT="$SCRIPT_DIR/run_hpxfft_strong_distributed.sh" for EXE in "${HPXFFT_EXECUTABLES[@]}"; do echo "Submitting job for executable: $EXE" - sbatch -p $PARTITION -N $NODES -n $NODES -c $THREADS \ - $RUN_SCRIPT \ - $EXE $FFTW_PLAN $START_NODES_POW $NODES_POW $BASE_SIZE $COLLECTIVE $THREADS $LOOP + $RUN_SCRIPT \ + $EXE $FFTW_PLAN $START_NODES_POW $NODES_POW $BASE_SIZE $COLLECTIVE $THREADS $LOOP $PARTITION $PARCELPORT done # Loop over FFTW executables @@ -92,9 +91,8 @@ RUN_SCRIPT="$SCRIPT_DIR/run_fftw_strong_distributed.sh" for EXE in "${FFTW_EXECUTABLES[@]}"; do echo "Submitting job for executable: $EXE" - sbatch -p $PARTITION -N $NODES -n $NODES -c $THREADS \ - $RUN_SCRIPT \ - $EXE $FFTW_PLAN $START_NODES_POW $NODES_POW $BASE_SIZE $THREADS $LOOP + $RUN_SCRIPT \ + $EXE $FFTW_PLAN $START_NODES_POW $NODES_POW $BASE_SIZE $THREADS $LOOP $PARTITION done ################################################################################ @@ -105,7 +103,7 @@ mkdir -p $RESULT_DIR/weak_scaling/plans cd $RESULT_DIR/weak_scaling # Config -LOOP=2 +LOOP=10 BASE_SIZE=512 START_THREAD_POW=0 @@ -114,9 +112,8 @@ RUN_SCRIPT="$SCRIPT_DIR/run_hpxfft_weak_distributed.sh" for EXE in "${HPXFFT_EXECUTABLES[@]}"; do echo "Submitting job for executable: $EXE" - sbatch -p $PARTITION -N $NODES -n $NODES -c $THREADS \ - $RUN_SCRIPT \ - $EXE $FFTW_PLAN $START_NODES_POW $NODES_POW $BASE_SIZE $COLLECTIVE $THREADS $LOOP + $RUN_SCRIPT \ + $EXE $FFTW_PLAN $START_NODES_POW $NODES_POW $BASE_SIZE $COLLECTIVE $THREADS $LOOP $PARTITION $PARCELPORT done # Loop over FFTW executables @@ -125,7 +122,6 @@ RUN_SCRIPT="$SCRIPT_DIR/run_fftw_weak_distributed.sh" for EXE in "${FFTW_EXECUTABLES[@]}"; do echo "Submitting job for executable: $EXE" - sbatch -p $PARTITION -N $NODES -n $NODES -c $THREADS \ - $RUN_SCRIPT \ - $EXE $FFTW_PLAN $START_NODES_POW $NODES_POW $BASE_SIZE $THREADS $LOOP + $RUN_SCRIPT \ + $EXE $FFTW_PLAN $START_NODES_POW $NODES_POW $BASE_SIZE $THREADS $LOOP $PARTITION done diff --git a/benchmark/sbatch_scripts/run_fftw_strong_distributed.sh b/benchmark/sbatch_scripts/run_fftw_strong_distributed.sh index c6dae362..fb3e345e 100755 --- a/benchmark/sbatch_scripts/run_fftw_strong_distributed.sh +++ b/benchmark/sbatch_scripts/run_fftw_strong_distributed.sh @@ -1,10 +1,4 @@ #!/bin/bash -#SBATCH --job-name=fftw_job # Job name -#SBATCH --output=fftw_job.log # Standard output and error log -#SBATCH --mail-type=NONE # Mail events (NONE, BEGIN, END, FAIL, ALL) -#SBATCH --mail-user=alexander.strack@ipvs.uni-stuttgart.de # Where to send mail -#SBATCH --time=2:00:00 # Time limit hrs:min:sec -#SBATCH --exclusive # Exclusive ressource access # Benchmark script for distributed memory strong scaling # $1: Executable name @@ -14,6 +8,7 @@ # $5: Base size # $6: Number of threads per node # $7: Number of runs +# $8: Partition # Log Info pwd; hostname; date @@ -23,21 +18,25 @@ POW_STOP=$4 BASE_SIZE=$5 THREADS=$6 LOOP=$7 +PARTITION=$8 # Get run command -COMMAND="srun -N $((2**POW_START)) -n $((2**POW_START)) -c $THREADS" +COMMAND="srun --mpi=pmix -p $PARTITION --nodelist=$PARTITION[00-0$((2**POW_START - 1))] -N $((2**POW_START)) -n $((2**POW_START)) -c $THREADS" EXECUTABLE=$1 ARGUMENTS="$BASE_SIZE $BASE_SIZE $2" # Strong scaling loop from 2^pow_start to 2^pow_stop nodes +echo 'Submiting:' $COMMAND $EXECUTABLE $THREADS $ARGUMENTS $COMMAND $EXECUTABLE $THREADS $ARGUMENTS 1 for (( j=1; j<$LOOP; j=j+1 )) do + echo 'Submiting:' $COMMAND $EXECUTABLE $THREADS $ARGUMENTS $COMMAND $EXECUTABLE $THREADS $ARGUMENTS 0 done for (( i=2**($POW_START+1); i<=2**$POW_STOP; i=i*2 )) do - COMMAND="srun -N $i -n $i -c $THREADS" + COMMAND="srun --mpi=pmix -p $PARTITION --nodelist=$PARTITION[00-0$(($i - 1))] -N $i -n $i -c $THREADS" for (( j=0; j<$LOOP; j=j+1 )) do + echo 'Submiting:' $COMMAND $EXECUTABLE $THREADS $ARGUMENTS $COMMAND $EXECUTABLE $THREADS $ARGUMENTS 0 done done diff --git a/benchmark/sbatch_scripts/run_fftw_weak_distributed.sh b/benchmark/sbatch_scripts/run_fftw_weak_distributed.sh index 06d9970d..6c4e4b1b 100755 --- a/benchmark/sbatch_scripts/run_fftw_weak_distributed.sh +++ b/benchmark/sbatch_scripts/run_fftw_weak_distributed.sh @@ -1,10 +1,4 @@ #!/bin/bash -#SBATCH --job-name=fftw_job # Job name -#SBATCH --output=fftw_job.log # Standard output and error log -#SBATCH --mail-type=NONE # Mail events (NONE, BEGIN, END, FAIL, ALL) -#SBATCH --mail-user=alexander.strack@ipvs.uni-stuttgart.de # Where to send mail -#SBATCH --time=2:00:00 # Time limit hrs:min:sec -#SBATCH --exclusive # Exclusive ressource access # Benchmark script for distributed memory weak scaling # $1: Executable name @@ -14,6 +8,7 @@ # $5: Base size # $6: Number of threads per node # $7: Number of runs +# $8: Partition # Log Info pwd; hostname; date @@ -23,22 +18,26 @@ POW_STOP=$4 BASE_SIZE=$5 THREADS=$6 LOOP=$7 +PARTITION=$8 # Get run command -COMMAND="srun -N $((2**POW_START)) -n $((2**POW_START)) -c $THREADS" +COMMAND="srun --mpi=pmix -p $PARTITION --nodelist=$PARTITION[00-0$((2**POW_START - 1))] -N $((2**POW_START)) -n $((2**POW_START)) -c $THREADS" EXECUTABLE=$1 ARGUMENTS="$BASE_SIZE $BASE_SIZE $2" # Weak scaling loop from 2^pow_start to 2^pow_stop nodes +echo 'Submiting:' $COMMAND $THREADS $EXECUTABLE $ARGUMENTS $COMMAND $EXECUTABLE $THREADS $ARGUMENTS 1 for (( j=1; j<$LOOP; j=j+1 )) do + echo 'Submiting:' $COMMAND $EXECUTABLE $THREADS $ARGUMENTS $COMMAND $EXECUTABLE $THREADS $ARGUMENTS 0 done for (( i=2**($POW_START+1); i<=2**$POW_STOP; i=i*2 )) do - COMMAND="srun -N $i -n $i -c $THREADS" + COMMAND="srun --mpi=pmix -p $PARTITION --nodelist=$PARTITION[00-0$(($i - 1))] -N $i -n $i -c $THREADS" ARGUMENTS="$((BASE_SIZE*i)) $((BASE_SIZE*i)) $2" for (( j=0; j<$LOOP; j=j+1 )) do + echo 'Submiting:' $COMMAND $EXECUTABLE $THREADS $ARGUMENTS $COMMAND $EXECUTABLE $THREADS $ARGUMENTS 0 done done diff --git a/benchmark/sbatch_scripts/run_hpxfft_strong_distributed.sh b/benchmark/sbatch_scripts/run_hpxfft_strong_distributed.sh index dc5add19..90e9547f 100755 --- a/benchmark/sbatch_scripts/run_hpxfft_strong_distributed.sh +++ b/benchmark/sbatch_scripts/run_hpxfft_strong_distributed.sh @@ -1,10 +1,4 @@ #!/bin/bash -#SBATCH --job-name=hpxfft_job # Job name -#SBATCH --output=hpxfft_job.log # Standard output and error log -#SBATCH --mail-type=NONE # Mail events (NONE, BEGIN, END, FAIL, ALL) -#SBATCH --mail-user=alexander.strack@ipvs.uni-stuttgart.de # Where to send mail -#SBATCH --time=2:00:00 # Time limit hrs:min:sec -#SBATCH --exclusive # Exclusive ressource access # Benchmark script for distributed memory strong scaling # $1: Executable name @@ -15,6 +9,8 @@ # $6: HPX collective (scatter/all_to_all) # $7: Number of threads per node # $8: Number of runs +# $9: Partition +# $10: HPX Parcelport # Log Info pwd; hostname; date @@ -24,24 +20,30 @@ POW_STOP=$4 BASE_SIZE=$5 THREADS=$7 LOOP=$8 +PARTITION=$9 +PARCELPORT=${10} # Get run command OPTIONS="" -COMMAND="srun -N $((2**POW_START)) -n $((2**POW_START)) -c $THREADS" +COMMAND="srun --mpi=pmix -p $PARTITION --nodelist=$PARTITION[00-0$((2**POW_START - 1))] -N $((2**POW_START)) -n $((2**POW_START)) -c $THREADS" EXECUTABLE=$1 ARGUMENTS="--nx=$BASE_SIZE --ny=$BASE_SIZE --plan=$2 --run=$6" +PARCELPORTS="--hpx:ini=hpx.parcel.mpi.enable=0 --hpx:ini=hpx.parcel.tcp.enable=0 --hpx:ini=hpx.parcel.lci.enable=0 --hpx:ini=hpx.parcel.$PARCELPORT.enable=1" # Strong scaling loop from 2^pow_start to 2^pow_stop nodes +echo 'Submiting:' $COMMAND $EXECUTABLE $ARGUMENTS $PARCELPORTS HPX_COMMANDLINE_OPTIONS=$OPTIONS $COMMAND $EXECUTABLE $ARGUMENTS --header=true for (( j=1; j<$LOOP; j=j+1 )) do - HPX_COMMANDLINE_OPTIONS=$OPTIONS $COMMAND $EXECUTABLE $ARGUMENTS + echo 'Submiting:' $COMMAND $EXECUTABLE $ARGUMENTS $PARCELPORTS + HPX_COMMANDLINE_OPTIONS=$OPTIONS $COMMAND $EXECUTABLE $ARGUMENTS $PARCELPORTS done for (( i=2**($POW_START+1); i<=2**$POW_STOP; i=i*2 )) do - COMMAND="srun -N $i -n $i -c $THREADS" + COMMAND="srun --mpi=pmix -p $PARTITION --nodelist=$PARTITION[00-0$(($i - 1))] -N $i -n $i -c $THREADS" for (( j=0; j<$LOOP; j=j+1 )) do - HPX_COMMANDLINE_OPTIONS=$OPTIONS $COMMAND $EXECUTABLE $ARGUMENTS + echo 'Submiting:' $COMMAND $EXECUTABLE $ARGUMENTS $PARCELPORTS + HPX_COMMANDLINE_OPTIONS=$OPTIONS $COMMAND $EXECUTABLE $ARGUMENTS $PARCELPORTS done done # Log Info diff --git a/benchmark/sbatch_scripts/run_hpxfft_weak_distributed.sh b/benchmark/sbatch_scripts/run_hpxfft_weak_distributed.sh index b6490c1b..08d8966f 100755 --- a/benchmark/sbatch_scripts/run_hpxfft_weak_distributed.sh +++ b/benchmark/sbatch_scripts/run_hpxfft_weak_distributed.sh @@ -1,12 +1,6 @@ #!/bin/bash -#SBATCH --job-name=hpxfft_job # Job name -#SBATCH --output=hpxfft_job.log # Standard output and error log -#SBATCH --mail-type=NONE # Mail events (NONE, BEGIN, END, FAIL, ALL) -#SBATCH --mail-user=alexander.strack@ipvs.uni-stuttgart.de # Where to send mail -#SBATCH --time=2:00:00 # Time limit hrs:min:sec -#SBATCH --exclusive # Exclusive ressource access -# Benchmark script for distributed memory weak scaling +# Benchmark script for distributed memory strong scaling # $1: Executable name # $2: FFTW planning flag (estimate/measure) # $3: Starting number of nodes @@ -15,6 +9,8 @@ # $6: HPX collective (scatter/all_to_all) # $7: Number of threads per node # $8: Number of runs +# $9: Partition +# $10: HPX Parcelport # Log Info pwd; hostname; date @@ -24,24 +20,30 @@ POW_STOP=$4 BASE_SIZE=$5 THREADS=$7 LOOP=$8 +PARTITION=$9 +PARCELPORT=${10} # Get run command OPTIONS="" -COMMAND="srun -N $((2**POW_START)) -n $((2**POW_START)) -c $THREADS" +COMMAND="srun --mpi=pmix -p $PARTITION --nodelist=$PARTITION[00-0$((2**POW_START - 1))] -N $((2**POW_START)) -n $((2**POW_START)) -c $THREADS" EXECUTABLE=$1 ARGUMENTS="--nx=$BASE_SIZE --ny=$BASE_SIZE --plan=$2 --run=$6" +PARCELPORTS="--hpx:ini=hpx.parcel.mpi.enable=0 --hpx:ini=hpx.parcel.tcp.enable=0 --hpx:ini=hpx.parcel.lci.enable=0 --hpx:ini=hpx.parcel.$PARCELPORT.enable=1" -# Strong scaling loop from 2^pow_start to 2^pow_stop nodes +# Weak scaling loop from 2^pow_start to 2^pow_stop nodes +echo 'Submiting:' $COMMAND $EXECUTABLE $ARGUMENTS $PARCELPORTS HPX_COMMANDLINE_OPTIONS=$OPTIONS $COMMAND $EXECUTABLE $ARGUMENTS --header=true for (( j=1; j<$LOOP; j=j+1 )) do + echo 'Submiting:' $COMMAND $EXECUTABLE $ARGUMENTS $PARCELPORTS HPX_COMMANDLINE_OPTIONS=$OPTIONS $COMMAND $EXECUTABLE $ARGUMENTS done for (( i=2**($POW_START+1); i<=2**$POW_STOP; i=i*2 )) do - COMMAND="srun -N $i -n $i -c $THREADS" + COMMAND="srun --mpi=pmix -p $PARTITION --nodelist=$PARTITION[00-0$(($i - 1))] -N $i -n $i -c $THREADS" ARGUMENTS="--nx=$((BASE_SIZE*i)) --ny=$((BASE_SIZE*i)) --plan=$2" for (( j=0; j<$LOOP; j=j+1 )) do + echo 'Submiting:' $COMMAND $EXECUTABLE $ARGUMENTS $PARCELPORTS HPX_COMMANDLINE_OPTIONS=$OPTIONS $COMMAND $EXECUTABLE $ARGUMENTS done done From fb1f0d76ded3c361505d4575632d176f60f35e69 Mon Sep 17 00:00:00 2001 From: constracktor <74077030+constracktor@users.noreply.github.com> Date: Sun, 22 Feb 2026 10:54:35 -0600 Subject: [PATCH 4/9] Enable compilation on all buran nodes --- compile.sh | 2 +- compile_fftw_examples.sh | 2 +- compile_hpxfft_examples.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/compile.sh b/compile.sh index 0edd96bc..0f366b5c 100755 --- a/compile.sh +++ b/compile.sh @@ -34,7 +34,7 @@ if command -v spack &> /dev/null; then echo "Found ${SPACK_ENV} environment, activating it." spack env activate ${SPACK_ENV} fi - elif [[ "$HOSTNAME" == "buran00" || "$HOSTNAME" == "buran01" ]]; then + elif [[ "$HOSTNAME" == buran0[0-9] || "$HOSTNAME" == buran1[0-5] ]]; then module load gcc/14.2.0 # Check if the spack environment exists SPACK_ENV=hpxfft_x86_buran diff --git a/compile_fftw_examples.sh b/compile_fftw_examples.sh index 509fe516..8d6c6245 100755 --- a/compile_fftw_examples.sh +++ b/compile_fftw_examples.sh @@ -34,7 +34,7 @@ if command -v spack &> /dev/null; then echo "Found ${SPACK_ENV} environment, activating it." spack env activate ${SPACK_ENV} fi - elif [[ "$HOSTNAME" == "buran00" || "$HOSTNAME" == "buran01" ]]; then + elif [[ "$HOSTNAME" == buran0[0-9] || "$HOSTNAME" == buran1[0-5] ]]; then module load gcc/14.2.0 # Check if the spack environment exists SPACK_ENV=hpxfft_x86_buran diff --git a/compile_hpxfft_examples.sh b/compile_hpxfft_examples.sh index a317d59d..fa18cab2 100755 --- a/compile_hpxfft_examples.sh +++ b/compile_hpxfft_examples.sh @@ -37,7 +37,7 @@ if command -v spack &> /dev/null; then echo "Found ${SPACK_ENV} environment, activating it." spack env activate ${SPACK_ENV} fi - elif [[ "$HOSTNAME" == "buran00" || "$HOSTNAME" == "buran01" ]]; then + elif [[ "$HOSTNAME" == buran0[0-9] || "$HOSTNAME" == buran1[0-5] ]]; then module load gcc/14.2.0 LIB_DIR=lib64 # Check if the spack environment exists From b81787fd0603dd42e8f8269c097346c4830d675c Mon Sep 17 00:00:00 2001 From: constracktor <74077030+constracktor@users.noreply.github.com> Date: Sun, 22 Feb 2026 16:42:05 -0600 Subject: [PATCH 5/9] Add missing parameters --- benchmark/distributed_benchmark.sh | 2 +- benchmark/sbatch_scripts/run_hpxfft_strong_distributed.sh | 3 +-- benchmark/sbatch_scripts/run_hpxfft_weak_distributed.sh | 6 +++--- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/benchmark/distributed_benchmark.sh b/benchmark/distributed_benchmark.sh index c4fafc5b..2745de4b 100755 --- a/benchmark/distributed_benchmark.sh +++ b/benchmark/distributed_benchmark.sh @@ -16,7 +16,7 @@ HPXFFT_EXECUTABLES=( ) # FFTW implementations FFTW_EXECUTABLES=( - #"$EXAMPLES_DIR/fftw/build/fftw_mpi_omp" + "$EXAMPLES_DIR/fftw/build/fftw_mpi_omp" "$EXAMPLES_DIR/fftw/build/fftw_mpi_threads" ) diff --git a/benchmark/sbatch_scripts/run_hpxfft_strong_distributed.sh b/benchmark/sbatch_scripts/run_hpxfft_strong_distributed.sh index 90e9547f..543d7d73 100755 --- a/benchmark/sbatch_scripts/run_hpxfft_strong_distributed.sh +++ b/benchmark/sbatch_scripts/run_hpxfft_strong_distributed.sh @@ -28,10 +28,9 @@ COMMAND="srun --mpi=pmix -p $PARTITION --nodelist=$PARTITION[00-0$((2**POW_START EXECUTABLE=$1 ARGUMENTS="--nx=$BASE_SIZE --ny=$BASE_SIZE --plan=$2 --run=$6" PARCELPORTS="--hpx:ini=hpx.parcel.mpi.enable=0 --hpx:ini=hpx.parcel.tcp.enable=0 --hpx:ini=hpx.parcel.lci.enable=0 --hpx:ini=hpx.parcel.$PARCELPORT.enable=1" - # Strong scaling loop from 2^pow_start to 2^pow_stop nodes echo 'Submiting:' $COMMAND $EXECUTABLE $ARGUMENTS $PARCELPORTS -HPX_COMMANDLINE_OPTIONS=$OPTIONS $COMMAND $EXECUTABLE $ARGUMENTS --header=true +HPX_COMMANDLINE_OPTIONS=$OPTIONS $COMMAND $EXECUTABLE $ARGUMENTS $PARCELPORTS --header=true for (( j=1; j<$LOOP; j=j+1 )) do echo 'Submiting:' $COMMAND $EXECUTABLE $ARGUMENTS $PARCELPORTS diff --git a/benchmark/sbatch_scripts/run_hpxfft_weak_distributed.sh b/benchmark/sbatch_scripts/run_hpxfft_weak_distributed.sh index 08d8966f..7258a04e 100755 --- a/benchmark/sbatch_scripts/run_hpxfft_weak_distributed.sh +++ b/benchmark/sbatch_scripts/run_hpxfft_weak_distributed.sh @@ -31,11 +31,11 @@ PARCELPORTS="--hpx:ini=hpx.parcel.mpi.enable=0 --hpx:ini=hpx.parcel.tcp.enable=0 # Weak scaling loop from 2^pow_start to 2^pow_stop nodes echo 'Submiting:' $COMMAND $EXECUTABLE $ARGUMENTS $PARCELPORTS -HPX_COMMANDLINE_OPTIONS=$OPTIONS $COMMAND $EXECUTABLE $ARGUMENTS --header=true +HPX_COMMANDLINE_OPTIONS=$OPTIONS $COMMAND $EXECUTABLE $ARGUMENTS $PARCELPORTS --header=true for (( j=1; j<$LOOP; j=j+1 )) do echo 'Submiting:' $COMMAND $EXECUTABLE $ARGUMENTS $PARCELPORTS - HPX_COMMANDLINE_OPTIONS=$OPTIONS $COMMAND $EXECUTABLE $ARGUMENTS + HPX_COMMANDLINE_OPTIONS=$OPTIONS $COMMAND $EXECUTABLE $ARGUMENTS $PARCELPORTS done for (( i=2**($POW_START+1); i<=2**$POW_STOP; i=i*2 )) do @@ -44,7 +44,7 @@ do for (( j=0; j<$LOOP; j=j+1 )) do echo 'Submiting:' $COMMAND $EXECUTABLE $ARGUMENTS $PARCELPORTS - HPX_COMMANDLINE_OPTIONS=$OPTIONS $COMMAND $EXECUTABLE $ARGUMENTS + HPX_COMMANDLINE_OPTIONS=$OPTIONS $COMMAND $EXECUTABLE $ARGUMENTS $PARCELPORTS done done # Log Info From 5619ac3b4268253285d321a936d8773f0bc6c1e6 Mon Sep 17 00:00:00 2001 From: constracktor <74077030+constracktor@users.noreply.github.com> Date: Sun, 22 Feb 2026 16:42:39 -0600 Subject: [PATCH 6/9] Adjust message benchmark buran --- benchmark/message_benchmark.sh | 38 ++++++---------- .../sbatch_scripts/run_fftw_message_size.sh | 43 ------------------- .../sbatch_scripts/run_hpxfft_message_size.sh | 25 +++++------ 3 files changed, 26 insertions(+), 80 deletions(-) delete mode 100755 benchmark/sbatch_scripts/run_fftw_message_size.sh diff --git a/benchmark/message_benchmark.sh b/benchmark/message_benchmark.sh index 2b889e4f..1a893afc 100755 --- a/benchmark/message_benchmark.sh +++ b/benchmark/message_benchmark.sh @@ -1,6 +1,7 @@ #!/usr/bin/bash # Benchmark script for message size scaling between two nodes # $1: Collective (scatter/all_to_all) +# $2: HPX Parcelport (tcp/mpi/lci) ################################################################################ # Config ################################################################################ @@ -12,21 +13,13 @@ HPXFFT_EXECUTABLES=( "$EXAMPLES_DIR/hpxfft/build/hpxfft_distributed_loop" "$EXAMPLES_DIR/hpxfft/build/hpxfft_distributed_agas" ) -# FFTW implementations -FFTW_EXECUTABLES=( - "$EXAMPLES_DIR/fftw/build/fftw_mpi_omp" - "$EXAMPLES_DIR/fftw/build/fftw_mpi_threads" -) # Get current hostname HOSTNAME=$(hostname -s) -if [[ "$HOSTNAME" == "ipvsmisc" ]]; then - echo "tbd." -elif [[ "$HOSTNAME" == "rostam" ]]; then - echo "tbd." -elif [[ "$HOSTNAME" == "login1" ]]; then - PARTITION=short +if [[ "$HOSTNAME" == "rostam1" ]]; then + PARTITION=buran THREADS=48 + module load gcc/14.2.0 elif [[ "$HOSTNAME" == "simcl1" ]]; then echo "tbd." else @@ -42,7 +35,14 @@ if [ -z "$COLLECTIVE" ]; then echo "Usage: message_benchmark.sh scatter/all_to_all" exit 1 fi - +# Set HPX Parcelport +PARCELPORT=$2 +# Check if COLLECITVE was provided +if [ -z "$PARCELPORT" ]; then + echo "Error: Parcelport parameter not set." + echo "Usage: message_benchmark.sh scatter/all_to_all tcp/mpi/lci" + exit 1 +fi ################################################################################ # Run benchmarks ################################################################################ @@ -65,18 +65,6 @@ RUN_SCRIPT="$SCRIPT_DIR/run_hpxfft_message_size.sh" for EXE in "${HPXFFT_EXECUTABLES[@]}"; do echo "Submitting job for executable: $EXE" - sbatch -p $PARTITION -N 2 -n 2 -c $THREADS \ - $RUN_SCRIPT \ - $EXE $BASE_SIZE $STOP_POW $COLLECTIVE $THREADS $LOOP -done - -# Loop over FFTW executables -RUN_SCRIPT="$SCRIPT_DIR/run_fftw_message_size.sh" -# Loop over executables -for EXE in "${FFTW_EXECUTABLES[@]}"; do - echo "Submitting job for executable: $EXE" - - sbatch -p $PARTITION -N 2 -n 2 -c $THREADS \ $RUN_SCRIPT \ - $EXE $BASE_SIZE $STOP_POW $THREADS $LOOP + $EXE $BASE_SIZE $STOP_POW $COLLECTIVE $THREADS $LOOP $PARTITION $PARCELPORT done diff --git a/benchmark/sbatch_scripts/run_fftw_message_size.sh b/benchmark/sbatch_scripts/run_fftw_message_size.sh deleted file mode 100755 index be358032..00000000 --- a/benchmark/sbatch_scripts/run_fftw_message_size.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash -#SBATCH --job-name=fftw_job # Job name -#SBATCH --output=fftw_job.log # Standard output and error log -#SBATCH --mail-type=NONE # Mail events (NONE, BEGIN, END, FAIL, ALL) -#SBATCH --mail-user=alexander.strack@ipvs.uni-stuttgart.de # Where to send mail -#SBATCH --time=2:00:00 # Time limit hrs:min:sec -#SBATCH --exclusive # Exclusive ressource access - -# Benchmark script for message size scaling between two nodes -# $1: Executable name -# $2: Base size -# $3: Stopping power of two -# $4: Number of threads per node -# $5: Number of runs - -# Log Info -pwd; hostname; date -# Parameters -BASE_SIZE=$2 -POW_STOP=$3 -THREADS=$4 -LOOP=$5 -# Get run command -COMMAND="srun --mpi=pmix -N 2 -n 2 -c $THREADS" -EXECUTABLE=$1 -ARGUMENTS="$BASE_SIZE $BASE_SIZE $2" -# Message size scaling loop on 2 nodes -$COMMAND $EXECUTABLE $THREADS $ARGUMENTS 1 -for (( j=1; j<$LOOP; j=j+1 )) -do - $COMMAND $EXECUTABLE $THREADS $ARGUMENTS 0 -done -for (( i=2; i<=2**$POW_STOP; i=i*2 )) -do - SIZE=$((i*BASE_SIZE)) - ARGUMENTS="$SIZE $SIZE $2" - for (( j=0; j<$LOOP; j=j+1 )) - do - $COMMAND $EXECUTABLE $THREADS $ARGUMENTS 0 - done -done -# Log Info -date diff --git a/benchmark/sbatch_scripts/run_hpxfft_message_size.sh b/benchmark/sbatch_scripts/run_hpxfft_message_size.sh index 80d5970c..cdb23b55 100755 --- a/benchmark/sbatch_scripts/run_hpxfft_message_size.sh +++ b/benchmark/sbatch_scripts/run_hpxfft_message_size.sh @@ -1,11 +1,4 @@ #!/bin/bash -#SBATCH --job-name=hpxfft_job # Job name -#SBATCH --output=hpxfft_job.log # Standard output and error log -#SBATCH --mail-type=NONE # Mail events (NONE, BEGIN, END, FAIL, ALL) -#SBATCH --mail-user=alexander.strack@ipvs.uni-stuttgart.de # Where to send mail -#SBATCH --time=2:00:00 # Time limit hrs:min:sec -#SBATCH --exclusive # Exclusive ressource access - # Benchmark script for message size scaling between two nodes # $1: Executable name # $2: Base size @@ -13,6 +6,8 @@ # $4: HPX collective (scatter/all_to_all) # $5: Number of threads per node # $6: Number of runs +# $7: Partition +# $8: HPX Parcelport # Log Info pwd; hostname; date @@ -21,16 +16,21 @@ BASE_SIZE=$2 POW_STOP=$3 THREADS=$5 LOOP=$6 +PARTITION=$7 +PARCELPORT=$8 # Get run command OPTIONS="" -COMMAND="srun -N 2 -n 2 -c $THREADS" +COMMAND="srun --mpi=pmix -p $PARTITION --nodelist=$PARTITION[00-01] -N 2 -n 2 -c $THREADS" EXECUTABLE=$1 ARGUMENTS="--nx=$BASE_SIZE --ny=$BASE_SIZE --plan="estimate" --run=$4" +PARCELPORTS="--hpx:ini=hpx.parcel.mpi.enable=0 --hpx:ini=hpx.parcel.tcp.enable=0 --hpx:ini=hpx.parcel.lci.enable=0 --hpx:ini=hpx.parcel.$PARCELPORT.enable=1" # Message size scaling loop on 2 nodes -$COMMAND $EXECUTABLE $ARGUMENTS --header=true -for (( j=1; j<$LOOP; j=j+1 )) +echo 'Submiting warmup:' $COMMAND $EXECUTABLE $ARGUMENTS $PARCELPORTS +$COMMAND $EXECUTABLE $ARGUMENTS $PARCELPORTS --header=true +for (( j=0; j<$LOOP; j=j+1 )) do - $COMMAND $EXECUTABLE $ARGUMENTS + echo 'Submiting:' $COMMAND $EXECUTABLE $ARGUMENTS $PARCELPORTS + $COMMAND $EXECUTABLE $ARGUMENTS $PARCELPORTS done for (( i=2; i<=2**$POW_STOP; i=i*2 )) do @@ -38,7 +38,8 @@ do ARGUMENTS="--nx=$SIZE --ny=$SIZE --plan="estimate" --run=$4" for (( j=0; j<$LOOP; j=j+1 )) do - $COMMAND $EXECUTABLE $ARGUMENTS + echo 'Submiting:' $COMMAND $EXECUTABLE $ARGUMENTS $PARCELPORTS + $COMMAND $EXECUTABLE $ARGUMENTS $PARCELPORTS done done # Log Info From 60ca8c8dd7f92af2367119655909d2d8d34832c7 Mon Sep 17 00:00:00 2001 From: constracktor <74077030+constracktor@users.noreply.github.com> Date: Mon, 23 Feb 2026 09:59:04 -0600 Subject: [PATCH 7/9] Adjust shared benchmark for buran --- .../sbatch_scripts/run_fftw_size_shared.sh | 1 - .../sbatch_scripts/run_fftw_strong_shared.sh | 1 - .../sbatch_scripts/run_fftw_weak_shared.sh | 1 - .../sbatch_scripts/run_hpxfft_size_shared.sh | 1 - .../run_hpxfft_strong_shared.sh | 1 - .../sbatch_scripts/run_hpxfft_weak_shared.sh | 1 - benchmark/shared_benchmark.sh | 32 +++++++++++-------- 7 files changed, 18 insertions(+), 20 deletions(-) diff --git a/benchmark/sbatch_scripts/run_fftw_size_shared.sh b/benchmark/sbatch_scripts/run_fftw_size_shared.sh index e3e28457..c606af6b 100755 --- a/benchmark/sbatch_scripts/run_fftw_size_shared.sh +++ b/benchmark/sbatch_scripts/run_fftw_size_shared.sh @@ -2,7 +2,6 @@ #SBATCH --job-name=fftw_job # Job name #SBATCH --output=fftw_job.log # Standard output and error log #SBATCH --mail-type=NONE # Mail events (NONE, BEGIN, END, FAIL, ALL) -#SBATCH --mail-user=alexander.strack@ipvs.uni-stuttgart.de # Where to send mail #SBATCH --time=2:00:00 # Time limit hrs:min:sec #SBATCH --exclusive # Exclusive ressource access diff --git a/benchmark/sbatch_scripts/run_fftw_strong_shared.sh b/benchmark/sbatch_scripts/run_fftw_strong_shared.sh index 15a7c721..562a2c03 100755 --- a/benchmark/sbatch_scripts/run_fftw_strong_shared.sh +++ b/benchmark/sbatch_scripts/run_fftw_strong_shared.sh @@ -2,7 +2,6 @@ #SBATCH --job-name=fftw_job # Job name #SBATCH --output=fftw_job.log # Standard output and error log #SBATCH --mail-type=NONE # Mail events (NONE, BEGIN, END, FAIL, ALL) -#SBATCH --mail-user=alexander.strack@ipvs.uni-stuttgart.de # Where to send mail #SBATCH --time=2:00:00 # Time limit hrs:min:sec #SBATCH --exclusive # Exclusive ressource access diff --git a/benchmark/sbatch_scripts/run_fftw_weak_shared.sh b/benchmark/sbatch_scripts/run_fftw_weak_shared.sh index 7f82d7e6..c9b31bdb 100755 --- a/benchmark/sbatch_scripts/run_fftw_weak_shared.sh +++ b/benchmark/sbatch_scripts/run_fftw_weak_shared.sh @@ -2,7 +2,6 @@ #SBATCH --job-name=fftw_job # Job name #SBATCH --output=fftw_job.log # Standard output and error log #SBATCH --mail-type=NONE # Mail events (NONE, BEGIN, END, FAIL, ALL) -#SBATCH --mail-user=alexander.strack@ipvs.uni-stuttgart.de # Where to send mail #SBATCH --time=2:00:00 # Time limit hrs:min:sec #SBATCH --exclusive # Exclusive ressource access diff --git a/benchmark/sbatch_scripts/run_hpxfft_size_shared.sh b/benchmark/sbatch_scripts/run_hpxfft_size_shared.sh index ba6edb24..79c65fb8 100755 --- a/benchmark/sbatch_scripts/run_hpxfft_size_shared.sh +++ b/benchmark/sbatch_scripts/run_hpxfft_size_shared.sh @@ -2,7 +2,6 @@ #SBATCH --job-name=hpxfft_job # Job name #SBATCH --output=hpxfft_job.log # Standard output and error log #SBATCH --mail-type=NONE # Mail events (NONE, BEGIN, END, FAIL, ALL) -#SBATCH --mail-user=alexander.strack@ipvs.uni-stuttgart.de # Where to send mail #SBATCH --time=2:00:00 # Time limit hrs:min:sec #SBATCH --exclusive # Exclusive ressource access diff --git a/benchmark/sbatch_scripts/run_hpxfft_strong_shared.sh b/benchmark/sbatch_scripts/run_hpxfft_strong_shared.sh index bafaec25..59741832 100755 --- a/benchmark/sbatch_scripts/run_hpxfft_strong_shared.sh +++ b/benchmark/sbatch_scripts/run_hpxfft_strong_shared.sh @@ -2,7 +2,6 @@ #SBATCH --job-name=hpxfft_job # Job name #SBATCH --output=hpxfft_job.log # Standard output and error log #SBATCH --mail-type=NONE # Mail events (NONE, BEGIN, END, FAIL, ALL) -#SBATCH --mail-user=alexander.strack@ipvs.uni-stuttgart.de # Where to send mail #SBATCH --time=2:00:00 # Time limit hrs:min:sec #SBATCH --exclusive # Exclusive ressource access diff --git a/benchmark/sbatch_scripts/run_hpxfft_weak_shared.sh b/benchmark/sbatch_scripts/run_hpxfft_weak_shared.sh index 21f4c54e..c6af37d1 100755 --- a/benchmark/sbatch_scripts/run_hpxfft_weak_shared.sh +++ b/benchmark/sbatch_scripts/run_hpxfft_weak_shared.sh @@ -2,7 +2,6 @@ #SBATCH --job-name=hpxfft_job # Job name #SBATCH --output=hpxfft_job.log # Standard output and error log #SBATCH --mail-type=NONE # Mail events (NONE, BEGIN, END, FAIL, ALL) -#SBATCH --mail-user=alexander.strack@ipvs.uni-stuttgart.de # Where to send mail #SBATCH --time=2:00:00 # Time limit hrs:min:sec #SBATCH --exclusive # Exclusive ressource access diff --git a/benchmark/shared_benchmark.sh b/benchmark/shared_benchmark.sh index 1bec8bf9..cb12042b 100755 --- a/benchmark/shared_benchmark.sh +++ b/benchmark/shared_benchmark.sh @@ -29,11 +29,15 @@ FFTW_EXECUTABLES=( HOSTNAME=$(hostname -s) if [[ "$HOSTNAME" == "ipvsmisc" ]]; then echo "tbd." -elif [[ "$HOSTNAME" == "rostam" ]]; then - echo "tbd." +elif [[ "$HOSTNAME" == "rostam1" ]]; then + PARTITION=buran + THREAD_POW=5 + NODE=buran01 + module load gcc/14.2.0 elif [[ "$HOSTNAME" == "login1" ]]; then PARTITION=short THREAD_POW=5 + NODE=fj001 elif [[ "$HOSTNAME" == "simcl1" ]]; then echo "tbd." else @@ -64,16 +68,16 @@ mkdir -p $RESULT_DIR/strong_scaling/plans cd $RESULT_DIR/strong_scaling # Config -LOOP=2 +LOOP=10 BASE_SIZE=16384 -START_THREAD_POW=3 +START_THREAD_POW=0 # Loop over HPX-FFT executables RUN_SCRIPT="$SCRIPT_DIR/run_hpxfft_strong_shared.sh" for EXE in "${HPXFFT_EXECUTABLES[@]}"; do echo "Submitting job for executable: $EXE" - sbatch -p $PARTITION -N 1 -n 1 -c $THREADS \ + sbatch -p $PARTITION -w $NODE -N 1 -n 1 -c $THREADS \ $RUN_SCRIPT \ $EXE $FFTW_PLAN $START_THREAD_POW $THREAD_POW $BASE_SIZE $LOOP done @@ -84,7 +88,7 @@ RUN_SCRIPT="$SCRIPT_DIR/run_fftw_strong_shared.sh" for EXE in "${FFTW_EXECUTABLES[@]}"; do echo "Submitting job for executable: $EXE" - sbatch -p $PARTITION -N 1 -n 1 -c $THREADS \ + sbatch -p $PARTITION -w $NODE -N 1 -n 1 -c $THREADS \ $RUN_SCRIPT \ $EXE $FFTW_PLAN $START_THREAD_POW $THREAD_POW $BASE_SIZE $LOOP done @@ -97,7 +101,7 @@ mkdir -p $RESULT_DIR/weak_scaling/plans cd $RESULT_DIR/weak_scaling # Config -LOOP=2 +LOOP=10 BASE_SIZE=512 START_THREAD_POW=0 @@ -106,7 +110,7 @@ RUN_SCRIPT="$SCRIPT_DIR/run_hpxfft_weak_shared.sh" for EXE in "${HPXFFT_EXECUTABLES[@]}"; do echo "Submitting job for executable: $EXE" - sbatch -p $PARTITION -N 1 -n 1 -c $THREADS \ + sbatch -p $PARTITION -w $NODE -N 1 -n 1 -c $THREADS \ $RUN_SCRIPT \ $EXE $FFTW_PLAN $START_THREAD_POW $THREAD_POW $BASE_SIZE $LOOP done @@ -117,7 +121,7 @@ RUN_SCRIPT="$SCRIPT_DIR/run_fftw_weak_shared.sh" for EXE in "${FFTW_EXECUTABLES[@]}"; do echo "Submitting job for executable: $EXE" - sbatch -p $PARTITION -N 1 -n 1 -c $THREADS \ + sbatch -p $PARTITION -w $NODE -N 1 -n 1 -c $THREADS \ $RUN_SCRIPT \ $EXE $FFTW_PLAN $START_THREAD_POW $THREAD_POW $BASE_SIZE $LOOP done @@ -130,15 +134,15 @@ mkdir -p $RESULT_DIR/size_scaling/plans cd $RESULT_DIR/size_scaling # Config -LOOP=2 -START_SIZE_POW=5 -STOP_SIZE_POW=12 +LOOP=10 +START_SIZE_POW=3 +STOP_SIZE_POW=16 # Loop over HPX-FFT executables RUN_SCRIPT="$SCRIPT_DIR/run_hpxfft_size_shared.sh" for EXE in "${HPXFFT_EXECUTABLES[@]}"; do echo "Submitting job for executable: $EXE" - sbatch -p $PARTITION -N 1 -n 1 -c $THREADS \ + sbatch -p $PARTITION -w $NODE -N 1 -n 1 -c $THREADS \ $RUN_SCRIPT \ $EXE $FFTW_PLAN $THREADS $START_SIZE_POW $STOP_SIZE_POW $LOOP done @@ -149,7 +153,7 @@ RUN_SCRIPT="$SCRIPT_DIR/run_fftw_size_shared.sh" for EXE in "${FFTW_EXECUTABLES[@]}"; do echo "Submitting job for executable: $EXE" - sbatch -p $PARTITION -N 1 -n 1 -c $THREADS \ + sbatch -p $PARTITION -w $NODE -N 1 -n 1 -c $THREADS \ $RUN_SCRIPT \ $EXE $FFTW_PLAN $THREADS $START_SIZE_POW $STOP_SIZE_POW $LOOP done From 2139af6d1abd95840cef31243ce6a6ae46f71e29 Mon Sep 17 00:00:00 2001 From: constracktor <74077030+constracktor@users.noreply.github.com> Date: Mon, 23 Feb 2026 17:53:37 +0100 Subject: [PATCH 8/9] Adjust scripts for ipvs epyc --- benchmark/message_benchmark.sh | 4 +--- benchmark/shared_benchmark.sh | 12 ++++++------ spack-repo/environments/hpxfft_x86_simcl.yaml | 8 -------- 3 files changed, 7 insertions(+), 17 deletions(-) delete mode 100644 spack-repo/environments/hpxfft_x86_simcl.yaml diff --git a/benchmark/message_benchmark.sh b/benchmark/message_benchmark.sh index 1a893afc..9bfc16fc 100755 --- a/benchmark/message_benchmark.sh +++ b/benchmark/message_benchmark.sh @@ -20,8 +20,6 @@ if [[ "$HOSTNAME" == "rostam1" ]]; then PARTITION=buran THREADS=48 module load gcc/14.2.0 -elif [[ "$HOSTNAME" == "simcl1" ]]; then - echo "tbd." else echo "Hostname is $HOSTNAME — no action taken." exit 1 @@ -46,7 +44,7 @@ fi ################################################################################ # Run benchmarks ################################################################################ -RESULT_DIR=$TOP_DIR/message_benchmark_on_$HOSTNAME +RESULT_DIR=$TOP_DIR/message_benchmark_on_$PARTITION SCRIPT_DIR=$TOP_DIR/benchmark/sbatch_scripts ################################################################################ diff --git a/benchmark/shared_benchmark.sh b/benchmark/shared_benchmark.sh index cb12042b..609f364d 100755 --- a/benchmark/shared_benchmark.sh +++ b/benchmark/shared_benchmark.sh @@ -27,9 +27,7 @@ FFTW_EXECUTABLES=( # Get current hostname HOSTNAME=$(hostname -s) -if [[ "$HOSTNAME" == "ipvsmisc" ]]; then - echo "tbd." -elif [[ "$HOSTNAME" == "rostam1" ]]; then +if [[ "$HOSTNAME" == "rostam1" ]]; then PARTITION=buran THREAD_POW=5 NODE=buran01 @@ -38,8 +36,10 @@ elif [[ "$HOSTNAME" == "login1" ]]; then PARTITION=short THREAD_POW=5 NODE=fj001 -elif [[ "$HOSTNAME" == "simcl1" ]]; then - echo "tbd." +elif [[ "$HOSTNAME" == "ipvsmisc" ]]; then + PARTITION=epyc + THREAD_POW=7 + NODE=ipvs-epyc1 else echo "Hostname is $HOSTNAME — no action taken." exit 1 @@ -57,7 +57,7 @@ fi ################################################################################ # Run benchmarks ################################################################################ -RESULT_DIR=$TOP_DIR/shared_benchmark_on_$HOSTNAME +RESULT_DIR=$TOP_DIR/shared_benchmark_on_$PARTITION SCRIPT_DIR=$TOP_DIR/benchmark/sbatch_scripts ################################################################################ diff --git a/spack-repo/environments/hpxfft_x86_simcl.yaml b/spack-repo/environments/hpxfft_x86_simcl.yaml deleted file mode 100644 index dfe7d373..00000000 --- a/spack-repo/environments/hpxfft_x86_simcl.yaml +++ /dev/null @@ -1,8 +0,0 @@ -spack: - specs: - - hpx@1.11.0%gcc@14.1.0 malloc=system networking=mpi max_cpu_count=256 instrumentation=none - - fftw@3.3.10%gcc@14.1.0 +mpi +openmp - - cmake@3.30.5%gcc@14.1.0 - view: true - concretizer: - unify: true From 8f6eb1bd48957516c262a1c57b3a4601ba68e751 Mon Sep 17 00:00:00 2001 From: constracktor <74077030+constracktor@users.noreply.github.com> Date: Mon, 23 Feb 2026 17:54:30 +0100 Subject: [PATCH 9/9] Add contributors to README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index abc2aab1..1bea74c1 100644 --- a/README.md +++ b/README.md @@ -94,6 +94,7 @@ We specifically thank the follow contributors: - [Alexander Strack](https://www.ipvs.uni-stuttgart.de/de/institut/team/Strack-00001/): Maintainer and [initial framework](https://doi.org/10.1007/978-3-031-32316-4_5). +- Heiko Häfner: Testing and CI. ## How To Cite