Galois
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Executor_ParaMeter.h File Reference
#include <algorithm>
#include <cstdio>
#include <cstdlib>
#include <ctime>
#include <deque>
#include <random>
#include <vector>
#include "galois/config.h"
#include "galois/gIO.h"
#include "galois/Mem.h"
#include "galois/Reduction.h"
#include "galois/runtime/Context.h"
#include "galois/runtime/Executor_ForEach.h"
#include "galois/runtime/Executor_DoAll.h"
#include "galois/runtime/Executor_OnEach.h"
#include "galois/PerThreadContainer.h"
#include "galois/Traits.h"
#include "galois/worklists/Simple.h"

Go to the source code of this file.

Classes

struct  galois::runtime::ParaMeter::StepStatsBase
 
struct  galois::runtime::ParaMeter::OrderedStepStats
 
struct  galois::runtime::ParaMeter::UnorderedStepStats
 
class  galois::runtime::ParaMeter::FIFO_WL< T >
 
class  galois::runtime::ParaMeter::RAND_WL< T >
 
class  galois::runtime::ParaMeter::LIFO_WL< T >
 
struct  galois::runtime::ParaMeter::ChooseWL< T, SCHED >
 
struct  galois::runtime::ParaMeter::ChooseWL< T, SchedType::FIFO >
 
struct  galois::runtime::ParaMeter::ChooseWL< T, SchedType::LIFO >
 
struct  galois::runtime::ParaMeter::ChooseWL< T, SchedType::RAND >
 
class  galois::runtime::ParaMeter::ParaMeterExecutor< T, FunctionTy, ArgsTy >
 
struct  IterationContext
 
class  worklists::ParaMeter< T, SCHED >
 
struct  runtime::ForEachExecutor< galois::worklists::ParaMeter< T >, FunctionTy, ArgsTy >
 

Namespaces

 galois
 The Galois namespace containing all Galois structures and functions.
 
 galois::runtime
 Internal Galois functionality - Use at your own risk.
 
 galois::runtime::ParaMeter
 Functions used by ParaMeter, which measures parallelism of loops.
 
 worklists
 
 runtime
 

Typedefs

using value_type = T
 
using GenericWL = typename get_trait_type< wl_tag, ArgsTy >::type::type
 
using WorkListTy = typename GenericWL::template retype< T >
 
using dbg = galois::debug< 1 >
 
using PWL = typename ChooseWL< IterationContext *, WorkListTy::SCHEDULE >::type
 

Enumerations

enum  galois::runtime::ParaMeter::SchedType { galois::runtime::ParaMeter::SchedType::FIFO, galois::runtime::ParaMeter::SchedType::RAND, galois::runtime::ParaMeter::SchedType::LIFO }
 

Functions

FILE * galois::runtime::ParaMeter::getStatsFile (void)
 
void galois::runtime::ParaMeter::closeStatsFile (void)
 
template<class T , class FunctionTy , class ArgsTy >
class
galois::runtime::ParaMeter::ParaMeterExecutor 
galois::runtime::ParaMeter::execute (const R &range)
 
 galois::runtime::ParaMeter::ParaMeterExecutor (const FunctionTy &f, const ArgsTy &args)
 
template<typename RangeTy >
void galois::runtime::ParaMeter::init (const RangeTy &range)
 
template<typename RangeTy >
void galois::runtime::ParaMeter::initThread (const RangeTy &) const
 
void galois::runtime::ParaMeter::operator() (void)
 
template<typename R , typename F , typename ArgsTuple >
void runtime::for_each_ParaMeter (const R &range, const F &func, const ArgsTuple &argsTuple)
 invoke ParaMeter tool to execute a for_each style loop More...
 

Variables

PWL m_wl
 
FunctionTy m_func
 
const char * loopname
 
FILE * m_statsFile
 
FixedSizeAllocator
< IterationContext
m_iterAlloc
 
galois::GReduceLogicalOr m_broken
 

Typedef Documentation

using dbg = galois::debug<1>
using GenericWL = typename get_trait_type<wl_tag, ArgsTy>::type::type
using PWL = typename ChooseWL<IterationContext*, WorkListTy::SCHEDULE>::type
using value_type = T
using WorkListTy = typename GenericWL::template retype<T>

Variable Documentation

FunctionTy m_func
FixedSizeAllocator<IterationContext> m_iterAlloc
FILE* m_statsFile
PWL m_wl