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

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

Referenced by get_input_communicator().

Member Function Documentation

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

References get_node_count().

Referenced by main().

base::OperationConfiguration sgpp::datadriven::clusteringmpi::MPIEnviroment::createMPIConfiguration ( int  packagesize_master,
int  leutnant_nodes,
int  packagesize_leutnants,
int  slave_nodes_per_leutnant 
base::OperationConfiguration sgpp::datadriven::clusteringmpi::MPIEnviroment::createMPIConfiguration ( int  compute_nodes,
int  opencl_devices_per_compute_node 
base::OperationConfiguration sgpp::datadriven::clusteringmpi::MPIEnviroment::createMPIConfiguration ( int  compute_nodes,
base::OCLOperationConfiguration  node_opencl_configuration 

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.

compute_nodesNumber of compute nodes
node_opencl_configurationOpenCL configuration file
Finished MPI configuration

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

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

Referenced by connect_nodes().

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

Referenced by main().

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

Referenced by main().

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