#include <AMReX_Config.H>
#include <AMReX_Extension.H>
#include <AMReX_Gpu.H>
#include <AMReX_Arena.H>
#include <cub/cub.cuh>
#include <concepts>
#include <cstdint>
#include <numeric>
#include <type_traits>
Go to the source code of this file.
|
template<typename T , std::integral N, typename FIN , typename FOUT , typename TYPE >
requires (std::same_as<std::decay_t<TYPE>,Type::Inclusive> || std::same_as<std::decay_t<TYPE>,Type::Exclusive>) |
| T | amrex::Scan::PrefixSum (N n, FIN const &fin, FOUT const &fout, TYPE, RetSum a_ret_sum=retSum) |
| |
| template<std::integral N, typename T > |
| T | amrex::Scan::InclusiveSum (N n, T const *in, T *out, RetSum a_ret_sum=retSum) |
| | Inclusive sum.
|
| |
| template<std::integral N, typename T > |
| T | amrex::Scan::ExclusiveSum (N n, T const *in, T *out, RetSum a_ret_sum=retSum) |
| | Exclusive sum.
|
| |
| template<class InIter , class OutIter > |
| OutIter | amrex::Gpu::inclusive_scan (InIter begin, InIter end, OutIter result) |
| |
| template<class InIter , class OutIter > |
| OutIter | amrex::Gpu::exclusive_scan (InIter begin, InIter end, OutIter result) |
| |