cuDDL
Loading...
Searching...
No Matches
Namespaces | Enumerations | Functions | Variables
hybrid_cardinality.cuh File Reference
#include <cuda/std/cmath>
#include <cuda/std/cstdint>
#include <cuddl/detail/cardinality.cuh>
#include <cuddl/hybrid_cardinality.cuh>

Go to the source code of this file.

Namespaces

namespace  cuddl
 Batch operations over contiguous device rows.
 
namespace  cuddl::detail
 

Enumerations

enum class  cuddl::detail::hybrid_variant : uint8_t { cuddl::detail::bbtools , cuddl::detail::paper }
 Which HybridDDL blend the variant kernel computes. More...
 

Functions

__device__ double cuddl::detail::interpolate_mean_m_cf (double estimate) noexcept
 Interpolates the MeanM correction factor for estimate from the calibration table.
 
__device__ double cuddl::detail::lc_min (uint32_t const *bins, double bucket_count) noexcept
 Linear-counting estimate from the first occupied NLZ tier.
 
__device__ double cuddl::detail::dlc (uint32_t const *bins, double bucket_count, double lc) noexcept
 Distributed linear-counting estimate, blended from per-tier estimates by precision.
 
__device__ double cuddl::detail::hybrid (double low_estimate, double zone_estimate, double corrected_mean, double bucket_count) noexcept
 Log-blended low and corrected estimates across the hybrid transition zone.
 
__device__ double cuddl::detail::bbtools_mean_m (double bucket_count, double filled, double restored_sum) noexcept
 BBTools occupancy-corrected MeanM estimate from restored magnitudes.
 
__device__ hybrid_cardinality_estimates cuddl::detail::hybrid_estimates (uint32_t const *bins, double bucket_count, double restored_sum) noexcept
 Fused BBTools, paper, linear-counting, DLC, and raw MeanM estimates.
 
__device__ float cuddl::detail::interpolate_mean_m_cf_f32 (float estimate) noexcept
 Single-precision variant of the hybrid estimator tail.
 
__device__ float cuddl::detail::lc_min_f32 (uint32_t const *bins, float bucket_count) noexcept
 Single-precision lc_min for the latency-bound hybrid scan.
 
__device__ float cuddl::detail::dlc_f32 (uint32_t const *bins, float bucket_count, float lc) noexcept
 Single-precision dlc for the latency-bound hybrid scan.
 
__device__ float cuddl::detail::hybrid_f32 (float low_estimate, float zone_estimate, float corrected_mean, float bucket_count) noexcept
 Single-precision hybrid for the latency-bound hybrid scan.
 
__device__ float cuddl::detail::bbtools_mean_m_f32 (float bucket_count, float filled, float restored_sum) noexcept
 Single-precision bbtools_mean_m for the latency-bound hybrid scan.
 
__device__ hybrid_cardinality_estimates cuddl::detail::hybrid_estimates_f32 (uint32_t const *bins, float bucket_count, float restored_sum) noexcept
 Single-precision hybrid_estimates for the latency-bound hybrid scan.
 

Variables

constexpr int32_t cuddl::detail::nlz_bins = 66
 NLZ histogram bins for the hybrid estimator, including the empty tier.
 
constexpr double cuddl::detail::dlc_blend_low = 0.088
 
constexpr double cuddl::detail::dlc_blend_high = 0.952
 
constexpr double cuddl::detail::dlc_min_fraction = 0.002
 
constexpr double cuddl::detail::dlc_info_power = 4.5
 
constexpr double cuddl::detail::hybrid_low = 0.2
 
constexpr double cuddl::detail::hybrid_high = 5.0
 
constexpr uint32_t cuddl::detail::ddl_cf_size = 13