NeoN
WIP Prototype of a modern OpenFOAM core
Loading...
Searching...
No Matches
Namespaces | Concepts | Functions
parallelAlgorithms.hpp File Reference
#include <Kokkos_Core.hpp>
#include <type_traits>
#include "NeoN/core/primitives/label.hpp"
#include "NeoN/core/executor/executor.hpp"

Go to the source code of this file.

Namespaces

namespace  NeoN
 

Concepts

concept  NeoN::parallelForKernel
 
concept  NeoN::parallelForVectorKernel
 

Functions

template<typename Executor , parallelForKernel Kernel>
void NeoN::parallelFor (const Executor &exec, std::pair< localIdx, localIdx > range, Kernel kernel, std::string name="parallelFor")
 
template<parallelForKernel Kernel>
void NeoN::parallelFor (const NeoN::Executor &exec, std::pair< localIdx, localIdx > range, Kernel kernel, std::string name="parallelFor")
 
template<typename Executor , typename ValueType , parallelForVectorKernel< ValueType > Kernel>
void NeoN::parallelFor (const Executor &exec, Vector< ValueType > &field, Kernel kernel, std::string name="parallelFor")
 
template<typename ValueType , parallelForVectorKernel< ValueType > Kernel>
void NeoN::parallelFor (Vector< ValueType > &field, Kernel kernel, std::string name="parallelFor")
 
template<typename Executor , typename Kernel , typename T >
void NeoN::parallelReduce (const Executor &exec, std::pair< localIdx, localIdx > range, Kernel kernel, T &value)
 
template<typename Kernel , typename T >
void NeoN::parallelReduce (const NeoN::Executor &exec, std::pair< localIdx, localIdx > range, Kernel kernel, T &value)
 
template<typename Executor , typename ValueType , typename Kernel , typename T >
void NeoN::parallelReduce (const Executor &exec, Vector< ValueType > &field, Kernel kernel, T &value)
 
template<typename ValueType , typename Kernel , typename T >
void NeoN::parallelReduce (Vector< ValueType > &field, Kernel kernel, T &value)
 
template<typename Executor , typename Kernel >
void NeoN::parallelScan (const Executor &exec, std::pair< localIdx, localIdx > range, Kernel kernel)
 
template<typename Kernel >
void NeoN::parallelScan (const NeoN::Executor &exec, std::pair< localIdx, localIdx > range, Kernel kernel)
 
template<typename Executor , typename Kernel , typename ReturnType >
void NeoN::parallelScan (const Executor &exec, std::pair< localIdx, localIdx > range, Kernel kernel, ReturnType &returnValue)
 
template<typename Kernel , typename ReturnType >
void NeoN::parallelScan (const NeoN::Executor &exec, std::pair< localIdx, localIdx > range, Kernel kernel, ReturnType &returnValue)