SerialAsync.h File Reference

Smarts classes for times when you want no threads but you do want dataflow evaluation. More...

#include <list>
#include <vector>
#include <map>
#include <set>
#include <functional>
#include <stack>
#include "Pooma/Configuration.h"
#include "Threads/IterateSchedulers/IterateScheduler.h"
#include "Threads/IterateSchedulers/Runnable.h"
#include "Utilities/PAssert.h"

Include dependency graph for SerialAsync.h:


Classes

struct  Smarts::SerialAsync
 Tag class for specializing IterateScheduler, Iterate and DataObject. More...
class  Smarts::Iterate< SerialAsync >
 Iterate<SerialAsync> is used to implement the SerialAsync scheduling policy. More...
struct  Smarts::SystemContext
class  Smarts::IterateScheduler< SerialAsync >
 Implements a asynchronous scheduler for a data driven execution. More...
class  Smarts::DataObject< SerialAsync >
 Implements a asynchronous scheduler for a data driven execution. More...
class  Smarts::DataObject< SerialAsync >::Request
 The type for a request.

Namespaces

namespace  Smarts

Functions

void Smarts::add (RunnablePtr_t)
 Schedulers need to implement this function to add a runnable to the execution queue.
void Smarts::concurrency (int)
int Smarts::concurrency ()
void Smarts::wait ()
void Smarts::mustRunOn ()

Detailed Description

Smarts classes for times when you want no threads but you do want dataflow evaluation.

SerialAsync IterateScheduler is a policy template to create a dependence graphs and executes the graph respecting the dependencies without using threads. There is no (thread level) parallelism, but Iterates may be executed out-of-order with respect to the program text. Also this scheduler is used for message based parallelism in which case asyncronous execution leads to reduced communication latencies.


Generated on Wed Mar 16 06:19:03 2011 for FreePOOMA by  doxygen 1.5.9