SG++-Doxygen-Documentation
sgpp::datadriven::clusteringmpi::MPIEnviroment Class Reference

#include <MPIEnviroment.hpp>

Public Member Functions

 ~MPIEnviroment ()
 

Static Public Member Functions

static void connect_nodes (base::OperationConfiguration conf)
 
static base::OperationConfiguration createMPIConfiguration (int packagesize_master, int leutnant_nodes, int packagesize_leutnants, int slave_nodes_per_leutnant)
 
static base::OperationConfiguration createMPIConfiguration (int compute_nodes, int opencl_devices_per_compute_node)
 
static base::OperationConfiguration createMPIConfiguration (int compute_nodes, base::OCLOperationConfiguration node_opencl_configuration)
 Create MPI configuration file based on a number of compute nodes their OpenCL configuration file. More...
 
static MPI_Comm & get_communicator (void)
 
static base::OperationConfigurationget_configuration (void)
 
static MPI_Comm & get_input_communicator (void)
 
static int get_node_count (void)
 
static int get_node_rank (void)
 
static int get_sub_worker_count (void)
 
static void init (int argc, char *argv[], bool verbose=false)
 
static void release (void)
 

Constructor & Destructor Documentation

◆ ~MPIEnviroment()

sgpp::datadriven::clusteringmpi::MPIEnviroment::~MPIEnviroment ( void  )

Referenced by get_input_communicator().

Member Function Documentation

◆ connect_nodes()

void sgpp::datadriven::clusteringmpi::MPIEnviroment::connect_nodes ( base::OperationConfiguration  conf)
static

References get_node_count(), and python.statsfileInfo::i.

Referenced by main().

◆ createMPIConfiguration() [1/3]

base::OperationConfiguration sgpp::datadriven::clusteringmpi::MPIEnviroment::createMPIConfiguration ( int  packagesize_master,
int  leutnant_nodes,
int  packagesize_leutnants,
int  slave_nodes_per_leutnant 
)
static

◆ createMPIConfiguration() [2/3]

base::OperationConfiguration sgpp::datadriven::clusteringmpi::MPIEnviroment::createMPIConfiguration ( int  compute_nodes,
int  opencl_devices_per_compute_node 
)
static

◆ createMPIConfiguration() [3/3]

base::OperationConfiguration sgpp::datadriven::clusteringmpi::MPIEnviroment::createMPIConfiguration ( int  compute_nodes,
base::OCLOperationConfiguration  node_opencl_configuration 
)
static

Create MPI configuration file based on a number of compute nodes their OpenCL configuration file.

Creates a MPI configuration with 3 Levels. One master node to control all other nodes, and one leutenant node on every compute node which controls all MPI nodes for this compute nodes. For each OpenCL device specified in the opencl configuration it will also create one worker. Duplicate devices will not be recognized hoewever.

Parameters
compute_nodesNumber of compute nodes
node_opencl_configurationOpenCL configuration file
Returns
Finished MPI configuration

References json::DictNode::addAttribute(), json::Node::addAttribute(), json::DictNode::addIDAttr(), json::Node::addIDAttr(), and python.statsfileInfo::i.

◆ get_communicator()

◆ get_configuration()

◆ get_input_communicator()

static MPI_Comm& sgpp::datadriven::clusteringmpi::MPIEnviroment::get_input_communicator ( void  )
inlinestatic

◆ get_node_count()

int sgpp::datadriven::clusteringmpi::MPIEnviroment::get_node_count ( void  )
static

Referenced by connect_nodes().

◆ get_node_rank()

◆ get_sub_worker_count()

◆ init()

void sgpp::datadriven::clusteringmpi::MPIEnviroment::init ( int  argc,
char *  argv[],
bool  verbose = false 
)
static

Referenced by main().

◆ release()

void sgpp::datadriven::clusteringmpi::MPIEnviroment::release ( void  )
static

References python.statsfileInfo::i.

Referenced by main().


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