DotMP
Public Member Functions | List of all members
DotMP.IScheduler Interface Reference

Interface for user-defined schedulers. More...

Inheritance diagram for DotMP.IScheduler:
Inheritance graph
[legend]

Public Member Functions

void LoopInit (int start, int end, uint num_threads, uint chunk_size)
 Called before each worksharing parallel-for loop. Used to instantiate scheduler variables. More...
 
void LoopNext (int thread_id, out int start, out int end)
 Called between each chunk to calculate the bounds of the next chunk. More...
 

Detailed Description

Interface for user-defined schedulers.

Member Function Documentation

◆ LoopInit()

void DotMP.IScheduler.LoopInit ( int  start,
int  end,
uint  num_threads,
uint  chunk_size 
)

Called before each worksharing parallel-for loop. Used to instantiate scheduler variables.

Parameters
startThe start of the loop, inclusive.
endThe end of the loop, exclusive.
num_threadsThe number of threads.
chunk_sizeProvided chunk size.

Implemented in DotMP.Schedulers.WorkStealingScheduler, DotMP.Schedulers.RuntimeScheduler, DotMP.Schedulers.GuidedScheduler, DotMP.Schedulers.DynamicScheduler, DotMP.Schedulers.StaticScheduler, DotMP.Schedule, and DotMPTests.Serial.

◆ LoopNext()

void DotMP.IScheduler.LoopNext ( int  thread_id,
out int  start,
out int  end 
)

Called between each chunk to calculate the bounds of the next chunk.

Parameters
thread_idThe thread ID to provide a chunk to.
startThe start of the chunk, inclusive.
endThe end of the chunk, exclusive.

Implemented in DotMP.Schedulers.WorkStealingScheduler, DotMP.Schedulers.RuntimeScheduler, DotMP.Schedulers.GuidedScheduler, DotMP.Schedulers.DynamicScheduler, DotMP.Schedulers.StaticScheduler, DotMP.Schedule, and DotMPTests.Serial.


The documentation for this interface was generated from the following file: