Automatic Differentiation
 
Loading...
Searching...
No Matches
mpi_cluster.hpp File Reference
#include <stan/math/prim/functor/mpi_command.hpp>
#include <boost/mpi/allocator.hpp>
#include <boost/mpi/collectives.hpp>
#include <boost/mpi/communicator.hpp>
#include <boost/mpi/datatype.hpp>
#include <boost/mpi/environment.hpp>
#include <boost/mpi/nonblocking.hpp>
#include <boost/mpi/operations.hpp>
#include <boost/serialization/access.hpp>
#include <boost/serialization/base_object.hpp>
#include <boost/serialization/export.hpp>
#include <boost/serialization/shared_ptr.hpp>
#include <mutex>
#include <vector>
#include <memory>

Go to the source code of this file.

Classes

class  stan::math::mpi_stop_listen
 Exception used to stop workers nodes from further listening to commands send from the root. More...
 
class  stan::math::mpi_is_in_use
 Exception thrown whenever the MPI resource is busy. More...
 
struct  stan::math::mpi_stop_worker
 MPI command used to stop childs nodes from listening for further commands. More...
 
struct  stan::math::mpi_cluster
 MPI cluster holds MPI resources and must be initialized only once in any MPI program. More...
 

Namespaces

namespace  stan
 The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation from C or the boost::math::lgamma implementation.
 
namespace  stan::math
 Matrices and templated mathematical functions.
 

Functions

std::vector< int > stan::math::mpi_map_chunks (std::size_t num_jobs, std::size_t chunk_size=1)
 Maps jobs of given chunk size to workers and returning a vector of counts.
 
template<typename T >
std::unique_lock< std::mutex > stan::math::mpi_broadcast_command ()
 Broadcasts default constructible commands to the cluster.
 
std::unique_lock< std::mutex > stan::math::mpi_broadcast_command (std::shared_ptr< mpi_command > &command)
 Broadcasts a command instance to the listening cluster.