Template Numerical Library version\ main:8b8c8226
|
Parallel for loop for two dimensional domain of indices. More...
#include <TNL/Algorithms/ParallelFor.h>
Static Public Member Functions | |
template<typename Index , typename Function , typename... FunctionArgs> | |
static void | exec (Index startX, Index startY, Index endX, Index endY, Function f, FunctionArgs... args) |
Static method for the execution of the loop. More... | |
template<typename Index , typename Function , typename... FunctionArgs> | |
static void | exec (Index startX, Index startY, Index endX, Index endY, typename Device::LaunchConfiguration launch_config, Function f, FunctionArgs... args) |
Overload with custom launch configuration (which is ignored for TNL::Devices::Sequential). | |
Parallel for loop for two dimensional domain of indices.
Device | specifies the device where the for-loop will be executed. It can be TNL::Devices::Host, TNL::Devices::Cuda or TNL::Devices::Sequential. |
|
inlinestatic |
Static method for the execution of the loop.
Index | is the type of the loop indices. |
Function | is the type of the functor to be called in each iteration (it is usually deduced from the argument used in the function call). |
FunctionArgs | is a variadic pack of types for additional parameters that are forwarded to the functor in every iteration. |
startX | the for-loop iterates over index domain [startX,endX) x [startY,endY) . |
startY | the for-loop iterates over index domain [startX,endX) x [startY,endY) . |
endX | the for-loop iterates over index domain [startX,endX) x [startY,endY) . |
endY | the for-loop iterates over index domain [startX,endX) x [startY,endY) . |
f | is the function to be called in each iteration |
args | are additional parameters to be passed to the function f. |
The function f is called for each iteration as
where the first parameter is changing more often than the second one.