PFUNC
1.0
|
Implementation of PFUNC -- A Task Parallel API. More...
#include <pfunc/pfunc_common.h>
#include <pfunc/exception.hpp>
#include <pfunc/mutex.hpp>
#include <pfunc/event.hpp>
#include <pfunc/thread.hpp>
#include <pfunc/trampolines.hpp>
#include <pfunc/group.hpp>
#include <pfunc/attribute.hpp>
#include <pfunc/task.hpp>
#include <pfunc/taskmgr.hpp>
#include <pfunc/generator.hpp>
Go to the source code of this file.
Namespaces | |
namespace | pfunc |
Namespace for the C++ interface of PFUNC. | |
namespace | pfunc::global |
Functions | |
template<typename Attribute > | |
static void | pfunc::attr_priority_set (Attribute &attr, const typename Attribute::priority_type &pri) |
template<typename Attribute > | |
static void | pfunc::attr_priority_get (const Attribute &attr, typename Attribute::priority_type &pri) |
template<typename Attribute > | |
static void | pfunc::attr_qnum_set (Attribute &attr, const typename Attribute::qnum_type &qnum) |
template<typename Attribute > | |
static void | pfunc::attr_qnum_get (const Attribute &attr, typename Attribute::qnum_type &qnum) |
template<typename Attribute > | |
static void | pfunc::attr_num_waiters_set (Attribute &attr, const typename Attribute::num_waiters_type &nwait) |
template<typename Attribute > | |
static void | pfunc::attr_num_waiters_get (const Attribute &attr, typename Attribute::num_waiters_type &nwait) |
template<typename Attribute > | |
static void | pfunc::attr_nested_set (Attribute &attr, const typename Attribute::nested_type &nested) |
template<typename Attribute > | |
static void | pfunc::attr_nested_get (const Attribute &attr, typename Attribute::nested_type &nested) |
template<typename Attribute > | |
static void | pfunc::attr_level_set (Attribute &attr, const typename Attribute::level_type &level) |
template<typename Attribute > | |
static void | pfunc::attr_level_get (Attribute &attr, typename Attribute::level_type &level) |
template<typename Attribute > | |
static void | pfunc::attr_grouped_set (Attribute &attr, const typename Attribute::grouped_type &grouped) |
template<typename Attribute > | |
static void | pfunc::attr_grouped_get (const Attribute &attr, typename Attribute::grouped_type &grouped) |
static void | pfunc::group_id_set (group &grp, const unsigned int &id) |
static void | pfunc::group_id_get (const group &grp, unsigned int &id) |
static void | pfunc::group_size_set (group &grp, const unsigned int &size) |
static void | pfunc::group_size_get (const group &grp, unsigned int &size) |
static void | pfunc::group_barrier_set (group &grp, const unsigned int &barr) |
static void | pfunc::group_barrier_get (const group &grp, unsigned int &barr) |
template<typename TaskManager > | |
static unsigned int | pfunc::thread_id (const TaskManager &tmanager) |
template<typename TaskManager > | |
static void | pfunc::group_rank (const TaskManager &tmanager, unsigned int &rank) |
template<typename TaskManager > | |
static void | pfunc::group_size (const TaskManager &tmanager, unsigned int &size) |
template<typename TaskManager , typename TaskType > | |
static void | pfunc::wait (TaskManager &tmanager, TaskType *task) |
template<typename TaskManager , typename TaskType > | |
static void | pfunc::wait (TaskManager &tmanager, TaskType &task) |
template<typename TaskManager , typename ForwardIterator > | |
static void | pfunc::wait_any (TaskManager &tmanager, ForwardIterator first, ForwardIterator last, int *completion_arr) |
template<typename TaskManager , typename ForwardIterator > | |
static void | pfunc::wait_all (TaskManager &tmanager, ForwardIterator first, ForwardIterator last) |
template<typename TaskManager , typename TaskType > | |
static bool | pfunc::test (TaskManager &tmanager, TaskType &task) |
template<typename TaskManager , typename ForwardIterator > | |
static bool | pfunc::test_all (TaskManager &tmanager, ForwardIterator first, ForwardIterator last, int *completion_arr) |
template<typename TaskManager > | |
static void | pfunc::barrier (TaskManager &tmanager) |
template<typename TaskManager > | |
static void | pfunc::spawn (TaskManager &tmanager, typename TaskManager::task &task, const typename TaskManager::attribute &attr, group &grp, typename TaskManager::functor &func) |
template<typename TaskManager > | |
static void | pfunc::spawn (TaskManager &tmanager, typename TaskManager::task &task, typename TaskManager::functor &func) |
template<typename TaskManager > | |
static void | pfunc::spawn (TaskManager &tmanager, typename TaskManager::task &task, const typename TaskManager::attribute &attr, typename TaskManager::functor &func) |
template<typename TaskManager > | |
static void | pfunc::taskmgr_max_attempts_set (TaskManager &tmanager, const unsigned int &attempts) |
template<typename TaskManager > | |
static void | pfunc::taskmgr_max_attempts_get (TaskManager &tmanager, unsigned int &attempts) |
template<typename TaskMgr > | |
static void | pfunc::get_num_queues (const TaskMgr &tmanager, unsigned int &num_queues) |
template<typename TaskMgr > | |
static void | pfunc::get_num_threads (const TaskMgr &tmanager, unsigned int &num_threads) |
template<typename TaskManager > | |
void | pfunc::global::init (TaskManager &tmanager) |
Used to initialize a global task manager that can then be used in the following functions: | |
void | pfunc::global::clear () |
Clears the global task manager. Note that this does not destroy the task manager object itself. That is to be ensured by the user. | |
static unsigned int | pfunc::global::thread_id () |
static void | pfunc::global::group_rank (unsigned int &rank) |
static void | pfunc::global::group_size (unsigned int &size) |
template<typename TaskType > | |
static void | pfunc::global::wait (TaskType &task) |
template<typename ForwardIterator > | |
static void | pfunc::global::wait_any (ForwardIterator first, ForwardIterator last, int *completion_arr) |
template<typename ForwardIterator > | |
static void | pfunc::global::wait_all (ForwardIterator first, ForwardIterator last) |
template<typename TaskType > | |
static bool | pfunc::global::test (TaskType &task) |
template<typename ForwardIterator > | |
static bool | pfunc::global::test_all (ForwardIterator first, ForwardIterator last, int *completion_arr) |
static void | pfunc::global::barrier () |
template<typename Task , typename Functor > | |
static void | pfunc::global::spawn (Task &task, Functor &func) |
template<typename Task , typename Attribute , typename Functor > | |
static void | pfunc::global::spawn (Task &task, const Attribute &attr, Functor &func) |
template<typename Task , typename Attribute , typename Functor > | |
static void | pfunc::global::spawn (Task &task, const Attribute &attr, group &grp, Functor &func) |
static void | pfunc::global::taskmgr_max_attempts_set (const unsigned int &attempts) |
static void | pfunc::global::taskmgr_max_attempts_get (unsigned int &attempts) |
static void | pfunc::global::get_num_queues (unsigned int &num_queues) |
static void | pfunc::global::get_num_threads (unsigned int &num_threads) |
Variables | |
detail::taskmgr_virtual_base * | pfunc::global::global_tmanager = NULL |
Implementation of PFUNC -- A Task Parallel API.