Skip to content
Snippets Groups Projects
Select Git revision
  • cpupertask
  • main default protected
  • 1.0
3 results

scaler

  • Clone with SSH
  • Clone with HTTPS
  • Jayesh Badwaik's avatar
    Jayesh Badwaik authored
    d6a0d48d
    History

    scaler

    scaler is a synthetic placeholder program that always runs for approximately 10 seconds but reports a fictional runtime given by the formula below. Various behaviors of benchmarks, which are relevant to the purposes of reporting, can be simulated by changing the parameters of the formula. We arbitrarily fix the weak scaling efficency of the benchmark to be k^{\log_2(n)}.

    runtime = random(0.95,1.05) *  m * g * c * v *  p * pow(k,log(n,2))
    # n : number of MPI ranks
    # p : problem size
    # k : scaling factor
    # m : mpi factor (1.2 for OpenMPI, 1.4 for MPICH/PSMPI)
    # g : cuda factor (1.2 for no GPU, 1.4 for GPU)
    # c : compiler factor (1.2 for GCC, 1.4 for LLVM, 1.6 for NVHPC)
    # v : version factor (random number between 0.8 and 1.2 for different versions)

    Usage

    1. Ensure that the following dependencies are installed on your system. a. CMake (>= 3.25) b. C++ compiler (>= C++17) c. MPI library (OpenMPI or MPICH)

    2. Clone the repository and build the program.

    git clone https://gitlab.jsc.fz-juelich.de/exacb/examples/scaler.git
    mkdir build
    cmake -B build -S scaler
    cmake --build build
    1. Run the program with the following command.
    srun [--options] build/scaler --size <problem-size>