NeoN
A framework for CFD software
Loading...
Searching...
No Matches
Namespaces | Concepts | Macros | Functions
parallelAlgorithms.hpp File Reference
#include <Kokkos_Core.hpp>
#include <type_traits>
#include "NeoN/core/logging.hpp"
#include "NeoN/core/primitives/label.hpp"
#include "NeoN/core/executor/executor.hpp"

Go to the source code of this file.

Namespaces

namespace  NeoN
 Integer types used throughout NeoN.
 

Concepts

concept  NeoN::parallelForKernel
 
concept  NeoN::parallelForContainerKernel
 

Macros

#define NEON_LAMBDA   [&]
 

Functions

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

Macro Definition Documentation

◆ NEON_LAMBDA

#define NEON_LAMBDA   [&]

Definition at line 24 of file parallelAlgorithms.hpp.