Project
Loading...
Searching...
No Matches
o2::gpu::CfUtils Class Reference

#include <CfUtils.h>

Public Member Functions

static uint32_t uint32_t uint16_t uint32_t uint32_t GPUconstexprref () const tpccf
 
static uint16_t uint16_t uint16_t uint16_t uint16_t GPUconstexprref () const tpccf
 

Static Public Member Functions

static GPUdi () bool isAtEdge(const ChargePos &pos
 
static GPUdi () bool innerAboveThreshold(uint8_t aboveThreshold
 
static GPUdi () bool innerAboveThresholdInv(uint8_t aboveThreshold
 
static GPUdi () bool isPeak(uint8_t peak)
 
static GPUdi () bool isAboveThreshold(uint8_t peak)
 
static GPUdi () int32_t warpPredicateScan(int32_t pred
 
template<size_t BlockSize, typename SharedMemory >
static GPUdi () int32_t blockPredicateScan(SharedMemory &smem
 
static int32_t int32_t static SharedMemory GPUdi () int32_t blockPredicateSum(SharedMemory &smem
 
template<size_t SCRATCH_PAD_WORK_GROUP_SIZE, typename SharedMemory >
static GPUdi () uint16_t partition(SharedMemory &smem
 
template<typename T >
static GPUdi () void blockLoad(const Array2D< T > &map
 
template<typename T , bool Inv = false>
static GPUdi () void condBlockLoad(const Array2D< T > &map
 

Public Attributes

static tpccf::GlobalPad padsPerRow
 
static uint16_t outerIdx
 
static int32_t * sum
 
sum = warp_broadcast(myOffset, GPUCA_WARP_SIZE - 1)
 
 myOffset
 
return myOffset
 
static int32_t pred
 
static int32_t int32_t * sum
 
static int32_t int32_t static SharedMemory int32_t pred
 
static uint16_t ll
 
static uint16_t bool pred
 
static uint16_t bool uint16_t partSize
 
static uint16_t bool uint16_t uint16_t * newPartSize
 
int32_t part
 
int32_t lpos = blockPredicateScan<SCRATCH_PAD_WORK_GROUP_SIZE>(smem, int32_t(!pred && participates), &part)
 
uint16_t pos = (participates && !pred) ? lpos : part
 
newPartSize = part
 
return pos
 
static uint32_t wgSize
 
static uint32_t uint32_t elems
 
static uint32_t uint32_t uint16_t ll
 
static uint32_t uint32_t uint16_t uint32_t offset
 
static uint32_t uint32_t uint16_t uint32_t uint32_t N
 
static uint16_t wgSize
 
static uint16_t uint16_t elems
 
static uint16_t uint16_t uint16_t ll
 
static uint16_t uint16_t uint16_t uint16_t offset
 
static uint16_t uint16_t uint16_t uint16_t uint16_t N
 

Detailed Description

Definition at line 26 of file CfUtils.h.

Member Function Documentation

◆ GPUconstexprref() [1/2]

static uint32_t uint32_t uint16_t uint32_t uint32_t o2::gpu::CfUtils::GPUconstexprref ( ) const
inline

Definition at line 183 of file CfUtils.h.

◆ GPUconstexprref() [2/2]

static uint16_t uint16_t uint16_t uint16_t uint16_t o2::gpu::CfUtils::GPUconstexprref ( ) const
inline

Definition at line 227 of file CfUtils.h.

◆ GPUdi() [1/11]

static o2::gpu::CfUtils::GPUdi ( )
static

◆ GPUdi() [2/11]

static o2::gpu::CfUtils::GPUdi ( )
static

◆ GPUdi() [3/11]

static o2::gpu::CfUtils::GPUdi ( )
inlinestatic

Definition at line 47 of file CfUtils.h.

◆ GPUdi() [4/11]

static o2::gpu::CfUtils::GPUdi ( ) const &
static

◆ GPUdi() [5/11]

static o2::gpu::CfUtils::GPUdi ( )
inlinestatic

Definition at line 45 of file CfUtils.h.

◆ GPUdi() [6/11]

template<size_t BlockSize, typename SharedMemory >
static o2::gpu::CfUtils::GPUdi ( ) &
static

◆ GPUdi() [7/11]

static int32_t int32_t static SharedMemory o2::gpu::CfUtils::GPUdi ( ) &
static

◆ GPUdi() [8/11]

static o2::gpu::CfUtils::GPUdi ( )
static

◆ GPUdi() [9/11]

template<size_t SCRATCH_PAD_WORK_GROUP_SIZE, typename SharedMemory >
static o2::gpu::CfUtils::GPUdi ( ) &
static

◆ GPUdi() [10/11]

template<typename T >
static o2::gpu::CfUtils::GPUdi ( ) const &
static

◆ GPUdi() [11/11]

template<typename T , bool Inv = false>
static o2::gpu::CfUtils::GPUdi ( ) const &
static

Member Data Documentation

◆ elems [1/2]

uint32_t uint32_t o2::gpu::CfUtils::elems

Definition at line 179 of file CfUtils.h.

◆ elems [2/2]

uint16_t uint16_t o2::gpu::CfUtils::elems

Definition at line 223 of file CfUtils.h.

◆ ll [1/3]

uint16_t o2::gpu::CfUtils::ll

Definition at line 162 of file CfUtils.h.

◆ ll [2/3]

uint32_t uint32_t uint16_t o2::gpu::CfUtils::ll

Definition at line 180 of file CfUtils.h.

◆ ll [3/3]

uint16_t uint16_t uint16_t o2::gpu::CfUtils::ll

Definition at line 224 of file CfUtils.h.

◆ lpos

int32_t o2::gpu::CfUtils::lpos = blockPredicateScan<SCRATCH_PAD_WORK_GROUP_SIZE>(smem, int32_t(!pred && participates), &part)

Definition at line 167 of file CfUtils.h.

◆ myOffset [1/2]

o2::gpu::CfUtils::myOffset

Definition at line 68 of file CfUtils.h.

◆ myOffset [2/2]

return o2::gpu::CfUtils::myOffset

Definition at line 69 of file CfUtils.h.

◆ N [1/2]

uint32_t uint32_t uint16_t uint32_t uint32_t o2::gpu::CfUtils::N

Definition at line 182 of file CfUtils.h.

◆ N [2/2]

uint16_t uint16_t uint16_t uint16_t uint16_t o2::gpu::CfUtils::N

Definition at line 226 of file CfUtils.h.

◆ newPartSize [1/2]

uint16_t bool uint16_t uint16_t* o2::gpu::CfUtils::newPartSize
Initial value:
{
bool participates = ll < partSize
static uint16_t bool uint16_t partSize
Definition CfUtils.h:162
static uint16_t ll
Definition CfUtils.h:162

Definition at line 162 of file CfUtils.h.

◆ newPartSize [2/2]

* o2::gpu::CfUtils::newPartSize = part

Definition at line 171 of file CfUtils.h.

◆ offset [1/2]

uint32_t uint32_t uint16_t uint32_t o2::gpu::CfUtils::offset

Definition at line 181 of file CfUtils.h.

◆ offset [2/2]

uint16_t uint16_t uint16_t uint16_t o2::gpu::CfUtils::offset

Definition at line 225 of file CfUtils.h.

◆ outerIdx

static uint16_t o2::gpu::CfUtils::outerIdx
Initial value:
{
return aboveThreshold & (1 << cfconsts::OuterToInner[outerIdx])
static uint16_t outerIdx
Definition CfUtils.h:36

Definition at line 35 of file CfUtils.h.

◆ padsPerRow

tpccf::GlobalPad o2::gpu::CfUtils::padsPerRow
Initial value:
{
return (pos.pad() < 2 || pos.pad() >= padsPerRow - 2)
uint16_t pos
Definition CfUtils.h:169
static tpccf::GlobalPad padsPerRow
Definition CfUtils.h:31

Definition at line 30 of file CfUtils.h.

◆ part

int32_t o2::gpu::CfUtils::part

Definition at line 166 of file CfUtils.h.

◆ partSize

uint16_t bool uint16_t o2::gpu::CfUtils::partSize

Definition at line 162 of file CfUtils.h.

◆ pos [1/2]

uint16_t o2::gpu::CfUtils::pos = (participates && !pred) ? lpos : part

Definition at line 169 of file CfUtils.h.

◆ pos [2/2]

return o2::gpu::CfUtils::pos

Definition at line 172 of file CfUtils.h.

◆ pred [1/3]

int32_t o2::gpu::CfUtils::pred

Definition at line 74 of file CfUtils.h.

◆ pred [2/3]

int32_t int32_t static SharedMemory int32_t o2::gpu::CfUtils::pred

Definition at line 125 of file CfUtils.h.

◆ pred [3/3]

uint16_t bool o2::gpu::CfUtils::pred

Definition at line 162 of file CfUtils.h.

◆ sum [1/3]

int32_t* o2::gpu::CfUtils::sum
Initial value:
{
int32_t myOffset = warp_scan_inclusive_add(pred ? 1 : 0)
static int32_t pred
Definition CfUtils.h:74

Definition at line 49 of file CfUtils.h.

◆ sum [2/3]

* o2::gpu::CfUtils::sum = warp_broadcast(myOffset, GPUCA_WARP_SIZE - 1)

Definition at line 67 of file CfUtils.h.

◆ sum [3/3]

int32_t int32_t* o2::gpu::CfUtils::sum

Definition at line 74 of file CfUtils.h.

◆ wgSize [1/2]

uint32_t o2::gpu::CfUtils::wgSize

Definition at line 178 of file CfUtils.h.

◆ wgSize [2/2]

uint16_t o2::gpu::CfUtils::wgSize

Definition at line 222 of file CfUtils.h.


The documentation for this class was generated from the following file: