|
class | Atomic |
| Provides atomic operations for integral types as a wrapper around the Interlocked class. Adds support for signed and unsigned 32- and 64-bit integers. Supports addition, subtraction (for signed types), increment, decrement, bitwise And, and bitwise Or. More...
|
|
class | ForAction |
| Class encapsulating all of the possible callbacks in a Parallel.For-style loop. This includes Parallel.For, Parallel.ForReduction<T>, Parallel.ForCollapse, and Parallel.ForReductionCollapse<T>. More...
|
|
class | IntWrapper |
| Wrapper around integers as a reference type. More...
|
|
class | DAG |
| DAG for maintaining task dependencies. More...
|
|
class | Region |
| Contains relevant internal information about parallel regions, including the threads and the function to be executed. Provides a region-wide lock and SpinWait objects for each thread. More...
|
|
class | ForkedRegion |
| Contains the Region object and controls for creating and starting a parallel region. More...
|
|
class | Lock |
| A lock that can be used in a parallel region. Also contains instance methods for locking. Available methods are Set, Unset, and Test. More...
|
|
class | Parallel |
| The main class of DotMP. Contains all the main methods for parallelism. For users, this is the main class you want to worry about, along with Lock, Shared, Atomic, and GPU. More...
|
|
interface | IScheduler |
| Interface for user-defined schedulers. More...
|
|
class | Schedule |
| Represents the various scheduling strategies for parallel for loops. Detailed explanations of each scheduling strategy are provided alongside each getter. If no schedule is specified, the default is Schedule.Static. More...
|
|
class | SectionsContainer |
| Static class that contains necessary information for sections. Sections allow for the user to submit multiple actions to be executed in parallel. A sections region contains a collection of actions to be executed, specified as Parallel.Section directives. More information can be found in the Parallel.Sections documentation. More...
|
|
class | Shared |
| A shared variable that can be used in a parallel region. This allows for a variable to be declared inside of a parallel region that is shared among all threads, which has some nice use cases. More...
|
|
class | SharedEnumerable |
| A specialization of Shared for items that can be indexed with square brackets. The DotMP-parallelized Conjugate Gradient example shows this off fairly well inside of the SpMV function. More...
|
|
class | TaskingContainer |
| A simple container for a Queue<Action> for managing tasks. Will grow in complexity as dependencies are added and a dependency graph must be generated. More...
|
|
class | TaskUUID |
| Task UUID as returned from Parallel.Task. More...
|
|
class | WorkShare |
| Contains all relevant information about a parallel for loop. Contains a collection of Thr objects, the loop's start and end iterations, the chunk size, the number of threads, and the number of threads that have completed their work. More...
|
|
|
delegate void | ActionRef< T > (ref T a, int i) |
| Action delegate that takes an int and a ref T as parameters. More...
|
|
delegate void | ActionRef2< T > (ref T a, int i, int j) |
| Action delegate that takes two ints and a ref T as parameters. More...
|
|
delegate void | ActionRef3< T > (ref T a, int i, int j, int k) |
| Action delegate that takes three ints and a ref T as parameters. More...
|
|
delegate void | ActionRef4< T > (ref T a, int i, int j, int k, int l) |
| Action delegate that takes four ints and a ref T as parameters. More...
|
|
delegate void | ActionRefN< T > (ref T a, int[] i) |
| Action delegate that takes an int[] and a ref T as parameters. More...
|
|
Enum that represents the different operations that can be used in a for-reduction. The operations are Add, Subtract, Multiply, BinaryAnd, BinaryOr, BinaryXor, BooleanAnd, BooleanOr, Min, and Max.
Enumerator |
---|
Add | Represents a reduction using the '+' operator.
|
Subtract | Represents a reduction using the '-' operator.
|
Multiply | Represents a reduction using the '*' operator.
|
BinaryAnd | Represents a reduction using the '&' operator;
|
BinaryOr | Represents a reduction using the '|' operator.
|
BinaryXor | Represents a reduction using the '^' operator.
|
BooleanAnd | Represents a reduction using the '&&' operator.
|
BooleanOr | Represents a reduction using the '||' operator.
|
Min | Represents a reduction using the Math.Min() function.
|
Max | Represents a reduction using the Math.Max() function.
|