rocPRIM
Public Types | Static Public Attributes | List of all members
histogram_config< HistogramConfig, MaxGridSize, SharedImplMaxBins, SharedImplHistograms > Struct Template Reference

Configuration of device-level histogram operation. More...

#include <device_config_helper.hpp>

Inheritance diagram for histogram_config< HistogramConfig, MaxGridSize, SharedImplMaxBins, SharedImplHistograms >:
Inheritance graph
[legend]
Collaboration diagram for histogram_config< HistogramConfig, MaxGridSize, SharedImplMaxBins, SharedImplHistograms >:
Collaboration graph
[legend]

Public Types

using histogram = HistogramConfig
 

Static Public Attributes

static constexpr unsigned int max_grid_size = MaxGridSize
 
static constexpr unsigned int shared_impl_max_bins = SharedImplMaxBins
 
static constexpr unsigned int shared_impl_histograms = SharedImplHistograms
 

Additional Inherited Members

- Public Attributes inherited from detail::histogram_config_params
kernel_config_params histogram_config = {0, 0}
 
unsigned int max_grid_size = 0
 
unsigned int shared_impl_max_bins = 0
 
unsigned int shared_impl_histograms = 0
 

Detailed Description

template<class HistogramConfig, unsigned int MaxGridSize = 1024, unsigned int SharedImplMaxBins = 2048, unsigned int SharedImplHistograms = 3>
struct histogram_config< HistogramConfig, MaxGridSize, SharedImplMaxBins, SharedImplHistograms >

Configuration of device-level histogram operation.

Template Parameters
HistogramConfig- configuration of histogram kernel. Must be kernel_config.
MaxGridSize- maximum number of blocks to launch.
SharedImplMaxBins- maximum total number of bins for all active channels for the shared memory histogram implementation (samples -> shared memory bins -> global memory bins), when exceeded the global memory implementation is used (samples -> global memory bins).
SharedImplHistograms- number of histograms in the shared memory to reduce bank conflicts for atomic operations with narrow sample distributions. Sweetspot for 9xx and 10xx is 3.

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