Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Parallel BGL Vertex List Graph Adaptor

Boost , ,

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Parallel BGL Vertex List Graph Adaptor

template<typename Graph, typename GlobalIndexMap>
class vertex_list_adaptor
{
public:
  vertex_list_adaptor(const Graph& g,
                      const GlobalIndexMap& index_map = GlobalIndexMap());
};
template<typename Graph, typename GlobalIndexMap>
vertex_list_adaptor<Graph, GlobalIndexMap>
make_vertex_list_adaptor(const Graph& g, const GlobalIndexMap& index_map);
template<typename Graph>
vertex_list_adaptor<Graph, *unspecified*>
make_vertex_list_adaptor(const Graph& g);

Адаптер графа вершинного списка адаптирует любую модель графа Распределенный граф списка Vertex в графе График списка Vertex. В первом типе графа набор вершин распределен по группе процессов, поэтому ни один процесс не имеет доступа ко всем вершинам. В последнем типе графа, однако, каждый процесс имеет доступ к каждой вершине в графе. Это требуется для некоторых распределенных алгоритмов, таких как реализации алгоритмов Минимальное дерево охвата .

Where Defined

<boost/graph/distributed/vertex_list_adaptor.hpp>

Class template vertex_list_adaptor

Шаблон класса vertex_list_adaptor принимает Distributed Vertex List Graph и отображение от дескрипторов вершины до глобальных индексов вершины, которые должны находиться в диапазоне [0, n), где n - количество вершин во всем графе. Картографирование - это Карта читаемых свойств Ключевой тип которого — дескриптор вершины.

Адаптер списка вершин сохраняет только ссылку на базовый граф, пересылая все операции, не связанные со списком вершин, на базовый граф. Например, если базовый граф модели Adjacency Graph, то адаптер будет также моделировать Adjacency Graph. Обратите внимание, однако, что никакие изменения в базовом графе не могут произойти через адаптер списка вершин. Модификации, внесенные непосредственно в базовый граф, будут отражены в адаптере списка вершин, но изменения, которые добавляют или удаляют вершины, аннулируют адаптер списка вершин. Кроме того, адаптер списка вершин предоставляет доступ к глобальной карте индексов через свойство vertex_index.

На конструкции адаптер списка вершин выполняет операцию сборки для создания списка всех вершин на графике в рамках каждого процесса. Этот список доступен через vertices, а длина этого списка доступна через num_vertices. Благодаря операции «всесобиратель», создание этого адаптера является коллективной операцией.

Function templates make_vertex_list_adaptor

Эти шаблоны функций создают адаптер списка вершин из графа и, необязательно, карту свойств, которая отображает вершины на глобальные индексные номера.

Parameters

IN: Graph& g
The graph type must be a model of Distributed Vertex List Graph.
IN: GlobalIndexMap index_map

A Distributed property map whose type must model Readable property map that maps from vertices to a global index. If provided, this map must be initialized prior to be passed to the vertex list adaptor.

Default: A property map of unspecified type constructed from a distributed iterator_property_map that uses the vertex_index property map of the underlying graph and a vector of vertices_size_type.

Complexity

Эти операции требуют времени O(n), где n - число вершин на графике, и O(n) связи на узел в модели BSP.


Copyright (C) 2004 Попечители Университета Индианы.

Авторы: Дуглас Грегор и Эндрю Лумсдейн

Статья Parallel BGL Vertex List Graph Adaptor раздела может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-07-05 12:27:24/0.0036311149597168/0