NeoN
A framework for CFD software
Loading...
Searching...
No Matches
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"
#include "NeoN/helpers/exceptions.hpp"

Go to the source code of this file.

Namespaces

namespace  NeoN
 Integer types used throughout NeoN.
namespace  NeoN::detail

Concepts

concept  NeoN::parallelForKernel
concept  NeoN::parallelForContainerKernel

Macros

#define NEON_LAMBDA   [&]

Functions

template<typename F>
void NeoN::detail::visitExecutor (const Executor &exec, F &&f)
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 25 of file parallelAlgorithms.hpp.