CMS 3D CMS Logo

Classes | Namespaces | Functions | Variables
workdivision.h File Reference
#include <type_traits>
#include <alpaka/alpaka.hpp>
#include "HeterogeneousCore/AlpakaInterface/interface/config.h"
#include "HeterogeneousCore/AlpakaInterface/interface/traits.h"

Go to the source code of this file.

Classes

struct  cms::alpakatools::elements_with_stride_nd< TAcc, typename >::at_end_t
 
class  cms::alpakatools::blocks_with_stride< TAcc, typename >
 
struct  cms::alpakatools::ElementIndex
 
class  cms::alpakatools::elements_in_block< TAcc, typename >
 
class  cms::alpakatools::elements_with_stride< TAcc, typename >
 
class  cms::alpakatools::elements_with_stride_nd< TAcc, typename >
 
class  cms::alpakatools::elements_in_block< TAcc, typename >::iterator
 
class  cms::alpakatools::blocks_with_stride< TAcc, typename >::iterator
 
class  cms::alpakatools::elements_with_stride_nd< TAcc, typename >::iterator
 
class  cms::alpakatools::elements_with_stride< TAcc, typename >::iterator
 
struct  cms::alpakatools::requires_single_thread_per_block< TAcc, typename >
 

Namespaces

 cms::alpakatools
 

Functions

constexpr Idx cms::alpakatools::divide_up_by (Idx value, Idx divisor)
 
template<typename TAcc , typename = std::enable_if_t<alpaka::isAccelerator<TAcc> and alpaka::Dim<TAcc>::value == 1>>
WorkDiv< Dim1Dcms::alpakatools::make_workdiv (Idx blocks, Idx elements)
 
template<typename TAcc , typename = std::enable_if_t<alpaka::isAccelerator<TAcc>>>
WorkDiv< alpaka::Dim< TAcc > > cms::alpakatools::make_workdiv (const Vec< alpaka::Dim< TAcc >> &blocks, const Vec< alpaka::Dim< TAcc >> &elements)
 
template<typename TAcc , typename = std::enable_if_t<alpaka::isAccelerator<TAcc>>>
ALPAKA_FN_ACC constexpr bool cms::alpakatools::once_per_block (TAcc const &acc)
 
template<typename TAcc , typename = std::enable_if_t<alpaka::isAccelerator<TAcc>>>
ALPAKA_FN_ACC constexpr bool cms::alpakatools::once_per_grid (TAcc const &acc)
 
constexpr Idx cms::alpakatools::round_up_by (Idx value, Idx divisor)
 

Variables

template<typename TAcc , typename = std::enable_if_t<alpaka::isAccelerator<TAcc>>>
constexpr bool cms::alpakatools::requires_single_thread_per_block_v = requires_single_thread_per_block<TAcc>::value