Galois::Runtime::LL Namespace Reference

Low-level, Galois-agnostic functionality. More...

Classes

struct  CacheLineImpl
struct  CacheLineImpl< T, 0 >
struct  CacheLineStorage
class  PaddedLock< true >
class  PaddedLock< false >
class  PtrLock< T, true >
class  PtrLock< T, false >
class  SimpleLock< true >
class  SimpleLock< false >
struct  StaticInstance
class  ThreadRWlock

Functions

static void asmPause ()
static void compilerBarrier ()
static void flushInstructionPipeline ()
bool EnvCheck (const char *parm)
 Return true if the Enviroment variable is set.
bool EnvCheck (const char *parm, int &val)
void gPrintStr (const std::string &)
 Prints a string.
void gInfoStr (const std::string &)
 Prints an info string (for easy parsing).
void gWarnStr (const std::string &)
 Prints a warning string (for easy parsing).
void gDebugStr (const std::string &)
 Prints a debug string (for easy parsing).
void gErrorStr (const std::string &)
 Prints an error string (for easy parsing).
template<typename T >
bool toString (std::ostringstream &os, const T &val)
 Converts a sequence of things to a string.
template<typename... Args>
void gPrint (Args...args)
 Prints a sequence of things.
template<typename... Args>
void gInfo (Args...args)
 Prints an info string from a sequence of things.
template<typename... Args>
void gWarn (Args...args)
 Prints a warning string from a sequence of things.
template<typename... Args>
void gDebug (Args...args)
 Prints a debug string from a sequence of things; prints nothing if NDEBUG is defined.
template<typename... Args>
void gError (Args...args)
 Prints error message.
void gFlush ()
bool bindThreadToProcessor (int galois_thread_id)
 Bind thread specified by id to the correct OS thread.
unsigned getProcessorForThread (int galois_thread_id)
 Get physical processor id from virtual Galois thread id.
unsigned getMaxThreads ()
 Get number of threads supported.
unsigned getMaxCores ()
 Get number of cores supported.
unsigned getMaxPackages ()
 Get number of packages supported.
unsigned getPackageForThread (int galois_thread_id)
 Map thread to package.
unsigned getMaxPackageForThread (int galois_thread_id)
 Find the maximum package number for all threads up to and including id.
bool isPackageLeader (int galois_thread_id)
 is this the first thread in a package
unsigned getLeaderForThread (int galois_thread_id)
unsigned getLeaderForPackage (int galois_pkg_id)
static unsigned fillPackageID (int galois_thread_id)
static unsigned getPackageForSelf (int galois_thread_id)
 Optimized when galois_thread_id corresponds to the executing thread.
static bool isPackageLeaderForSelf (int galois_thread_id)
 Optimized when galois_thread_id corresponds to the executing thread.
void LockPairOrdered (PaddedLock< true > &L1, PaddedLock< true > &L2)
bool TryLockPairOrdered (PaddedLock< true > &L1, PaddedLock< true > &L2)
void UnLockPairOrdered (PaddedLock< true > &L1, PaddedLock< true > &L2)
void LockPairOrdered (PaddedLock< false > &L1, PaddedLock< false > &L2)
bool TryLockPairOrdered (PaddedLock< false > &L1, PaddedLock< false > &L2)
void UnLockPairOrdered (PaddedLock< false > &L1, PaddedLock< false > &L2)
void LockPairOrdered (SimpleLock< true > &L1, SimpleLock< true > &L2)
bool TryLockPairOrdered (SimpleLock< true > &L1, SimpleLock< true > &L2)
void UnLockPairOrdered (SimpleLock< true > &L1, SimpleLock< true > &L2)
void LockPairOrdered (SimpleLock< false > &L1, SimpleLock< false > &L2)
bool TryLockPairOrdered (SimpleLock< false > &L1, SimpleLock< false > &L2)
void UnLockPairOrdered (SimpleLock< false > &L1, SimpleLock< false > &L2)
static unsigned getTID ()
void initTID ()

Variables

__thread unsigned PACKAGE_ID = 0
__thread unsigned TID = 0

Detailed Description

Low-level, Galois-agnostic functionality.


Function Documentation

static void Galois::Runtime::LL::asmPause (  )  [inline, static]
bool Galois::Runtime::LL::bindThreadToProcessor ( int  galois_thread_id  ) 

Bind thread specified by id to the correct OS thread.

static void Galois::Runtime::LL::compilerBarrier (  )  [inline, static]
bool Galois::Runtime::LL::EnvCheck ( const char *  parm,
int &  val 
)
bool Galois::Runtime::LL::EnvCheck ( const char *  parm  ) 

Return true if the Enviroment variable is set.

static unsigned Galois::Runtime::LL::fillPackageID ( int  galois_thread_id  )  [inline, static]
static void Galois::Runtime::LL::flushInstructionPipeline (  )  [inline, static]
template<typename... Args>
void Galois::Runtime::LL::gDebug ( Args...  args  )  [inline]

