PFUNC  1.0
Namespaces | Functions | Variables
pfunc/pfunc.hpp File Reference

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

Detailed Description

Implementation of PFUNC -- A Task Parallel API.

Author:
Prabhanjan Kambadur