CMS 3D CMS Logo

Classes | Namespaces | Functions
prefixScan.h File Reference
#include <alpaka/alpaka.hpp>
#include "FWCore/Utilities/interface/CMSUnrollLoop.h"
#include "HeterogeneousCore/AlpakaInterface/interface/config.h"
#include "HeterogeneousCore/AlpakaInterface/interface/workdivision.h"

Go to the source code of this file.

Classes

struct  alpaka::trait::BlockSharedMemDynSizeBytes< cms::alpakatools::multiBlockPrefixScan< T >, TAcc >
 
struct  cms::alpakatools::multiBlockPrefixScan< T >
 

Namespaces

 alpaka::trait
 
 cms::alpakatools
 

Functions

template<typename TAcc , typename T >
ALPAKA_FN_ACC ALPAKA_FN_INLINE void cms::alpakatools::blockPrefixScan (const TAcc &acc, T const *ci, T *co, int32_t size, T *ws=nullptr)
 
template<typename TAcc , typename T >
ALPAKA_FN_HOST_ACC ALPAKA_FN_INLINE void cms::alpakatools::blockPrefixScan (const TAcc &acc, T *__restrict__ c, int32_t size, T *__restrict__ ws=nullptr)
 
template<typename T , typename = std::enable_if_t<std::is_integral_v<T>>>
constexpr bool cms::alpakatools::isPowerOf2 (T v)
 
template<typename TAcc , typename T , typename = std::enable_if_t<alpaka::isAccelerator<TAcc>>>
ALPAKA_FN_ACC ALPAKA_FN_INLINE void cms::alpakatools::warpPrefixScan (const TAcc &acc, int32_t laneId, T const *ci, T *co, uint32_t i, bool active=true)
 
template<typename TAcc , typename T , typename = std::enable_if_t<alpaka::isAccelerator<TAcc>>>
ALPAKA_FN_ACC ALPAKA_FN_INLINE void cms::alpakatools::warpPrefixScan (const TAcc &acc, int32_t laneId, T *c, uint32_t i, bool active=true)