Alsvinn  0.5.3
The fast FVM simulator with UQ support
Public Member Functions | List of all members
alsuq::mpi::SimpleLoadBalancer Class Reference

#include <alsuq/mpi/SimpleLoadBalancer.hpp>

Public Member Functions

 SimpleLoadBalancer (const std::vector< size_t > &samples)
 
std::tuple< std::vector< size_t >, ConfigurationPtr, ConfigurationPtr > loadBalance (int multiSample, ivec3 multiSpatial, const Configuration &mpiConfig)
 

Constructor & Destructor Documentation

◆ SimpleLoadBalancer()

alsuq::mpi::SimpleLoadBalancer::SimpleLoadBalancer ( const std::vector< size_t > &  samples)

Member Function Documentation

◆ loadBalance()

std::tuple< std::vector< size_t >, ConfigurationPtr, ConfigurationPtr > alsuq::mpi::SimpleLoadBalancer::loadBalance ( int  multiSample,
ivec3  multiSpatial,
const Configuration mpiConfig 
)
Parameters
multiSamplethe number of samples to run in parallel
multiSpatiala 3 vector, for which each component is the number of processors to use in each direction.
Note
We require that
multiSample*multiSpatial.x*multiSpatial.y*multiSpatial.z == mpiConfigurationWorld.getNumberOfProcesses();
Parameters
mpiConfigthe relevant mpiConfig
Returns
a tuple, where the first component is the list of samples to compute, the second is the configuration of the statistical domain, and the last is the configuration of the parallel domain.

The documentation for this class was generated from the following files: