From 09550518ff44c19956add95420856b657106515b Mon Sep 17 00:00:00 2001
From: computablee This is the complete list of members for DotMPTests.ParallelTests, including all inherited members. Tests for the DotMP library. Verifies that absent parameters shouldn't throw exceptions. class DotMP.CannotPerformNestedWorksharingException Exception thrown if a Parallel.Single is created inside of a Parallel.For or Parallel.ForReduction<T>. More...
+
+class DotMP.InvalidArgumentsException
+ Exception thrown if invalid arguments are specified to DotMP functions. More...
diff --git a/classDotMPTests_1_1ParallelTests-members.html b/classDotMPTests_1_1ParallelTests-members.html
index 32bfbbff..2699797c 100644
--- a/classDotMPTests_1_1ParallelTests-members.html
+++ b/classDotMPTests_1_1ParallelTests-members.html
@@ -72,17 +72,19 @@
diff --git a/annotated.html b/annotated.html
index 65ca7abb..34815ff3 100644
--- a/annotated.html
+++ b/annotated.html
@@ -74,21 +74,22 @@
Namespaces
CNotInParallelRegionException Exception thrown if a parallel-only construct is used outside of a parallel region CCannotPerformNestedParallelismException Exception thrown if a Parallel.ParallelRegion is created inside of another Parallel.ParallelRegion
- CCannotPerformNestedWorksharingException Exception thrown if a Parallel.Single is created inside of a Parallel.For or Parallel.ForReduction<T>
- CRegion 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
- CForkedRegion Contains the Region object and controls for creating and starting a parallel region
- CThr Encapsulates a Thread object with information about its progress through a parallel for loop. For keeping track of its progress through a parallel for loop, we keep track of the current next iteration of the loop to be worked on, and the iteration the current thread is currently working on
- CWorkShare 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
- CIter Contains all of the scheduling code for parallel for loops
- CLock A lock that can be used in a parallel region. Also contains instance methods for locking. Available methods are Set, Unset, and Test
- CParallel 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, and Atomic
- CSectionsContainer 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
- CShared 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
- CSharedEnumerable 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
- CTaskingContainer 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
- CTaskUUID Task UUID as returned from Parallel.Task
- CForAction 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>
- ▼NDotMPTests
+ CParallelTests Tests for the DotMP library
+ CInvalidArgumentsException Exception thrown if invalid arguments are specified to DotMP functions
+ CRegion 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
+ CForkedRegion Contains the Region object and controls for creating and starting a parallel region
+ CThr Encapsulates a Thread object with information about its progress through a parallel for loop. For keeping track of its progress through a parallel for loop, we keep track of the current next iteration of the loop to be worked on, and the iteration the current thread is currently working on
+ CWorkShare 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
+ CIter Contains all of the scheduling code for parallel for loops
+ CLock A lock that can be used in a parallel region. Also contains instance methods for locking. Available methods are Set, Unset, and Test
+ CParallel 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, and Atomic
+ CSectionsContainer 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
+ CShared 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
+ CSharedEnumerable 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
+ CTaskingContainer 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
+ CTaskUUID Task UUID as returned from Parallel.Task
+ CForAction 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>
+ ▼NDotMPTests CParallelTests Tests for the DotMP library
diff --git a/classDotMPTests_1_1ParallelTests.html b/classDotMPTests_1_1ParallelTests.html
index daf11dde..7c48a892 100644
--- a/classDotMPTests_1_1ParallelTests.html
+++ b/classDotMPTests_1_1ParallelTests.html
@@ -69,7 +69,6 @@
Public Member Functions |
Private Member Functions |
Static Private Member Functions |
-Private Attributes |
List of all members
-
Public Member Functions
- ParallelTests (ITestOutputHelper outputwriter) void Parallel_performance_should_be_higher () Tests to make sure that parallel performance is higher than sequential performance. More...
@@ -206,6 +203,12 @@
void Non_parallel_GetThreadNum_should_except () Verifies that GetThreadNum used outside of a parallel region throws an exception. More...
+
+void Absent_params_shouldnt_except ()
+ Verifies that absent parameters shouldn't throw exceptions. More...
+
+void Invalid_params_should_except ()
+ Verifies that invalid parameters throw exceptions. More...
@@ -230,17 +233,12 @@
Private Member Functions
static uint CreateRegion () Creates a parallel region and returns the number of threads spawned. More...
-
-
-
-Private Attributes
-readonly ITestOutputHelper writer Detailed Description
Constructor & Destructor Documentation
-
-◆ ParallelTests()
+Member Function Documentation
+
+◆ Absent_params_shouldnt_except()
@@ -263,9 +260,10 @@
-
DotMPTests.ParallelTests.ParallelTests
+ void DotMPTests.ParallelTests.Absent_params_shouldnt_except
(
- ITestOutputHelper
- outputwriter )
+ )
+
Member Function Documentation
◆ Atomic_works()
@@ -594,6 +592,33 @@ DotMP.Parallel.InParallel() works.
+
|
+ +inline | +
Verifies that invalid parameters throw exceptions.
+
-
|
- -private | -
+ DotMP
+
+ |
+
This is the complete list of members for DotMP.InvalidArgumentsException, including all inherited members.
+InvalidArgumentsException(string msg) | DotMP.InvalidArgumentsException | inline |
+ DotMP
+
+ |
+
Exception thrown if invalid arguments are specified to DotMP functions. + More...
++Public Member Functions | |
InvalidArgumentsException (string msg) | |
Constructor with a message. More... | |
Exception thrown if invalid arguments are specified to DotMP functions.
+
+
|
+ +inline | +
Constructor with a message.
+msg | The message to associate with the exception. |
InvalidArgumentsException | Thrown if any provided arguments are invalid. |
CannotPerformNestedParallelismException | Thrown if ParallelRegion is called from within another ParallelRegion. |
InvalidArgumentsException | Thrown if any provided arguments are invalid. |
CannotPerformNestedParallelismException | Thrown if ParallelRegion is called from within another ParallelRegion. |
InvalidArgumentsException | Thrown if any provided arguments are invalid. |
CannotPerformNestedParallelismException | Thrown if ParallelRegion is called from within another ParallelRegion. |
InvalidArgumentsException | Thrown if any provided arguments are invalid. |
CannotPerformNestedParallelismException | Thrown if ParallelRegion is called from within another ParallelRegion. |
InvalidArgumentsException | Thrown if any provided arguments are invalid. |
CannotPerformNestedParallelismException | Thrown if ParallelRegion is called from within another ParallelRegion. |
InvalidArgumentsException | Thrown if any provided arguments are invalid. |
CannotPerformNestedParallelismException | Thrown if ParallelRegion is called from within another ParallelRegion. |
InvalidArgumentsException | Thrown if any provided arguments are invalid. |
CannotPerformNestedParallelismException | Thrown if ParallelRegion is called from within another ParallelRegion. |
InvalidArgumentsException | Thrown if any provided arguments are invalid. |
CannotPerformNestedParallelismException | Thrown if ParallelRegion is called from within another ParallelRegion. |
InvalidArgumentsException | Thrown if any provided arguments are invalid. |
CannotPerformNestedParallelismException | Thrown if ParallelRegion is called from within another ParallelRegion. |
InvalidArgumentsException | Thrown if any provided arguments are invalid. |
CannotPerformNestedParallelismException | Thrown if ParallelRegion is called from within another ParallelRegion. |
InvalidArgumentsException | Thrown if any provided arguments are invalid. |
CannotPerformNestedParallelismException | Thrown if ParallelRegion is called from within another ParallelRegion. |
InvalidArgumentsException | Thrown if any provided arguments are invalid. |
CannotPerformNestedParallelismException | Thrown if ParallelRegion is called from within another ParallelRegion. |
InvalidArgumentsException | Thrown if any provided arguments are invalid. |
CannotPerformNestedParallelismException | Thrown if ParallelRegion is called from within another ParallelRegion. |
InvalidArgumentsException | Thrown if any provided arguments are invalid. |
CannotPerformNestedParallelismException | Thrown if ParallelRegion is called from within another ParallelRegion. |
InvalidArgumentsException | Thrown if any provided arguments are invalid. |
InvalidArgumentsException | Thrown if any provided arguments are invalid. |
+
|
+ +inlinestaticprivate | +
Validates all parameters passed to DotMP functions.
+start | Start of loop. |
end | End of loop. |
num_threads | Number of threads. |
chunk_size | Chunk size. |
num_tasks | Number of tasks. |
grainsize | Grainsize. |
InvalidArgumentsException | Thrown if any provided arguments are invalid. |
+ DotMP
+
+ |
+
This function supports the num_threads
optional parameter, which sets the number of threads to spawn. The default value is the number of logical threads on the system.
DotMP provides:
This function supports the schedule
optional parameter, which sets the parallel scheduler to use. Permissible values are DotMP.Schedule.Static
, DotMP.Schedule.Dynamic
, DotMP.Schedule.Guided
, and DotMP.Schedule.Runtime
. The default value is DotMP.Schedule.Static
.
This function supports the chunk_size
optional parameter, which sets the chunk size for the scheduler to use. The default value is dependent on the scheduler and is not documented, as it may change from version to version.
The behavior of DotMP.Parallel.For
is undefined if not used within a ParallelRegion
.
DotMP provides:
This function supports all of the optional parameters of ParallelRegion
and For
, and is merely a wrapper around those two functions for conciseness.
If four or fewer loops are being collapsed, overloads of ForCollapse
exist to easily collapse said loops. If greater than four loops are being collapsed, then the user should pass an array of tuples as the first argument, and accept an array of indices in the lambda.
This function supports all of the optional parameters of For
.
This function supports all of the optional parameters of ParallelRegion
and ForCollapse
, and is merely a wrapper around those two functions for conciseness.
Given the OpenMP:
This function supports the optional parameter num_threads
from DotMP.Parallel.ParallelRegion
.
DotMP provides:
This function requires an id
parameter, which is used as a unique identifier for a particular critical region. If multiple critical regions are present in the code, they should each have a unique id
. The id
should likely be a const int
or an integer literal.
Given the OpenMP:
DotMP provides:
Given the OpenMP:
DotMP provides:
Master
's behavior is left undefined if used outside of a ParallelRegion
.
DotMP provides:
The id
parameter provided should follow the same guidelines as specified in Critical
.
A Single
region is only executed once per DotMP.Parallel.ParallelRegion
, and is executed by the first thread that encounters it.
Single
's behavior is left undefined if used outside of a ParallelRegion
.
DotMP provides:
The id
parameter provided should follow the same guidelines as specified in Critical
.
Ordered
's behavior is left undefined if used outside of a For
.
DotMP provides:
This function supports depends
as a params
parameter. depends
accepts DotMP.TaskUUID
objects, and marks the created task as dependent on the tasks passed through depends
.
This function adds a task to the task queue and is deferred until a tasking point.
This function returns a DotMP.TaskUUID
object, which can be passed to future depends
clauses.
Given the OpenMP:
DotMP provides:
This function acts as a tasking point, as well as an implicit barrier.
DotMP provides:
This function supports the num_tasks
optional parameter, which specifies how many tasks into which the loop is broken up.
This function supports the grainsize
optional parameter, which specifies how many iterations belong to each individual task.
If both num_tasks
and grainsize
are provided, the num_tasks
parameter takes precedence over the grainsize
parameter.
DotMP provides:
This function supports the num_threads
optional parameter from DotMP.Parallel.ParallelRegion
.
DotMP provides:
This function supports all of the optional parameters from DotMP.Parallel.Taskloop
, except depends
.
This function does not return a DotMP.TaskUUID[]
array.
DotMP provides:
This function supports all of the optional parameters from DotMP.Parallel.ParallelRegion
and DotMP.Parallel.Taskloop
, except depends
.
This function does not return a DotMP.TaskUUID[]
array.
BWln=`-fn+8Dk
z>wAzQiY6&33A6XXpx*0KPL9mWmtxY=5Dti*LIY_;Sq?$)dp`)O+|GJI25QHdwO~-9L9LgdZO8dEk`Z$
zi%r_T0SN(_iL^g!IsVHRL0}P>DMIc4%-sckg$bx2;Ejn|fzWvK<_)U;Jw5f1y35MJ
zQSpd(jM$UQxyX9xys3WYR12tx=3#e}|f*4KK(}W{wM;Mq&IeI}7)PVL9!e9yx;O^#t}<
z(Dz&?J>y}7FF?@)W>-`gh%nSX3ld4Pw|n41~%B&pgHPWOG{R7
z-2g{dedzujJX!3{&g1FD)LIx|wG=5&0`U5Q