diff options
Diffstat (limited to 'boost/graph/parallel/process_group.hpp')
-rw-r--r-- | boost/graph/parallel/process_group.hpp | 94 |
1 files changed, 2 insertions, 92 deletions
diff --git a/boost/graph/parallel/process_group.hpp b/boost/graph/parallel/process_group.hpp index 280ee4db54..92f11e5945 100644 --- a/boost/graph/parallel/process_group.hpp +++ b/boost/graph/parallel/process_group.hpp @@ -6,96 +6,6 @@ // Authors: Douglas Gregor // Andrew Lumsdaine -#ifndef BOOST_GRAPH_PARALLEL_PROCESS_GROUP_HPP -#define BOOST_GRAPH_PARALLEL_PROCESS_GROUP_HPP -#ifndef BOOST_GRAPH_USE_MPI -#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included" -#endif - -#include <cstdlib> -#include <utility> - -namespace boost { namespace graph { namespace parallel { - -/** - * A special type used as a flag to a process group constructor that - * indicates that the copy of a process group will represent a new - * distributed data structure. - */ -struct attach_distributed_object { }; - -/** - * Describes the context in which a trigger is being invoked to - * receive a message. - */ -enum trigger_receive_context { - /// No trigger is active at this time. - trc_none, - /// The trigger is being invoked during synchronization, at the end - /// of a superstep. - trc_in_synchronization, - /// The trigger is being invoked as an "early" receive of a message - /// that was sent through the normal "send" operations to be - /// received by the end of the superstep, but the process group sent - /// the message earlier to clear its buffers. - trc_early_receive, - /// The trigger is being invoked for an out-of-band message, which - /// must be handled immediately. - trc_out_of_band, - /// The trigger is being invoked for an out-of-band message, which - /// must be handled immediately and has alredy been received by - /// an MPI_IRecv call. - trc_irecv_out_of_band -}; - -// Process group tags -struct process_group_tag {}; -struct linear_process_group_tag : virtual process_group_tag {}; -struct messaging_process_group_tag : virtual process_group_tag {}; -struct immediate_process_group_tag : virtual messaging_process_group_tag {}; -struct bsp_process_group_tag : virtual messaging_process_group_tag {}; -struct batch_process_group_tag : virtual messaging_process_group_tag {}; -struct locking_process_group_tag : virtual process_group_tag {}; -struct spawning_process_group_tag : virtual process_group_tag {}; - -struct process_group_archetype -{ - typedef int process_id_type; -}; - -void wait(process_group_archetype&); -void synchronize(process_group_archetype&); -int process_id(const process_group_archetype&); -int num_processes(const process_group_archetype&); - -template<typename T> void send(process_group_archetype&, int, int, const T&); - -template<typename T> -process_group_archetype::process_id_type -receive(const process_group_archetype& pg, - process_group_archetype::process_id_type source, int tag, T& value); - -template<typename T> -std::pair<process_group_archetype::process_id_type, std::size_t> -receive(const process_group_archetype& pg, int tag, T values[], std::size_t n); - -template<typename T> -std::pair<process_group_archetype::process_id_type, std::size_t> -receive(const process_group_archetype& pg, - process_group_archetype::process_id_type source, int tag, T values[], - std::size_t n); - -} } } // end namespace boost::graph::parallel - -namespace boost { namespace graph { namespace distributed { - using parallel::trigger_receive_context; - using parallel::trc_early_receive; - using parallel::trc_out_of_band; - using parallel::trc_irecv_out_of_band; - using parallel::trc_in_synchronization; - using parallel::trc_none; - using parallel::attach_distributed_object; -} } } // end namespace boost::graph::distributed - -#endif // BOOST_GRAPH_PARALLEL_PROCESS_GROUP_HPP +// File moved +#include <boost/property_map/parallel/process_group.hpp> |