computation_tree.hpp

来自「Boost provides free peer-reviewed portab」· HPP 代码 · 共 87 行

HPP
87
字号
// Copyright (C) 2005 Douglas Gregor.// Use, modification and distribution is subject to the Boost Software// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at// http://www.boost.org/LICENSE_1_0.txt)// Compute parents, children, levels, etc. to effect a parallel// computation tree.#ifndef BOOST_MPI_COMPUTATION_TREE_HPP#define BOOST_MPI_COMPUTATION_TREE_HPPnamespace boost { namespace mpi { namespace detail {/** * @brief Aids tree-based parallel collective algorithms. * * Objects of this type */class computation_tree{ public:  computation_tree(int rank, int size, int root, int branching_factor = -1);  /// Returns the branching factor of the tree.  int branching_factor() const { return branching_factor_; }  /// Returns the level in the tree on which this process resides.  int level() const { return level_; }  /**   * Returns the index corresponding to the n^th level of the tree.   *   * @param n The level in the tree whose index will be returned.   */  int level_index(int n) const;  /**   *  @brief Returns the parent of this process.   *   *  @returns If this process is the root, returns itself. Otherwise,   *  returns the process number that is the parent in the computation   *  tree.   */  int parent() const;  /// Returns the index for the first child of this process.  int child_begin() const;  /**   * @brief The default branching factor within the computation tree.   *   * This is the default branching factor for the computation tree, to   * be used by any computation tree that does not fix the branching   * factor itself. The default is initialized to 3, but may be   * changed by the application so long as all processes have the same   * branching factor.   */  static int default_branching_factor; protected:  /// The rank of this process in the computation tree.  int rank;  /// The number of processes participating in the computation tree.  int size;  /// The process number that is acting as the root in the computation  /// tree.  int root;  /**   * @brief The branching factor within the computation tree.   *   * This is the default number of children that each node in a   * computation tree will have. This value will be used for   * collective operations that use tree-based algorithms.   */  int branching_factor_;  /// The level in the tree at which this process resides.  int level_;};} } } // end namespace boost::mpi::detail#endif // BOOST_MPI_COMPUTATION_TREE_HPP

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?