-#define MAX_GRAN_DEBUG_OPTION 14
-#define GRAN_DEBUG_MASK(n) ((nat)(ldexp(1,n)))
-#define MAX_GRAN_DEBUG_MASK ((nat)(ldexp(1,(MAX_GRAN_DEBUG_OPTION+1))-1))
-
-struct GRAN_FLAGS {
- struct GRAN_STATS_FLAGS GranSimStats; /* profile and stats output */
- struct GRAN_COST_FLAGS Costs; /* cost metric for simulation */
- struct GRAN_DEBUG_FLAGS Debug; /* debugging options */
-
- nat maxThreads; /* ToDo: share with THREADED_RTS and GUM */
- /* rtsBool labelling; */
- nat packBufferSize;
- nat packBufferSize_internal;
-
- PEs proc; /* number of processors */
- rtsBool Fishing; /* Simulate GUM style fishing mechanism? */
- nat maxFishes; /* max number of spark or thread steals */
- rtsTime time_slice; /* max time slice of one reduction thread */
-
- /* GrAnSim-Light: This version puts no bound on the number of
- processors but in exchange doesn't model communication costs
- (all communication is 0 cost). Mainly intended to show maximal
- degree of parallelism in the program (*not* to simulate the
- execution on a real machine). */
-
- rtsBool Light;
-
- rtsBool DoFairSchedule ; /* fair scheduling alg? default: unfair */
- rtsBool DoAsyncFetch; /* async. communication? */
- rtsBool DoStealThreadsFirst; /* prefer threads over sparks when stealing */
- rtsBool DoAlwaysCreateThreads; /* eager thread creation */
- rtsBool DoBulkFetching; /* bulk fetching */
- rtsBool DoThreadMigration; /* allow to move threads */
- nat FetchStrategy; /* what to do when waiting for data */
- rtsBool PreferSparksOfLocalNodes; /* prefer local over global sparks */
- rtsBool DoPrioritySparking; /* sparks sorted by priorities */
- rtsBool DoPriorityScheduling; /* threads sorted by priorities */
- nat SparkPriority; /* threshold for cut-off mechanism */
- nat SparkPriority2;
- rtsBool RandomPriorities;
- rtsBool InversePriorities;
- rtsBool IgnorePriorities;
- nat ThunksToPack; /* number of thunks in packet + 1 */
- rtsBool RandomSteal; /* steal spark/thread from random proc */
- rtsBool NoForward; /* no forwarding of fetch messages */
-
- /* unsigned int debug; */
- /* rtsBool event_trace; */
- /* rtsBool event_trace_all; */