FreePOOMA  2.4.1
Namespaces | Defines | Typedefs | Functions | Variables
Pooma.h File Reference

Pooma.h includes all the declarations of the basic POOMA library interface functions. More...

#include "Pooma/Configuration.h"
#include "Threads/PoomaSmarts.h"
#include "Utilities/Inform.h"
#include "Utilities/Options.h"
Include dependency graph for Pooma.h:
This graph shows which files directly or indirectly include this file:

Namespaces

namespace  Pooma
namespace  Pooma::Arch

Defines

#define POOMA_PRINT(stream, text)   stream << text
#define POOMA_DEBUG(level, text)
#define POOMA_INFO(text)   POOMA_PRINT(Pooma::pinfo, text)
#define POOMA_WARN(text)   POOMA_PRINT(Pooma::pwarn, text)
#define POOMA_ERROR(text)   POOMA_PRINT(Pooma::perr, text)
#define POOMA_DECLARE_STATISTIC(var)   void increment##var(long val = 1);
#define POOMA_INIT_STATISTIC(var, name)
#define POOMA_INIT_STATISTIC_WITH(var, name, ival)
#define POOMA_INCREMENT_STATISTIC(var)   ;
#define POOMA_INCREMENT_STATISTIC_BY(var, val)   ;

Typedefs

typedef void(* Pooma::AbortHandler_t )()
typedef int Pooma::Context_t
typedef int Pooma::PatchID_t

Functions

void Pooma::Arch::dawdle ()
void Pooma::Arch::getCommandLineArguments (int &, char **&)
void Pooma::Arch::initialize ()
void Pooma::Arch::finalize ()
bool Pooma::initialize (int &argc, char **&argv, bool initRTS=true, bool getCLArgsArch=true, bool initArch=true)
bool Pooma::initialize (Pooma::Options &opts, bool initRTS=true, bool initArch=true)
bool Pooma::finalize ()
bool Pooma::finalize (bool quitRTS, bool quitArch)
void Pooma::pAbort (int errorcode=0) POOMA_ATTRIBUTE_NORETURN
void Pooma::pAbort (const char *msg, int errorcode=0) POOMA_ATTRIBUTE_NORETURN
void Pooma::stopHere ()
AbortHandler_t Pooma::abortHandler ()
AbortHandler_t Pooma::abortHandler (AbortHandler_t)
AbortHandler_t Pooma::resetAbortHandler ()
const char * Pooma::version ()
int Pooma::majorVersion ()
int Pooma::minorVersion ()
const char * Pooma::buildDate ()
bool Pooma::printStats ()
void Pooma::printStats (bool on)
bool Pooma::infoMessages ()
void Pooma::infoMessages (bool on)
bool Pooma::warnMessages ()
void Pooma::warnMessages (bool on)
bool Pooma::errorMessages ()
void Pooma::errorMessages (bool on)
void Pooma::logMessages (const char *filename)
int Pooma::debugLevel ()
void Pooma::debugLevel (int val)
bool Pooma::neverCompress ()
void Pooma::neverCompress (bool p)
bool Pooma::deferredGuardFills ()
void Pooma::deferredGuardFills (bool p)
Context_t Pooma::context ()
int Pooma::contexts ()
Scheduler_t & Pooma::scheduler ()
void Pooma::blockAndEvaluate ()
bool Pooma::hardInit ()
void Pooma::hardInit (bool on)
bool Pooma::hardRun ()
void Pooma::hardRun (bool on)
bool Pooma::lockThreads ()
void Pooma::lockThreads (bool on)
bool Pooma::blockingExpressions ()
void Pooma::blockingExpressions (bool on)
void Pooma::beginExpression ()
void Pooma::endExpression ()
int Pooma::expression ()
void Pooma::poll ()

Variables

Inform Pooma::pinfo
Inform Pooma::pwarn
Inform Pooma::perr
Inform Pooma::pdebug
Context_t Pooma::myContext_g
int Pooma::numContexts_g
int Pooma::expression_g

Detailed Description

Pooma.h includes all the declarations of the basic POOMA library interface functions.

These general routine are used to initialize, query, and shut down the POOMA library environment, including the underlying run-time system. This is generally included at the top of an application source file by just using

#include "Pooma/Pooma.h"


Define Documentation

#define POOMA_PRINT (   stream,
  text 
)    stream << text
#define POOMA_DEBUG (   level,
  text 
)
#define POOMA_INFO (   text)    POOMA_PRINT(Pooma::pinfo, text)
#define POOMA_WARN (   text)    POOMA_PRINT(Pooma::pwarn, text)
#define POOMA_ERROR (   text)    POOMA_PRINT(Pooma::perr, text)
#define POOMA_DECLARE_STATISTIC (   var)    void increment##var(long val = 1);
#define POOMA_INIT_STATISTIC (   var,
  name 
)
Value:
namespace {                                                              \
    Pooma::StatisticsData *stat##var##_s = statistics_s.add(name);         \
  }                                                                        \
  void increment##var(long val)                                            \
  {                                                                        \
    static Pooma::Mutex_t mutex;                                           \
    mutex.lock();                                                          \
    stat##var##_s->increment(val);                                         \
    mutex.unlock();                                                        \
  }
#define POOMA_INIT_STATISTIC_WITH (   var,
  name,
  ival 
)
Value:
namespace {                                                              \
    Pooma::StatisticsData *stat##var##_s = statistics_s.add(name, ival);   \
  }                                                                        \
  void increment##var(long val)                                            \
  {                                                                        \
    static Pooma::Mutex_t mutex;                                           \
    mutex.lock();                                                          \
    stat##var##_s->increment(val);                                         \
    mutex.unlock();                                                        \
  }
#define POOMA_INCREMENT_STATISTIC (   var)    ;
#define POOMA_INCREMENT_STATISTIC_BY (   var,
  val 
)    ;