Prints a debug string from a sequence of things; prints nothing if NDEBUG is defined.

void Galois::Runtime::LL::gDebugStr ( const std::string &  s  ) 

Prints a debug string (for easy parsing).

template<typename... Args>
void Galois::Runtime::LL::gError ( Args...  args  )  [inline]

Prints error message.

void Galois::Runtime::LL::gErrorStr ( const std::string &  s  ) 

Prints an error string (for easy parsing).

unsigned Galois::Runtime::LL::getLeaderForPackage ( int  galois_pkg_id  ) 
unsigned Galois::Runtime::LL::getLeaderForThread ( int  galois_thread_id  ) 
unsigned Galois::Runtime::LL::getMaxCores (  ) 

Get number of cores supported.

unsigned Galois::Runtime::LL::getMaxPackageForThread ( int  galois_thread_id  ) 

Find the maximum package number for all threads up to and including id.

unsigned Galois::Runtime::LL::getMaxPackages (  ) 

Get number of packages supported.

unsigned Galois::Runtime::LL::getMaxThreads (  ) 

Get number of threads supported.

static unsigned Galois::Runtime::LL::getPackageForSelf ( int  galois_thread_id  )  [inline, static]

Optimized when galois_thread_id corresponds to the executing thread.

unsigned Galois::Runtime::LL::getPackageForThread ( int  galois_thread_id  ) 

Map thread to package.

unsigned Galois::Runtime::LL::getProcessorForThread ( int  galois_thread_id  ) 

Get physical processor id from virtual Galois thread id.

static unsigned Galois::Runtime::LL::getTID (  )  [inline, static]
void Galois::Runtime::LL::gFlush (  ) 
template<typename... Args>
void Galois::Runtime::LL::gInfo ( Args...  args  )  [inline]

Prints an info string from a sequence of things.

void Galois::Runtime::LL::gInfoStr ( const std::string &  s  ) 

Prints an info string (for easy parsing).

template<typename... Args>
void Galois::Runtime::LL::gPrint ( Args...  args  )  [inline]

Prints a sequence of things.

void Galois::Runtime::LL::gPrintStr ( const std::string &  s  ) 

Prints a string.

template<typename... Args>
void Galois::Runtime::LL::gWarn ( Args...  args  )  [inline]

Prints a warning string from a sequence of things.

void Galois::Runtime::LL::gWarnStr ( const std::string &  s  ) 

Prints a warning string (for easy parsing).

void Galois::Runtime::LL::initTID (  ) 
bool Galois::Runtime::LL::isPackageLeader ( int  galois_thread_id  ) 

is this the first thread in a package

static bool Galois::Runtime::LL::isPackageLeaderForSelf ( int  galois_thread_id  )  [inline, static]

Optimized when galois_thread_id corresponds to the executing thread.

void Galois::Runtime::LL::LockPairOrdered ( SimpleLock< false > &  L1,
SimpleLock< false > &  L2 
)
void Galois::Runtime::LL::LockPairOrdered ( SimpleLock< true > &  L1,
SimpleLock< true > &  L2 
)
void Galois::Runtime::LL::LockPairOrdered ( PaddedLock< false > &  L1,
PaddedLock< false > &  L2 
)
void Galois::Runtime::LL::LockPairOrdered ( PaddedLock< true > &  L1,
PaddedLock< true > &  L2 
)
template<typename T >
bool Galois::Runtime::LL::toString ( std::ostringstream &  os,
const T &  val 
) [inline]

Converts a sequence of things to a string.

bool Galois::Runtime::LL::TryLockPairOrdered ( SimpleLock< false > &  L1,
SimpleLock< false > &  L2 
)
bool Galois::Runtime::LL::TryLockPairOrdered ( SimpleLock< true > &  L1,
SimpleLock< true > &  L2 
)
bool Galois::Runtime::LL::TryLockPairOrdered ( PaddedLock< false > &  L1,
PaddedLock< false > &  L2 
)
bool Galois::Runtime::LL::TryLockPairOrdered ( PaddedLock< true > &  L1,
PaddedLock< true > &  L2 
)
void Galois::Runtime::LL::UnLockPairOrdered ( SimpleLock< false > &  L1,
SimpleLock< false > &  L2 
)
void Galois::Runtime::LL::UnLockPairOrdered ( SimpleLock< true > &  L1,
SimpleLock< true > &  L2 
)
void Galois::Runtime::LL::UnLockPairOrdered ( PaddedLock< false > &  L1,
PaddedLock< false > &  L2 
)
void Galois::Runtime::LL::UnLockPairOrdered ( PaddedLock< true > &  L1,
PaddedLock< true > &  L2 
)

Variable Documentation

__thread unsigned Galois::Runtime::LL::PACKAGE_ID = 0
__thread unsigned Galois::Runtime::LL::TID = 0

Generated on 2 Nov 2013 for Galois by  doxygen 1.6.1