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

Class communicator

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Reference

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

PrevUpHomeNext

Class communicator

boost::mpi::communicator — A communicator that permits communication and synchronization among a set of processes.

Synopsis

// In header: <boost/mpi/communicator.hpp>

class communicator {
public:
  // construct/copy/destruct
  communicator();
  communicator(const MPI_Comm &, comm_create_kind);
  communicator(const communicator &, const boost::mpi::group &);
  // public member functions
  int rank() const;
  int size() const;
  boost::mpi::group group() const;
  template<typename T> void send(int, int, const T &) const;
  template<typename T> void send(int, int, const skeleton_proxy< T > &) const;
  template<typename T> void send(int, int, const T *, int) const;
  void send(int, int) const;
  template<typename T> status recv(int, int, T &) const;
  template<typename T> 
    status recv(int, int, const skeleton_proxy< T > &) const;
  template<typename T> status recv(int, int, skeleton_proxy< T > &) const;
  template<typename T> status recv(int, int, T *, int) const;
  status recv(int, int) const;
  template<typename T> 
    status sendrecv(int, int, const T &, int, int, T &) const;
  template<typename T> request isend(int, int, const T &) const;
  template<typename T> 
    request isend(int, int, const skeleton_proxy< T > &) const;
  template<typename T> request isend(int, int, const T *, int) const;
  request isend(int, int) const;
  template<typename T> request irecv(int, int, T &) const;
  template<typename T> request irecv(int, int, T *, int) const;
  request irecv(int, int) const;
  status probe(int = any_source, int = any_tag) const;
  optional< status > iprobe(int = any_source, int = any_tag) const;
  void barrier() const;
  operator bool() const;
  operator MPI_Comm() const;
  communicator split(int) const;
  communicator split(int, int) const;
  optional< intercommunicator > as_intercommunicator() const;
  optional< graph_communicator > as_graph_communicator() const;
  bool has_cartesian_topology() const;
  void abort(int) const;
};

Description

Класс<communicator>абстрагирует набор процессов связи в MPI. Все процессы, принадлежащие определенному коммуникатору, могут определять размер коммуникатора, его ранг в коммуникаторе и общаться с любыми другими процессами в коммуникаторе.

communicator public construct/copy/destruct

  1. На сайте НЛО. MPI коммуникаторMPI_COMM_WORLD.

    Собака коммуникатор Буст. MPI, PI, . . . . . . . .(MPI_COMM_WORLD, comm_attach).

    [ORIG_END] -->
  2. communicator(constMPI_Comm&comm,comm_create_kindkind);

    Постройте новый буст. MPI коммуникатор на основе MPI коммуникаторcomm.

    commможет быть любым действительным MPI коммуникатор. Еслиcommявляется MPI_COMM_NULL, создается пустой коммуникатор (который не может быть использован для связи), и параметрkindигнорируется. В противном случае параметрыkindопределяют, как будет происходить повышение. MPI коммуникатор будет связан сcomm:

    • Еслиkindявляетсяcomm_duplicate, дублироватьcommдля создания нового коммуникатора. Этот новый коммуникатор будет освобожден, когда буст. Уничтожается MPI-коммуникатор (и все его копии). Этот вариант допускается только в том случае, еслиcommявляется действительным внутрикоммуникатором MPI или если базовая реализация MPI поддерживает MPI 2.0 (который поддерживает дублирование межкоммуникаторов).

    • Если<kind>является<comm_take_ownership>, возьмите на себя ответственность<comm>. Она будет освобождена автоматически, когда все усилится. Коммуникаторы MPI выходят за рамки. Эта опция не должна использоваться, когда<comm>является MPI_COMM_WORLD.

    • Если<kind>это<comm_attach>, то этот рост. MPI-коммуникатор будет ссылаться на существующий MPI-коммуникатор<comm>, но не будет освобождать<comm>при увеличении. MPI коммуникатор выходит за рамки. Эта опция должна использоваться только тогда, когда коммуникатором управляет пользователь или библиотека MPI (например, MPI_COMM_WORLD).

  3. communicator(const communicator & comm, const boost::mpi::group & subgroup);

    Build a new Boost.MPI communicator based on a subgroup of another MPI communicator.

    This routine will construct a new communicator containing all of the processes from communicator comm that are listed within the group subgroup. Equivalent to MPI_Comm_create.

    Параметры:

    comm

    An MPI communicator.

    subgroup

    A subgroup of the MPI communicator, comm, for which we will construct a new communicator.

