CMS 3D CMS Logo

Classes | Namespaces | Typedefs | Functions | Variables
HistoContainer.h File Reference
#include <algorithm>
#include <atomic>
#include <cstddef>
#include <cstdint>
#include <type_traits>
#include "HeterogeneousCore/CUDAUtilities/interface/AtomicPairCounter.h"
#include "HeterogeneousCore/CUDAUtilities/interface/cudaCheck.h"
#include "HeterogeneousCore/CUDAUtilities/interface/cuda_assert.h"
#include "HeterogeneousCore/CUDAUtilities/interface/cudastdAlgorithm.h"
#include "HeterogeneousCore/CUDAUtilities/interface/prefixScan.h"

Go to the source code of this file.

Classes

class  cms::cuda::HistoContainer< T, NBINS, SIZE, S, I, NHISTS >
 

Namespaces

 cms
 Namespace of DDCMS conversion namespace.
 
 cms::cuda
 

Typedefs

template<typename I , uint32_t MAXONES, uint32_t MAXMANYS>
using cms::cuda::OneToManyAssoc = HistoContainer< uint32_t, MAXONES, MAXMANYS, sizeof(uint32_t) *8, I, 1 >
 

Functions

template<typename Histo , typename T >
 cms::cuda::__attribute__ ((always_inline)) void countFromVector(Histo *__restrict__ h
 
cudaStream_t T uint32_t const T *__restrict__ const uint32_t *__restrict__ uint32_t int cudaStream_t Func __host__ __device__ cms::cuda::__attribute__ ((always_inline)) void forEachInBins(Hist const &hist
 
template<typename Histo >
 cms::cuda::__attribute__ ((always_inline)) void launchZero(Histo *__restrict__ h
 
 cms::cuda::assert (be >=bs)
 
 cms::cuda::for (auto pj=hist.begin(bs);pj< hist.end(be);++pj)
 
 cms::cuda::for (int i=first, nt=offsets[nh];i< nt;i+=gridDim.x *blockDim.x)
 

Variables

int cms::cuda::be = std::min(int(Hist::nbins() - 1), bs + n)
 
 cms::cuda::bs = std::max(0, bs - n)
 
cudaStream_t T uint32_t const T *__restrict__ const uint32_t *__restrict__ uint32_t int cudaStream_t Func __host__ __device__ V int Func cms::cuda::func
 
cudaStream_t T uint32_t const T *__restrict__ const uint32_t *__restrict__ uint32_t int cudaStream_t Func __host__ __device__ V int cms::cuda::n
 
uint32_t cms::cuda::nh
 
cudaStream_t T uint32_t const T *__restrict__ const uint32_t *__restrict__ uint32_t int cms::cuda::nthreads
 
uint32_t const T *__restrict__ const uint32_t *__restrict__ cms::cuda::offsets
 
cudaStream_t cms::cuda::stream
 
cudaStream_t T uint32_t const T *__restrict__ const uint32_t *__restrict__ uint32_t cms::cuda::totSize
 
uint32_t const T *__restrict__ cms::cuda::v
 
cudaStream_t T uint32_t const T *__restrict__ const uint32_t *__restrict__ uint32_t int cudaStream_t cms::cuda::V
 
cudaStream_t T uint32_t const T *__restrict__ const uint32_t *__restrict__ uint32_t int cudaStream_t Func __host__ __device__cms::cuda::value
 
__host__ __device__ V V cms::cuda::wmax
 
__host__ __device__cms::cuda::wmin