OpenCV  5.0.0alpha
Open Source Computer Vision
Loading...
Searching...
No Matches
reduce.hpp File Reference
#include "../common.hpp"
#include "../util/tuple.hpp"
#include "../warp/reduce.hpp"
#include "detail/reduce.hpp"
#include "detail/reduce_key_val.hpp"
#include <cuda_runtime_api.h>
Include dependency graph for reduce.hpp:
This graph shows which files directly or indirectly include this file:

Namespaces

namespace  cv
 
namespace  cv::cudev
 

Macros

#define OPENCV_CUDEV_BLOCK_REDUCE_HPP
 

Functions

template<int N, typename P0 , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename R0 , typename R1 , typename R2 , typename R3 , typename R4 , typename R5 , typename R6 , typename R7 , typename R8 , typename R9 , class Op0 , class Op1 , class Op2 , class Op3 , class Op4 , class Op5 , class Op6 , class Op7 , class Op8 , class Op9 >
__device__ __forceinline__ void cv::cudev::blockReduce (const tuple< P0, P1, P2, P3, P4, P5, P6, P7, P8, P9 > &smem, const tuple< R0, R1, R2, R3, R4, R5, R6, R7, R8, R9 > &val, uint tid, const tuple< Op0, Op1, Op2, Op3, Op4, Op5, Op6, Op7, Op8, Op9 > &op)
 
template<int N, typename T , class Op >
__device__ __forceinline__ void cv::cudev::blockReduce (volatile T *smem, T &val, uint tid, const Op &op)
 
template<int N, typename KP0 , typename KP1 , typename KP2 , typename KP3 , typename KP4 , typename KP5 , typename KP6 , typename KP7 , typename KP8 , typename KP9 , typename KR0 , typename KR1 , typename KR2 , typename KR3 , typename KR4 , typename KR5 , typename KR6 , typename KR7 , typename KR8 , typename KR9 , typename VP0 , typename VP1 , typename VP2 , typename VP3 , typename VP4 , typename VP5 , typename VP6 , typename VP7 , typename VP8 , typename VP9 , typename VR0 , typename VR1 , typename VR2 , typename VR3 , typename VR4 , typename VR5 , typename VR6 , typename VR7 , typename VR8 , typename VR9 , class Cmp0 , class Cmp1 , class Cmp2 , class Cmp3 , class Cmp4 , class Cmp5 , class Cmp6 , class Cmp7 , class Cmp8 , class Cmp9 >
__device__ __forceinline__ void cv::cudev::blockReduceKeyVal (const tuple< KP0, KP1, KP2, KP3, KP4, KP5, KP6, KP7, KP8, KP9 > &skeys, const tuple< KR0, KR1, KR2, KR3, KR4, KR5, KR6, KR7, KR8, KR9 > &key, const tuple< VP0, VP1, VP2, VP3, VP4, VP5, VP6, VP7, VP8, VP9 > &svals, const tuple< VR0, VR1, VR2, VR3, VR4, VR5, VR6, VR7, VR8, VR9 > &val, uint tid, const tuple< Cmp0, Cmp1, Cmp2, Cmp3, Cmp4, Cmp5, Cmp6, Cmp7, Cmp8, Cmp9 > &cmp)
 
template<int N, typename K , typename VP0 , typename VP1 , typename VP2 , typename VP3 , typename VP4 , typename VP5 , typename VP6 , typename VP7 , typename VP8 , typename VP9 , typename VR0 , typename VR1 , typename VR2 , typename VR3 , typename VR4 , typename VR5 , typename VR6 , typename VR7 , typename VR8 , typename VR9 , class Cmp >
__device__ __forceinline__ void cv::cudev::blockReduceKeyVal (volatile K *skeys, K &key, const tuple< VP0, VP1, VP2, VP3, VP4, VP5, VP6, VP7, VP8, VP9 > &svals, const tuple< VR0, VR1, VR2, VR3, VR4, VR5, VR6, VR7, VR8, VR9 > &val, uint tid, const Cmp &cmp)
 
template<int N, typename K , typename V , class Cmp >
__device__ __forceinline__ void cv::cudev::blockReduceKeyVal (volatile K *skeys, K &key, volatile V *svals, V &val, uint tid, const Cmp &cmp)
 

Macro Definition Documentation

◆ OPENCV_CUDEV_BLOCK_REDUCE_HPP

#define OPENCV_CUDEV_BLOCK_REDUCE_HPP