Implements a group structure across which barriers can be executed.
More...
#include <pfunc/group.hpp>
List of all members.
Detailed Description
Implements a group structure across which barriers can be executed.
Constructor & Destructor Documentation
pfunc::detail::group::group |
( |
| ) |
[inline, private] |
pfunc::detail::group::group |
( |
const unsigned int & |
group_id, |
|
|
const unsigned int & |
group_size |
|
) |
| [inline, private] |
Parameterized Constructor
- Parameters:
-
[in] | group_id | ID of the group. |
[in] | group_size | Size of the group. |
pfunc::detail::group::group |
( |
const unsigned int & |
group_id, |
|
|
const unsigned int & |
group_size, |
|
|
const unsigned int & |
barrier |
|
) |
| [inline, private] |
Parameterized Constructor
- Parameters:
-
[in] | group_id | ID of the group. |
[in] | group_size | Size of the group. |
[in] | barrier | Type of the barrier. |
pfunc::detail::group::~group |
( |
| ) |
[inline, private] |
Member Function Documentation
template<typename TaskManager >
void pfunc::detail::group::barrier |
( |
TaskManager & |
taskmgr | ) |
[inline, private] |
- Parameters:
-
[in,out] | taskmgr | The instance that does the steal. |
template<typename TaskManager >
void pfunc::detail::group::barrier_steal |
( |
TaskManager & |
taskmgr | ) |
[inline, private] |
Implements the work-stealing barrier.
- Parameters:
-
[in,out] | taskmgr | The instance of the library that we steal work from. |
unsigned int pfunc::detail::group::get_barrier |
( |
| ) |
const [inline, private] |
- Returns:
- Type of the barrier
unsigned int pfunc::detail::group::get_id |
( |
| ) |
const [inline, private] |
unsigned int pfunc::detail::group::get_size |
( |
| ) |
const [inline, private] |
get_group_size
- Returns:
- Number of tasks in the group
unsigned int pfunc::detail::group::join_group |
( |
| ) |
[inline, private] |
- Returns:
- Join this group and return a new rank.
void pfunc::detail::group::leave_group |
( |
void |
| ) |
[inline, private] |
Decrements the rank_token by one.
pfunc::detail::group::PFUNC_DEFINE_EXCEPT_PTR |
( |
| ) |
[inline, private] |
Implements the spinning barrier.
void pfunc::detail::group::set_barrier |
( |
const unsigned int & |
barr | ) |
[inline, private] |
void pfunc::detail::group::set_id |
( |
const unsigned int & |
gid | ) |
[inline, private] |
void pfunc::detail::group::set_size |
( |
const unsigned int & |
gsize | ) |
[inline, private] |
- Parameters:
-
gsize | Number of tasks in the group |
Friends And Related Function Documentation
bool operator== |
( |
const group & |
one, |
|
|
const group & |
two |
|
) |
| [friend] |
- Parameters:
-
[in] | one | The group to be compared |
[in] | two | The other group to be compared |
- Returns:
- true If the groups are same
-
false otherwise
Member Data Documentation
# tasks active in barrier
Lock for implementing the barrier
Number of tasks in this group
Type of the barrier to be used
The documentation for this struct was generated from the following file: