Galois
|
#include <Executor_ForEach.h>
Classes | |
struct | RunQueueState |
struct | T1 |
struct | T2 |
struct | ThreadLocalBasics |
struct | ThreadLocalData |
Public Member Functions | |
ForEachExecutor (FunctionTy f, const ArgsTy &args) | |
Static Public Attributes | |
static constexpr bool | needStats = galois::internal::NeedStats<ArgsTy>::value |
static constexpr bool | needsPush = !has_trait<no_pushes_tag, ArgsTy>() |
static constexpr bool | needsAborts = !has_trait<no_conflicts_tag, ArgsTy>() |
static constexpr bool | needsPia = has_trait<per_iter_alloc_tag, ArgsTy>() |
static constexpr bool | needsBreak = has_trait<parallel_break_tag, ArgsTy>() |
static constexpr bool | MORE_STATS |
Protected Types | |
typedef WorkListTy::value_type | value_type |
using | LoopStat = LoopStatistics< needStats > |
Protected Member Functions | |
void | commitIteration (ThreadLocalData &tld) |
template<typename Item > | |
GALOIS_ATTRIBUTE_NOINLINE void | abortIteration (const Item &item, ThreadLocalData &tld) |
void | doProcess (value_type &val, ThreadLocalData &tld) |
bool | runQueueSimple (ThreadLocalData &tld) |
template<unsigned int limit, typename WL > | |
void | runQueueDispatch (ThreadLocalData &tld, WL &lwl, RunQueueState< WL > &s) |
template<unsigned int limit, typename WL > | |
bool | runQueue (ThreadLocalData &tld, WL &lwl) |
GALOIS_ATTRIBUTE_NOINLINE bool | handleAborts (ThreadLocalData &tld) |
void | fastPushBack (typename UserContextAccess< value_type >::PushBufferTy &x) |
bool | checkEmpty (WorkListTy &, ThreadLocalData &,...) |
template<typename WL > | |
auto | checkEmpty (WL &wl, ThreadLocalData &, int) -> decltype(wl.empty(), bool()) |
template<bool couldAbort, bool isLeader> | |
void | go () |
template<typename... WArgsTy> | |
ForEachExecutor (T2, FunctionTy f, const ArgsTy &args, WArgsTy...wargs) | |
template<typename WArgsTy , size_t... Is> | |
ForEachExecutor (T1, FunctionTy f, const ArgsTy &args, const WArgsTy &wlargs, std::index_sequence< Is...>) | |
template<typename WArgsTy > | |
ForEachExecutor (T1, FunctionTy f, const ArgsTy &args, const WArgsTy &, std::index_sequence<>) | |
Protected Attributes | |
AbortHandler< value_type > | aborted |
substrate::TerminationDetection & | term |
substrate::Barrier & | barrier |
WorkListTy | wl |
FunctionTy | origFunction |
const char * | loopname |
bool | broke |
PerThreadTimer< MORE_STATS > | initTime |
PerThreadTimer< MORE_STATS > | execTime |
|
protected |
|
protected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inline |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
protected |
|
protected |
|
protected |