# PhasicFlow: pFlow::algorithms::KOKKOS Namespace Reference
PhasicFlow is an open-source parallel DEM (discrete element method) package for simulating granular flow. It is developed in C++ and can be exectued on both GPU (like CUDA) and CPU.

pFlow::algorithms::KOKKOS Namespace Reference

## Functions

template<typename Type , typename ExecutionSpace >
INLINE_FUNCTION_H uint32 | count (const Type *first, uint32 numElems, const Type &val)
template<typename Type , typename ExecutionSpace >
INLINE_FUNCTION_H void | fillSequence (Type *first, uint32 numElems, const Type &firstVal)
template<typename Type , typename indexType , typename ExecutionSpace >
INLINE_FUNCTION_H void | fillSelected (Type *first, const indexType *indices, const uint32 numElems, const Type val)
template<typename Type , typename indexType , typename ExecutionSpace >
INLINE_FUNCTION_H void | fillSelected (Type *first, const indexType *indices, const Type *vals, const uint32 numElems)
template<typename Type , typename ExecutionSpace >
INLINE_FUNCTION_H Type | max (const Type *first, uint32 numElems)
template<typename Type , typename ExecutionSpace >
INLINE_FUNCTION_H Type | min (const Type *first, int32 numElems)
template<typename Type , typename ExecutionSpace >
void | exclusiveScan (Type *first, Type *dFirst, uint32 numElems)
template<typename Type , typename ExecutionSpace >
void | inclusiveScan (Type *first, Type *dFirst, uint32 numElems)

## Function Documentation

## count()

INLINE_FUNCTION_H uint32 pFlow::algorithms::KOKKOS::count | ( | const Type * | first,
|  | uint32 | numElems,
|  | const Type & | val
| ) |  |

Definition at line 33 of file kokkosAlgorithms.hpp.

References pFlow::equal(), and LAMBDA_HD.

Here is the call graph for this function:

## fillSequence()

INLINE_FUNCTION_H void pFlow::algorithms::KOKKOS::fillSequence | ( | Type * | first,
|  | uint32 | numElems,
|  | const Type & | firstVal
| ) |  |

Definition at line 53 of file kokkosAlgorithms.hpp.

References LAMBDA_HD.

## fillSelected() [1/2]

INLINE_FUNCTION_H void pFlow::algorithms::KOKKOS::fillSelected | ( | Type * | first,
|  | const indexType * | indices,
|  | const uint32 | numElems,
|  | const Type | val
| ) |  |

Definition at line 71 of file kokkosAlgorithms.hpp.

References LAMBDA_HD.

## fillSelected() [2/2]

INLINE_FUNCTION_H void pFlow::algorithms::KOKKOS::fillSelected | ( | Type * | first,
|  | const indexType * | indices,
|  | const Type * | vals,
|  | const uint32 | numElems
| ) |  |

Definition at line 87 of file kokkosAlgorithms.hpp.

References LAMBDA_HD.

## max()

INLINE_FUNCTION_H Type pFlow::algorithms::KOKKOS::max | ( | const Type * | first,
|  | uint32 | numElems
| ) |  |

Definition at line 104 of file kokkosAlgorithms.hpp.

References LAMBDA_HD.

Referenced by pointFlag< DefaultHostExecutionSpace >::addInternalPoints(), VectorSingle< uint32, HostSpace >::assign(), boundaryExit::boundaryExit(), boundaryPeriodic::boundaryPeriodic(), NBSLevel0::findPairs(), pFlow::mapperNBSKernels::findPointExtends(), Istream::getLine(), InsertionRegion< ShapeType >::insertParticles(), pFlow::largestPositive(), pointFlag< DefaultHostExecutionSpace >::markDelete(), triple< intType >::normalize(), cuboidWall::readcuboidWall(), planeWall::readPlaneWall(), rectangleMesh::rectangleMesh(), and mapperNBS::setSearchBox().

Here is the caller graph for this function:

## min()

INLINE_FUNCTION_H Type pFlow::algorithms::KOKKOS::min | ( | const Type * | first,
|  | int32 | numElems
| ) |  |

Definition at line 124 of file kokkosAlgorithms.hpp.

References LAMBDA_HD.

Referenced by pointFlag< DefaultHostExecutionSpace >::addInternalPoints(), timeControl::checkForOutputToFile(), pFlow::epsilonValue(), pFlow::mapperNBSKernels::findPointExtends(), pointFlag< DefaultHostExecutionSpace >::markDelete(), and mapperNBS::setSearchBox().

Here is the caller graph for this function:

## exclusiveScan()

void pFlow::algorithms::KOKKOS::exclusiveScan | ( | Type * | first,
|  | Type * | dFirst,
|  | uint32 | numElems
| ) |  |

Definition at line 148 of file kokkosAlgorithms.hpp.

References LAMBDA_HD.

Referenced by pFlow::boundaryBaseKernels::createRemoveKeepIndices(), pFlow::boundaryBaseKernels::createRemoveKeepLists(), and pointFlag< DefaultHostExecutionSpace >::getEmptyPoints().

Here is the caller graph for this function:

## inclusiveScan()

void pFlow::algorithms::KOKKOS::inclusiveScan | ( | Type * | first,
|  | Type * | dFirst,
|  | uint32 | numElems
| ) |  |

Definition at line 167 of file kokkosAlgorithms.hpp.

References LAMBDA_HD.