Этот файл представляет собой заголовок верхнего уровня, который включает в себя все Boost. Заголовки библиотеки MPI. Пользователи, обеспокоенные временем компиляции, могут захотеть включить только определенные заголовки из Boost. Библиотека MPI.
Этот заголовок содержит коллективные операции MPI, которые реализуют различные параллельные алгоритмы, требующие координации всех процессов внутри коммуникатора. Заголовок<collectives_fwd.hpp>предоставляет форвардные декларации для каждой из этих операций. Чтобы включить только конкретные коллективные алгоритмы, используйте заголовки.<boost/mpi/collectives/algorithm_name.hpp>.
Этот заголовок предоставляет детали конфигурации MPI, которые раскрывают возможности базовой реализации MPI, и обеспечивает поддержку автосвязи в Windows.
Этот заголовок предоставляет форвардные декларации для содержимого заголовка<datatype.hpp>. Ожидается, что он будет использоваться в основном для классов C++, которые должны специализироваться<is_mpi_datatype>.
Этот заголовок предоставляет классы исключений, которые сообщают об ошибках MPI пользователю, и макросы, которые переводят коды ошибок MPI в Boost. Исключения MPI.
Этот заголовок определяет средства для поддержки MPI-коммуникаторов с топологиями графов, используя графический интерфейс, определенный библиотекой Boost Graph. Можно построить коммуникатор, топология которого описывается любым графом, отвечающим требованиям графических концепций библиотеки Boost Graph. Аналогично, любой коммуникатор, имеющий топологию графов, может рассматриваться библиотекой Boost Graph как граф, что позволяет использовать алгоритмы графов BGL в топологии процессов.
namespaceboost{template<>structgraph_traits<mpi::graph_communicator>;namespacempi{classgraph_communicator;// Returns the source vertex from an edge in the graph topology of a communicator. intsource(conststd::pair<int,int>& edge,constgraph_communicator&);// Returns the target vertex from an edge in the graph topology of a communicator. inttarget(conststd::pair<int,int>& edge,constgraph_communicator&);// Returns an iterator range containing all of the edges outgoing from the given vertex in a graph topology of a communicator. unspecifiedout_edges(int vertex,constgraph_communicator& comm);// Returns the out-degree of a vertex in the graph topology of a communicator. intout_degree(int vertex,constgraph_communicator& comm);// Returns an iterator range containing all of the neighbors of the given vertex in the communicator's graph topology. unspecifiedadjacent_vertices(int vertex,constgraph_communicator& comm);// Returns an iterator range that contains all of the vertices with the communicator's graph topology, i.e., all of the process ranks in the communicator. std::pair<counting_iterator<int>,counting_iterator<int>>vertices(constgraph_communicator& comm);// Returns the number of vertices within the graph topology of the communicator, i.e., the number of processes in the communicator. intnum_vertices(constgraph_communicator& comm);// Returns an iterator range that contains all of the edges with the communicator's graph topology. unspecifiededges(constgraph_communicator& comm);// Returns the number of edges in the communicator's graph topology. intnum_edges(constgraph_communicator& comm);identity_property_mapget(vertex_index_t,constgraph_communicator&);intget(vertex_index_t,constgraph_communicator&,int);}}
Этот заголовок обеспечивает отображение от объектов функций до<MPI_Op>констант, используемых в коллективных операциях MPI. Он также предоставляет несколько новых типов функциональных объектов, не присутствующих в стандартном<>заголовке, которые имеют прямое отображение на<MPI_Op>.
Этот заголовок предоставляет возможности для упаковки Сериализируемых типов данных в буфер с использованием<MPI_Pack>. Затем буферы могут передаваться через MPI, а затем распаковываться либо через объекты в<packed_oarchive.hpp>, либо<MPI_Unpack>.
Этот заголовок предоставляет возможности для распаковки Сериализируемых типов данных из буфера с использованием<MPI_Unpack>. Буферы обычно принимаются через MPI и упаковываются либо через объекты в<packed_iarchive.hpp>, либо<MPI_Pack>.
Этот заголовок взаимодействует с Python-связями для Boost. MPI. Процедуры в этом заголовке могут использоваться для регистрации пользовательских и библиотечных типов данных с помощью Boost. MPI для эффективной (де-)сериализации и раздельной передачи скелетов и содержимого.
Этот заголовок предоставляет средства, которые позволяют передавать и принимать структуру типов данных (так называемый «скелет») отдельно от содержимого, хранящегося в этих типах данных. Эти средства полезны, когда данные в стабильной структуре данных (например, сетка или график) должны быть переданы повторно. В этом случае передача скелета только один раз экономит как коммуникационные усилия (его не нужно отправлять снова), так и локальные вычисления (сериализация должна выполняться только один раз для контента).
Этот заголовок содержит все заявления, необходимые для использования передающих скелетов структур данных и содержимого структур данных отдельно. Для фактической передачи скелетов или содержимого включите заголовок<boost/mpi/skeleton_and_content.hpp>.
Статья Reference раздела The Boost C++ Libraries BoostBook Documentation Subset Chapter 24. Boost.MPI может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.