|
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 |