|
Cabana 0.8.0-dev
|
Logical grid extension of Kokkos parallel iteration. More...
#include <Cabana_Grid_IndexSpace.hpp>#include <Cabana_Grid_LocalGrid.hpp>#include <Kokkos_Profiling_ScopedRegion.hpp>#include <string>

Go to the source code of this file.
Namespaces | |
| namespace | Cabana |
| Core: particle data structures and algorithms. | |
Functions | |
| template<class FunctorType, class ExecutionSpace, long N> | |
| void | Cabana::Grid::grid_parallel_for (const std::string &label, const ExecutionSpace &exec_space, const IndexSpace< N > &index_space, const FunctorType &functor) |
| Execute a functor in parallel with a multidimensional execution policy specified by the given index space. | |
| template<class FunctorType, class WorkTag, class ExecutionSpace, long N> | |
| void | Cabana::Grid::grid_parallel_for (const std::string &label, const ExecutionSpace &exec_space, const IndexSpace< N > &index_space, const WorkTag &work_tag, const FunctorType &functor) |
| Execute a functor with a work tag in parallel with a multidimensional execution policy specified by the given index space. | |
| template<class FunctorType, class ExecutionSpace, class MeshType, class DecompositionType, class EntityType> | |
| void | Cabana::Grid::grid_parallel_for (const std::string &label, const ExecutionSpace &exec_space, const LocalGrid< MeshType > &local_grid, const DecompositionType &decomposition, const EntityType &entity_type, const FunctorType &functor) |
| Execute a functor in parallel with a multidimensional execution policy specified by the given local grid, decomposition, and entity type. The loop indices are local. | |
| template<class FunctorType, class WorkTag, class ExecutionSpace, class MeshType, class DecompositionType, class EntityType> | |
| void | Cabana::Grid::grid_parallel_for (const std::string &label, const ExecutionSpace &exec_space, const LocalGrid< MeshType > &local_grid, const DecompositionType &decomposition, const EntityType &entity_type, const WorkTag &work_tag, const FunctorType &functor) |
| Execute a functor with a work tag in parallel with a multidimensional execution policy specified by the given local grid, decomposition, and entity type. The loop indices are local. | |
| template<class FunctorType, class ExecutionSpace, std::size_t NumSpace> | |
| void | Cabana::Grid::grid_parallel_for (const std::string &label, const ExecutionSpace &exec_space, const Kokkos::Array< IndexSpace< 4 >, NumSpace > &index_spaces, const FunctorType &functor) |
| Execute a functor in parallel with a linear execution policy specified by the set of given index spaces. 4D specialization. | |
| template<class FunctorType, class ExecutionSpace, std::size_t NumSpace> | |
| void | Cabana::Grid::grid_parallel_for (const std::string &label, const ExecutionSpace &exec_space, const Kokkos::Array< IndexSpace< 3 >, NumSpace > &index_spaces, const FunctorType &functor) |
| Execute a functor in parallel with a linear execution policy specified by the set of given index spaces. 3D specialization. | |
| template<class FunctorType, class ExecutionSpace, std::size_t NumSpace> | |
| void | Cabana::Grid::grid_parallel_for (const std::string &label, const ExecutionSpace &exec_space, const Kokkos::Array< IndexSpace< 2 >, NumSpace > &index_spaces, const FunctorType &functor) |
| Execute a functor in parallel with a linear execution policy specified by the set of given index spaces. 2D specialization. | |
| template<class FunctorType, class ExecutionSpace, long N, class ReduceType> | |
| void | Cabana::Grid::grid_parallel_reduce (const std::string &label, const ExecutionSpace &exec_space, const IndexSpace< N > &index_space, const FunctorType &functor, ReduceType &reducer) |
| Execute a reduction functor in parallel with a multidimensional execution policy specified by the given index space. | |
| template<class FunctorType, class WorkTag, class ExecutionSpace, long N, class ReduceType> | |
| void | Cabana::Grid::grid_parallel_reduce (const std::string &label, const ExecutionSpace &exec_space, const IndexSpace< N > &index_space, const WorkTag &work_tag, const FunctorType &functor, ReduceType &reducer) |
| Execute a reduction functor with a work tag in parallel with a multidimensional execution policy specified by the given index space. | |
| template<class FunctorType, class ExecutionSpace, class MeshType, class DecompositionType, class EntityType, class ReduceType> | |
| void | Cabana::Grid::grid_parallel_reduce (const std::string &label, const ExecutionSpace &exec_space, const LocalGrid< MeshType > &local_grid, const DecompositionType &decomposition, const EntityType &entity_type, const FunctorType &functor, ReduceType &reducer) |
| Execute a reduction functor in parallel with a multidimensional execution policy specified by the given local grid, decomposition, and entity type. The loop indices are local. | |
| template<class FunctorType, class WorkTag, class ExecutionSpace, class MeshType, class DecompositionType, class EntityType, class ReduceType> | |
| void | Cabana::Grid::grid_parallel_reduce (const std::string &label, const ExecutionSpace &exec_space, const LocalGrid< MeshType > &local_grid, const DecompositionType &decomposition, const EntityType &entity_type, const WorkTag &work_tag, const FunctorType &functor, ReduceType &reducer) |
| Execute a reduction functor with a work tag in parallel with a multidimensional execution policy specified by the given local grid, decomposition, and entity type. The loop indices are local. | |
Logical grid extension of Kokkos parallel iteration.
|
inline |
Execute a functor in parallel with a multidimensional execution policy specified by the given index space.
| FunctorType | The functor type to execute. |
| ExecutionSpace | The execution space type. |
| N | The dimension of the index space. |
| label | Parallel region label. |
| exec_space | An execution space instance. |
| index_space | The index space over which to loop. |
| functor | The functor to execute. |
|
inline |
Execute a functor with a work tag in parallel with a multidimensional execution policy specified by the given index space.
| FunctorType | The functor type to execute. |
| WorkTag | The functor execution tag. |
| ExecutionSpace | The execution space type. |
| N | The dimension of the index space. |
| label | Parallel region label. |
| exec_space | An execution space instance. |
| index_space | The index space over which to loop. |
| work_tag | The functor execution tag. |
| functor | The functor to execute. |
|
inline |
Execute a functor in parallel with a linear execution policy specified by the set of given index spaces. 2D specialization.
| FunctorType | The functor type to execute. |
| ExecutionSpace | The execution space type. |
| NumSpace | The number of index spaces. |
| label | Parallel region label. |
| exec_space | An execution space instance. |
| index_spaces | The set of index spaces over which to loop. |
| functor | The functor to execute. Signature is f(space_id,i,j) space_id is the index of the index space in index_spaces. |
|
inline |
Execute a functor in parallel with a linear execution policy specified by the set of given index spaces. 3D specialization.
| FunctorType | The functor type to execute. |
| ExecutionSpace | The execution space type. |
| NumSpace | The number of index spaces. |
| label | Parallel region label. |
| exec_space | An execution space instance. |
| index_spaces | The set of index spaces over which to loop. |
| functor | The functor to execute. Signature is f(space_id,i,j,k) space_id is the index of the index space in index_spaces. |
|
inline |
Execute a functor in parallel with a linear execution policy specified by the set of given index spaces. 4D specialization.
| FunctorType | The functor type to execute. |
| ExecutionSpace | The execution space type. |
| NumSpace | The number of index spaces. |
| label | Parallel region label. |
| exec_space | An execution space instance. |
| index_spaces | The set of index spaces over which to loop. |
| functor | The functor to execute. Signature is f(space_id,i,j,k,l) space_id is the index of the index space in index_spaces. |
|
inline |
Execute a functor in parallel with a multidimensional execution policy specified by the given local grid, decomposition, and entity type. The loop indices are local.
| FunctorType | The functor type to execute. |
| ExecutionSpace | The execution space type. |
| MeshType | The mesh type of the local grid. |
| label | Parallel region label. |
| exec_space | An execution space instance. |
| local_grid | The local grid to iterate over. |
| decomposition | The decomposition type of the entities (own,ghost). |
| entity_type | The entity type over which to loop. |
| functor | The functor to execute. |
|
inline |
Execute a functor with a work tag in parallel with a multidimensional execution policy specified by the given local grid, decomposition, and entity type. The loop indices are local.
| FunctorType | The functor type to execute. |
| WorkTag | The functor work tag. |
| ExecutionSpace | The execution space type. |
| MeshType | The mesh type of the local grid. |
| label | Parallel region label. |
| exec_space | An execution space instance. |
| local_grid | The local grid to iterate over. |
| decomposition | The decomposition type of the entities (own,ghost). |
| entity_type | The entity type over which to loop. |
| work_tag | The functor execution tag. |
| functor | The functor to execute. |
|
inline |
Execute a reduction functor in parallel with a multidimensional execution policy specified by the given index space.
| FunctorType | The functor type to execute. |
| ExecutionSpace | The execution space type. |
| N | The dimension of the index space. |
| ReduceType | The reduction type. |
| label | Parallel region label. |
| exec_space | An execution space instance. |
| index_space | The index space over which to loop. |
| functor | The functor to execute. |
| reducer | The parallel reduce result. |
|
inline |
Execute a reduction functor with a work tag in parallel with a multidimensional execution policy specified by the given index space.
| FunctorType | The functor type to execute. |
| WorkTag | The functor execution tag. |
| ExecutionSpace | The execution space type. |
| N | The dimension of the index space. |
| ReduceType | The reduction type. |
| label | Parallel region label. |
| exec_space | An execution space instance. |
| index_space | The index space over which to loop. |
| work_tag | The functor execution tag. |
| functor | The functor to execute. |
| reducer | The parallel reduce result. |
|
inline |
Execute a reduction functor in parallel with a multidimensional execution policy specified by the given local grid, decomposition, and entity type. The loop indices are local.
| FunctorType | The functor type to execute. |
| ExecutionSpace | The execution space type. |
| MeshType | The mesh type of the local grid. |
| ReduceType | The reduction type. |
| label | Parallel region label. |
| exec_space | An execution space instance. |
| local_grid | The local grid to iterate over. |
| decomposition | The decomposition type of the entities (own,ghost). |
| entity_type | The entity type over which to loop. |
| functor | The functor to execute. |
| reducer | The parallel reduce result. |
|
inline |
Execute a reduction functor with a work tag in parallel with a multidimensional execution policy specified by the given local grid, decomposition, and entity type. The loop indices are local.
| FunctorType | The functor type to execute. |
| WorkTag | The functor work tag. |
| ExecutionSpace | The execution space type. |
| MeshType | The mesh type of the local grid. |
| ReduceType | The reduction type. |
| label | Parallel region label. |
| exec_space | An execution space instance. |
| decomposition | The decomposition type of the entities (own,ghost). |
| local_grid | The local grid to iterate over. |
| entity_type | The entity type over which to loop. |
| work_tag | The functor execution tag. |
| functor | The functor to execute. |
| reducer | The parallel reduce result. |