Scheduling policies for Galois iterators. More...
Namespaces | |
namespace | anonymous_namespace{WorkList.h} |
Classes | |
struct | ChunkHeader |
class | AltChunkedQueue |
class | AltChunkedStack |
class | StealingQueue |
struct | AltChunkedMaster |
class | AltChunkedLIFO |
class | AltChunkedFIFO |
class | BulkSynchronous |
Bulk-synchronous scheduling. More... | |
struct | squeue |
struct | squeue< false, PS, TQ > |
struct | ChunkedMaster |
Common functionality to all chunked worklists. More... | |
class | ChunkedFIFO |
Chunked FIFO. More... | |
class | ChunkedLIFO |
Chunked LIFO. More... | |
class | dChunkedFIFO |
Distributed chunked FIFO. More... | |
class | dChunkedLIFO |
Distributed chunked LIFO. More... | |
class | dChunkedBag |
Distributed chunked bag. More... | |
struct | ExternRef |
struct | FIFO |
Simple FIFO worklist (not scalable). More... | |
struct | GFIFO |
struct | LIFO |
Simple LIFO worklist (not scalable). More... | |
struct | NoGlobalQueue |
struct | LocalQueue |
struct | OrderedByIntegerMetric |
Approximate priority scheduling. More... | |
class | OrderedList |
struct | OwnerComputes |
struct | StableIterator |
class | ConExtListNode |
class | ConExtIterator |
class | ConExtLinkedStack |
class | ConExtLinkedQueue |
struct | DummyIndexer |
Scheduling policies for Galois iterators.
Unless you have very specific scheduling requirement, dChunkedLIFO or dChunkedFIFO is a reasonable scheduling policy. If you need approximate priority scheduling, use OrderedByIntegerMetric. For debugging, you may be interested in FIFO or LIFO, which try to follow serial order exactly.
The way to use a worklist is to pass it as a template parameter to for_each(). For example,