24 #ifndef GRAPHLAB_SCHEDULER_LIST_HPP
25 #define GRAPHLAB_SCHEDULER_LIST_HPP
29 #include <boost/preprocessor.hpp>
31 #define __SCHEDULER_LIST__ \
32 (("fifo", fifo_scheduler, \
33 "Standard FIFO task queue, poor parallelism, but task evaluation " \
34 "sequence is highly predictable. " \
35 "Useful for debugging and testing.")) \
36 (("sweep", sweep_scheduler, \
37 "very fast dynamic scheduler. Scans all vertices in sequence, " \
38 "running all update tasks on each vertex evaluated.")) \
39 (("priority", priority_scheduler, \
40 "Standard Priority queue, poor parallelism, but task evaluation " \
41 "sequence is highly predictable. Useful for debugging")) \
42 (("queued_fifo", queued_fifo_scheduler, \
43 "This scheduler maintains a shared FIFO queue of FIFO queues. " \
44 "Each thread maintains its own smaller in and out queues. When a " \
45 "threads out queue is too large (greater than \"queuesize\") then " \
46 "the thread puts its out queue at the end of the master queue."))
48 #include <graphlab/scheduler/fifo_scheduler.hpp>
49 #include <graphlab/scheduler/sweep_scheduler.hpp>
50 #include <graphlab/scheduler/priority_scheduler.hpp>
51 #include <graphlab/scheduler/queued_fifo_scheduler.hpp>