/home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/common/tbb.hh File Reference#

DiFfRG: /home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/common/tbb.hh File Reference
DiFfRG
Discretization Framework for functional Renormalization Group flows
tbb.hh File Reference
#include <DiFfRG/common/kokkos.hh>
#include <tbb/tbb.h>
#include <cstddef>
#include <cstdlib>
#include <functional>

Go to the source code of this file.

Namespaces

namespace  DiFfRG
 
namespace  DiFfRG::internal
 

Functions

template<int dim>
void DiFfRG::internal::unflatten_index (std::size_t flat, const device::array< size_t, dim > &grid_size, device::array< size_t, dim > &idx)
 Turn a row-major flat index into a multi-index.
 
template<int dim>
void DiFfRG::internal::advance_index (const device::array< size_t, dim > &grid_size, device::array< size_t, dim > &idx)
 Advance a row-major multi-index by one (odometer increment).
 
template<int dim, typename NT , typename FUN >
NT DiFfRG::internal::serial_sum (const device::array< size_t, dim > &grid_size, const FUN &functor, const std::size_t begin, const std::size_t end)
 Strictly row-major serial sum of functor over the flat index range [begin, end).
 
template<int dim, typename NT , typename FUN >
NT DiFfRG::TBBReduction (const device::array< size_t, dim > &grid_size, const FUN &functor)
 Bitwise reproducible reduction of functor over a dim-dimensional index grid.
 

Variables

constexpr std::size_t DiFfRG::internal::reduction_serial_cutoff = 4096
 Number of grid points below which a reduction is carried out serially.
 
constexpr std::size_t DiFfRG::internal::reduction_grainsize = 256
 Leaf size of the deterministic reduction tree.