communicator public member functions

  1. intrank()const;
    Определить ранг исполняющего процесса в коммуникаторе.

    Эта рутина эквивалентнаMPI_Comm_rank

    Возвращение:

    Ранг процесса в коммуникаторе, который будет значением в [0, размер()]

  2. [[

    intsize()const;Определите количество процессов в коммуникаторе.

    Эта рутина эквивалентнаMPI_Comm_size

    Возвращение:

    Количество процессов в коммуникаторе.

    [ORIG_END] -->[ORIG_END] -->
  3. boost::mpi::groupgroup()const;

    Эта рутина создает новую группу, членами которой являются процессы внутри этого коммуникатора. Это эквивалентно призывуMPI_Comm_group

    .
  4. Датаvalue], [сверх], [MPI]. примечание:

    • Типы ? ? ? ? ? ? MPI:is_mpi_datatype<T>Связьmpl::true_,value,get_mpi_datatype<T>().int,float,char,doubleи т.д.,int,int,int,char,doubleи т.д. Полностью Сериализируемый тип, филе-рама, тип 100 МПИ, мишеньis_mpi_datatype, патруль.

      [ORIG_END] -->
    • Сериализируемые типы: Любой тип, который обеспечивает функциональность<serialize()>, требуемую Boost. Библиотеку сериализации можно передавать и принимать.

    • Упакованные архивы и скелеты: Данные, которые были упакованы в<mpi::packed_oarchive>или скелеты данных, которые были сохранены в<mpi::packed_skeleton_oarchive>, могут быть переданы, но будут приняты как<mpi::packed_iarchive>и<mpi::packed_skeleton_iarchive>соответственно, чтобы позволить значениям (или скелетам) быть извлечены процессом назначения.

    • Содержание: Содержимое, связанное с ранее переданным скелетом, может передаваться<send>и приниматься<recv>. Процесс получения может принимать содержимое только в содержание значения, которое было построено с соответствующим скелетом.

    Для типов, которые имеют отображения типа данных MPI (включая концентрацию типа), вызов этой процедуры приведет к одному вызову MPI_Send. Для данных переменной длины, например, сериализованных типов и упакованных архивов, через MPI_Send будут отправлены два сообщения: одно, содержащее длину данных, и второе, содержащее сами данные. Обратите внимание, что режим передачи данных переменной длины является деталью реализации, которая может быть изменена.

    Параметры:

    dest

    Ранг удаленного процесса, на который будут отправлены данные.

    <tag>

    Тег, который будет связан с этим сообщением. Теги могут быть любым целым числом между нулем и определяемым реализацией верхним пределом. Этот предел доступен через<environment::max_tag()>

    .

    <value>

    Значение, которое будет передано получателю. Тип<T>этого значения должен соответствовать вышеупомянутым критериям передачи.

  • template<typename T> 
      void send(int dest, int tag, const skeleton_proxy< T > & proxy) const;
    Send the skeleton of an object.

    This routine executes a potentially blocking send with tag tag to the process with rank dest. It can be received by the destination process with a matching recv call. This variation on send will be used when a send of a skeleton is explicitly requested via code such as:

    comm.send(dest, tag, skeleton(object));
    

    The semantics of this routine are equivalent to that of sending a packed_skeleton_oarchive storing the skeleton of the object.

    Параметры:

    dest

    The rank of the remote process to which the skeleton will be sent.

    proxy

    The skeleton_proxy containing a reference to the object whose skeleton will be transmitted.

    <tag>

    Тег, который будет связан с этим сообщением. Теги могут быть любым целым числом между нулем и определяемым реализацией верхним пределом. Этот предел доступен через<environment::max_tag()>

    .
  • Если T является типом данных MPI, ссылка на эту процедуру будет отображена на один вызов MPI_ Отправить, используя тип данных get_mpi_datatype<T>().

    Параметры:

    dest

    The process rank of the remote process to which the data will be sent.

    n

    Число значений, хранящихся в массиве. Процесс назначения должен вызвать получение по крайней мере с этим количеством элементов, чтобы правильно получить сообщение.

    <tag>

    Тэг, который будет связан с этим сообщением. Теги могут быть любым целым числом между нулем и определенным верхним пределом реализации. Этот лимит доступен через environment::max_tag().

    values

    Сбор значений, которые будут передаваться приемнику. Тип T этих значений должен быть отображен на тип данных MPI.

    Параметры:

    dest

    The process rank of the remote process to which the data will be sent.

    n

    The number of values stored in the array. The destination process must call receive with at least this many elements to correctly receive the message.

    <tag>

    Тег, который будет связан с этим сообщением. Теги могут быть любым целым числом между нулем и определяемым реализацией верхним пределом. Этот предел доступен через<environment::max_tag()>

    .

    values

    The array of values that will be transmitted to the receiver. The type T of these values must be mapped to an MPI data type.

    [ORIG_END] -->
  • void send(int dest, int tag) const;
    Send a message to another process without any data.

    This routine executes a potentially blocking send of a message to another process. The message contains no extra data, and can therefore only be received by a matching call to recv().

    Параметры:

    dest

    The process rank of the remote process to which the message will be sent.

    <tag>

    The tag that will be associated with this message. Tags may be any integer between zero and an implementation-defined upper limit. This limit is accessible via environment::max_tag().

  • template<typename T> status recv(int source, int tag, T & value) const;
    Receive data from a remote process.

    This routine blocks until it receives a message from the process source with the given tag. The type T of the value must be suitable for transmission over MPI, which includes serializable types, types that can be mapped to MPI data types (including most built-in C++ types), packed MPI archives, skeletons, and content associated with skeletons; see the documentation of send for a complete description.

    Параметры:

    source

    The process that will be sending data. This will either be a process rank within the communicator or the constant any_source, indicating that we can receive the message from any process.

    <tag>

    The tag that matches a particular kind of message sent by the source process. This may be any tag value permitted by send. Alternatively, the argument may be the constant any_tag, indicating that this receive matches a message with any tag.

    <value>

    Will contain the value of the message after a successful receive. The type of this value must match the value transmitted by the sender, unless the sender transmitted a packed archive or skeleton: in these cases, the sender transmits a packed_oarchive or packed_skeleton_oarchive and the destination receives a packed_iarchive or packed_skeleton_iarchive, respectively.

    Returns:

    Information about the received message.

  • template<typename T> 
      status recv(int source, int tag, const skeleton_proxy< T > & proxy) const;
    Receive a skeleton from a remote process.

    This routine blocks until it receives a message from the process source with the given tag containing a skeleton.

    Параметры:

    proxy

    The skeleton_proxy containing a reference to the object that will be reshaped to match the received skeleton.

    source

    The process that will be sending data. This will either be a process rank within the communicator or the constant any_source, indicating that we can receive the message from any process.

    <tag>

    The tag that matches a particular kind of message sent by the source process. This may be any tag value permitted by send. Alternatively, the argument may be the constant any_tag, indicating that this receive matches a message with any tag.

    Returns:

    Information about the received message.

  • template<typename T> 
      status recv(int source, int tag, skeleton_proxy< T > & proxy) const;
    Receive a skeleton from a remote process.

    This routine blocks until it receives a message from the process source with the given tag containing a skeleton.

    Параметры:

    proxy

    The skeleton_proxy containing a reference to the object that will be reshaped to match the received skeleton.

    source

    The process that will be sending data. This will either be a process rank within the communicator or the constant any_source, indicating that we can receive the message from any process.

    <tag>

    The tag that matches a particular kind of message sent by the source process. This may be any tag value permitted by send. Alternatively, the argument may be the constant any_tag, indicating that this receive matches a message with any tag.

    Returns:

    Information about the received message.

  • Параметры:

    n

    Число значений, которые можно хранить в массиве values. Это должно быть не меньше числа элементов, передаваемых отправителем.

    source

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

    <tag>

    Тэг, который соответствует определенному виду сообщения, отправленного исходным процессом. Это может быть любое значение тега, разрешенное send. В качестве альтернативы, аргументом может быть постоянная any_tag, указывающая, что эта информация соответствует сообщению с любым тегом.

    values

    Will содержит значения в сообщении после успешного получения. Тип этих элементов должен соответствовать типу элементов, передаваемых отправителем.

    Возвращение:

    Информация о полученном сообщении.

    Throws:

    std::range_error, если сообщение будет получено, содержит более n значений.

    Параметры:

    n

    The number of values that can be stored into the values array. This shall not be smaller than the number of elements transmitted by the sender.

    source

    The process that will be sending data. This will either be a process rank within the communicator or the constant any_source, indicating that we can receive the message from any process.

    <tag>

    The tag that matches a particular kind of message sent by the source process. This may be any tag value permitted by send. Alternatively, the argument may be the constant any_tag, indicating that this receive matches a message with any tag.

    values

    Will contain the values in the message after a successful receive. The type of these elements must match the type of the elements transmitted by the sender.

    Returns:

    Information about the received message.

    Throws:

    std::range_error if the message to be received contains more than n values. [ORIG_END] -->
  • status recv(int source, int tag) const;
    Receive a message from a remote process without any data.

    This routine blocks until it receives a message from the process source with the given tag.

    Параметры:

    source

    The process that will be sending the message. This will either be a process rank within the communicator or the constant any_source, indicating that we can receive the message from any process.

    <tag>

    The tag that matches a particular kind of message sent by the source process. This may be any tag value permitted by send. Alternatively, the argument may be the constant any_tag, indicating that this receive matches a message with any tag.

    Returns:

    Information about the received message.

  • template<typenameT>
     statussendrecv(intdest,intstag,constT&sval,intsrc,intrtag,
                     T&rval)const;
    Отправьте сообщение удаленному процессу и получите другое сообщение от другого процесса.
  • template<typename T> request isend(int dest, int tag, const T & value) const;
    Send a message to a remote process without blocking.

    The isend method is functionality identical to the send method and transmits data in the same way, except that isend will not block while waiting for the data to be transmitted. Instead, a request object will be immediately returned, allowing one to query the status of the communication or wait until it has completed.

    Параметры:

    dest

    Ранг удаленного процесса, на который будут отправлены данные.

    <tag>

    Тег, который будет связан с этим сообщением. Теги могут быть любым целым числом между нулем и определяемым реализацией верхним пределом. Этот предел доступен через<environment::max_tag()>

    .

    <value>

    The value that will be transmitted to the receiver. The type T of this value must meet the aforementioned criteria for transmission.

    Returns:

    a request object that describes this communication.

  • Семантика этой рутины эквивалентна неблокирующему отправке packed_skeleton_oarchive, хранящему скелет object.

    Параметры:

    dest

    Ранг удаленного процесса, к которому будет отправлен скелет.

    proxy

    The skeleton_proxy содержит ссылку на объект, скелет которого будет передан.

    <tag>

    Тэг, который будет связан с этим сообщением. Теги могут быть любым целым числом между нулем и определенным верхним пределом реализации. Этот лимит доступен через environment::max_tag().

    Возвращение:

    a request объект, описывающий это сообщение.

    Параметры:

    dest

    The rank of the remote process to which the skeleton will be sent.

    proxy

    The skeleton_proxy containing a reference to the object whose skeleton will be transmitted.

    <tag>

    Тег, который будет связан с этим сообщением. Теги могут быть любым целым числом между нулем и определяемым реализацией верхним пределом. Этот предел доступен через<environment::max_tag()>

    .

    Returns:

    a request object that describes this communication.

    [ORIG_END] -->
  • Параметры:

    dest

    The process rank of the remote process to which the data will be sent.

    n

    Число значений, хранящихся в массиве. Процесс назначения должен вызвать получение по крайней мере с этим количеством элементов, чтобы правильно получить сообщение.

    <tag>

    Тэг, который будет связан с этим сообщением. Теги могут быть любым целым числом между нулем и определенным верхним пределом реализации. Этот лимит доступен через environment::max_tag().

    values

    Сбор значений, которые будут передаваться приемнику. Тип T этих значений должен быть отображен на тип данных MPI.

    Возвращение:

    a request объект, описывающий это сообщение.

    Параметры:

    dest

    The process rank of the remote process to which the data will be sent.

    n

    The number of values stored in the array. The destination process must call receive with at least this many elements to correctly receive the message.

    <tag>

    Тег, который будет связан с этим сообщением. Теги могут быть любым целым числом между нулем и определяемым реализацией верхним пределом. Этот предел доступен через<environment::max_tag()>

    .

    values

    The array of values that will be transmitted to the receiver. The type T of these values must be mapped to an MPI data type.

    Returns:

    a request object that describes this communication.

    [ORIG_END] -->
  • request isend(int dest, int tag) const;
    Send a message to another process without any data without blocking.

    This routine is functionally identical to the send method for sends with no data, except that isend will not block while waiting for the message to be transmitted. Instead, a request object will be immediately returned, allowing one to query the status of the communication or wait until it has completed.

    Параметры:

    dest

    The process rank of the remote process to which the message will be sent.

    <tag>

    Тег, который будет связан с этим сообщением. Теги могут быть любым целым числом между нулем и определяемым реализацией верхним пределом. Этот предел доступен через<environment::max_tag()>

    .

    Returns:

    a request object that describes this communication.

  • template<typename T> request irecv(int source, int tag, T & value) const;
    Prepare to receive a message from a remote process.

    The irecv method is functionally identical to the recv method and receive data in the same way, except that irecv will not block while waiting for data to be transmitted. Instead, it immediately returns a request object that allows one to query the status of the receive or wait until it has completed.

    Параметры:

    source

    The process that will be sending data. This will either be a process rank within the communicator or the constant any_source, indicating that we can receive the message from any process.

    <tag>

    The tag that matches a particular kind of message sent by the source process. This may be any tag value permitted by send. Alternatively, the argument may be the constant any_tag, indicating that this receive matches a message with any tag.

    <value>

    Will contain the value of the message after a successful receive. The type of this value must match the value transmitted by the sender, unless the sender transmitted a packed archive or skeleton: in these cases, the sender transmits a packed_oarchive or packed_skeleton_oarchive and the destination receives a packed_iarchive or packed_skeleton_iarchive, respectively.

    Returns:

    a request object that describes this communication.

  • Параметры:

    n

    Число значений, которые можно хранить в массиве values. Это должно быть не меньше числа элементов, передаваемых отправителем.

    source

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

    <tag>

    Тэг, который соответствует определенному виду сообщения, отправленного исходным процессом. Это может быть любое значение тега, разрешенное send. В качестве альтернативы, аргументом может быть постоянная any_tag, указывающая, что эта информация соответствует сообщению с любым тегом.

    values

    Will содержит значения в сообщении после успешного получения. Тип этих элементов должен соответствовать типу элементов, передаваемых отправителем.

    Возвращение:

    a request объект, описывающий это сообщение.

    Параметры:

    n

    The number of values that can be stored into the values array. This shall not be smaller than the number of elements transmitted by the sender.

    source

    The process that will be sending data. This will either be a process rank within the communicator or the constant any_source, indicating that we can receive the message from any process.

    <tag>

    The tag that matches a particular kind of message sent by the source process. This may be any tag value permitted by send. Alternatively, the argument may be the constant any_tag, indicating that this receive matches a message with any tag.

    values

    Will contain the values in the message after a successful receive. The type of these elements must match the type of the elements transmitted by the sender.

    Returns:

    a request object that describes this communication.

    [ORIG_END] -->
  • Параметры:

    source

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

    <tag>

    Тэг, который соответствует определенному виду сообщения, отправленного исходным процессом. Это может быть любое значение тега, разрешенное send. В качестве альтернативы, аргументом может быть постоянная any_tag, указывающая, что эта информация соответствует сообщению с любым тегом.

    Возвращение:

    a request объект, описывающий это сообщение.

    Параметры:

    source

    The process that will be sending the message. This will either be a process rank within the communicator or the constant any_source, indicating that we can receive the message from any process.

    <tag>

    The tag that matches a particular kind of message sent by the source process. This may be any tag value permitted by send. Alternatively, the argument may be the constant any_tag, indicating that this receive matches a message with any tag.

    Returns:

    a request object that describes this communication.

    [ORIG_END] -->
  • Параметры:

    source

    Determine, если есть сообщение, доступное из этого ранга. Если any_source, то возвращаемое сообщение может исходить из любого источника.

    <tag>

    Determine, если есть сообщение, доступное с данным тегом. Если any_tag, то возвращаемое сообщение может иметь любой тег.

    Возвращение:

    Возвращает информацию о первом сообщении, которое соответствует заданным критериям.

    Параметры:

    source

    Determine if there is a message available from this rank. If any_source, then the message returned may come from any source.

    <tag>

    Determine if there is a message available with the given tag. If any_tag, then the message returned may have any tag.

    Returns:

    Returns information about the first message that matches the given criteria.

    [ORIG_END] -->
  • Параметры:

    source

    Determine, если есть сообщение, доступное из этого ранга. Если any_source, то возвращаемое сообщение может исходить из любого источника.

    <tag>

    Determine, если есть сообщение, доступное с данным тегом. Если any_tag, то возвращаемое сообщение может иметь любой тег.

    Возвращение:

    Если доступно соответствующее сообщение, возвращает информацию об этом сообщении. В противном случае возвращается пустой boost::optional.

    Параметры:

    source

    Determine if there is a message available from this rank. If any_source, then the message returned may come from any source.

    <tag>

    Determine if there is a message available with the given tag. If any_tag, then the message returned may have any tag.

    Returns:

    If a matching message is available, returns information about that message. Otherwise, returns an empty boost::optional.

    [ORIG_END] -->
  • <
    voidbarrier()const;
    >Подождите, пока все процессы внутри коммуникатора достигнут барьера.

    Эта процедура представляет собой коллективную операцию, которая блокирует каждый процесс до тех пор, пока все процессы не вошли в него, а затем высвобождает все процессы «одновременно». Это эквивалентно<MPI_Barrier>

    .
  • <
    operatorbool()const;
    >Определить, является ли данный коммуникатор действительным для связи.

    Оценивает<true>в булевом контексте, если этот коммуникатор действителен для связи, то есть не представляет MPI_COMM_NULL. В противном случае, оценивает<false>.

  • operatorMPI_Comm()const;
    Доступ к MPI-коммуникатору, связанному с повышением. MPI коммуникатор.

    Эта рутина позволяет имплицитное преобразование из Роста. MPI коммуникатор к MPI коммуникатор.

    Возвращение:

    Связанный MPI коммуникатор.

  • Выделите коммуникатор на множественные, разрозненные коммуникаторы, каждый из которых основан на определенном цвете. Это коллективная операция, которая возвращает новый коммуникатор, который является подгруппой this. Эта процедура функционально эквивалентна MPI_Comm_split.

    Параметры:

    color

    Цвет этого процесса. Все процессы с одинаковым color Значение будет помещено в одну группу.

    Возвращение:

    новый коммуникатор, содержащий все процессы в this, которые имеют одинаковую color.

    Параметры:

    color

    The color of this process. All processes with the same color value will be placed into the same group.

    Returns:

    A new communicator containing all of the processes in this that have the same color.

    [ORIG_END] -->
  • Выделите коммуникатор на множественные, разрозненные коммуникаторы, каждый из которых основан на определенном цвете. Это коллективная операция, которая возвращает новый коммуникатор, который является подгруппой this. Эта процедура функционально эквивалентна MPI_Comm_split.

    Параметры:

    color

    Цвет этого процесса. Все процессы с одинаковым color Значение будет помещено в одну группу.

    key

    Ключевое значение, которое будет использоваться для определения порядка процессов с одинаковым цветом в полученном коммуникаторе. В случае опущения ранг процессов в this определит порядок процессов в соответствующей группе.

    Возвращение:

    новый коммуникатор, содержащий все процессы в this, которые имеют одинаковую color.

    Параметры:

    color

    The color of this process. All processes with the same color value will be placed into the same group.

    key

    A key value that will be used to determine the ordering of processes with the same color in the resulting communicator. If omitted, the rank of the processes in this will determine the ordering of processes in the resulting group.

    Returns:

    A new communicator containing all of the processes in this that have the same color.

    [ORIG_END] -->
  • optional<intercommunicator>as_intercommunicator()const;

    Определите, является ли коммуникатор фактически интеркоммуникатором, и, если да, верните этого интеркоммуникатора.

    Возвращает:

    optionalсодержит интеркоммуникатор, если этот коммуникатор фактически является интеркоммуникатором. В противном случае возвращает пустоеoptional

    .
  • Определить,,

    ,

    ,

    .

    [

    [] [] [] [] [] [] [] [] [] [] [] [] []] [] [] [] [] [] [] [] []] [] [] [] []] [] [] []] [] [] []] [] []] [] []] [] []] [] []

    anoptional, приравненный к графу коммуникатор, [i] коммуникатор, [i] к топологической графе.

    [ORIG_END] -->
  • О абразив,

    [ORIG_END] -->
  • void abort(int errcode) const;

    Abort all tasks in the group of this communicator.

    Makes a "best attempt" to abort all of the tasks in the group of this communicator. Depending on the underlying MPI implementation, this may either abort the entire program (and possibly return errcode to the environment) or only abort some processes, allowing the others to continue. Consult the documentation for your MPI implementation. This is equivalent to a call to MPI_Abort

    Параметры:

    errcode

    The error code to return from aborted processes.

    Returns:

    Will not return.


  • PrevUpHomeNext

    Статья Class communicator раздела The Boost C++ Libraries BoostBook Documentation Subset Reference может быть полезна для разработчиков на c++ и boost.




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



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


    реклама


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

    Время компиляции файла: 2024-08-30 11:47:00
    2025-05-20 06:12:46/0.015353918075562/1