|
FreePOOMA
2.4.1
|
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"
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 () |
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.
1.7.6.1