HybridADRSolver
Loading...
Searching...
No Matches
utils.h File Reference

Utilities for benchmarking hybrid vs fully distributed solvers. More...

#include <fstream>
#include <iomanip>
#include <iostream>
#include <mpi.h>
#include <sstream>
#include <string>
#include <vector>
Include dependency graph for utils.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  BenchmarkUtils::BenchmarkResult
 Structure to hold benchmark results for a single run. More...
class  BenchmarkUtils::ResultCollector
 Class to collect and output benchmark results. More...
class  BenchmarkUtils::Timer
 High-resolution timer using MPI_Wtime for consistency. More...
struct  BenchmarkUtils::ScalingConfig
 Configuration for scaling tests. More...

Namespaces

namespace  BenchmarkUtils

Functions

double BenchmarkUtils::compute_efficiency (const double t1, const double tp, int p)
 Compute parallel efficiency.
double BenchmarkUtils::compute_speedup (const double t1, const double tp)
 Compute speedup.
double BenchmarkUtils::get_process_memory_mb ()
 Get memory info from /proc/self/status (Linux specific)

Detailed Description

Utilities for benchmarking hybrid vs fully distributed solvers.

This header provides:

  • Timing utilities for accurate performance measurement
  • Result collection and CSV output
  • Strong and weak scaling test configurations