DotMP
Namespaces | Classes | Enumerations | Functions
DotMP Namespace Reference

Namespaces

namespace  Exceptions
 
namespace  GPU
 
namespace  Schedulers
 

Classes

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...
 

Enumerations

enum class  Operations {
  Add , Subtract , Multiply , BinaryAnd ,
  BinaryOr , BinaryXor , BooleanAnd , BooleanOr ,
  Min , Max
}
 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. More...
 

Functions

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...
 

Enumeration Type Documentation

◆ Operations

enum DotMP.Operations
strong

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.

Function Documentation

◆ ActionRef2< T >()

delegate void DotMP.ActionRef2< T > ( ref T  a,
int  i,
int  j 
)

Action delegate that takes two ints and a ref T as parameters.

Template Parameters
TType of the ref parameter.
Parameters
aThe ref parameter.
iThe first int parameter.
jThe second int parameter.

◆ ActionRef3< T >()

delegate void DotMP.ActionRef3< T > ( ref T  a,
int  i,
int  j,
int  k 
)

Action delegate that takes three ints and a ref T as parameters.

Template Parameters
TType of the ref parameter.
Parameters
aThe ref parameter.
iThe first int parameter.
jThe second int parameter.
kThe third int parameter.

◆ ActionRef4< T >()

delegate void DotMP.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.

Template Parameters
TType of the ref parameter.
Parameters
aThe ref parameter.
iThe first int parameter.
jThe second int parameter.
kThe third int parameter.
lThe fourth int parameter.

◆ ActionRef< T >()

delegate void DotMP.ActionRef< T > ( ref T  a,
int  i 
)

Action delegate that takes an int and a ref T as parameters.

Template Parameters
TType of the ref parameter.
Parameters
aThe ref parameter.
iThe int parameter.

◆ ActionRefN< T >()

delegate void DotMP.ActionRefN< T > ( ref T  a,
int[]  i 
)

Action delegate that takes an int[] and a ref T as parameters.

Template Parameters
TType of the ref parameter.
Parameters
aThe ref parameter.
iThe int[] parameter.