opencv2/cudev/warp/reduce.hpp#

#include <../common.hpp>
#include <../util/tuple.hpp>
#include <detail/reduce.hpp>
#include <detail/reduce_key_val.hpp>

Include dependency graph for reduce.hpp:

opencv2/cudev/warp/reduce.hpp Node1 opencv2/cudev/warp /reduce.hpp Node2 ../common.hpp Node1->Node2 Node58 ../util/tuple.hpp Node1->Node58 Node60 detail/reduce.hpp Node1->Node60 Node61 detail/reduce_key_val.hpp Node1->Node61 Node3 cuda_runtime.h Node2->Node3 Node4 opencv2/core/cuda.hpp Node2->Node4 Node57 opencv2/core/cuda_stream _accessor.hpp Node2->Node57 Node5 opencv2/core.hpp Node4->Node5 Node55 opencv2/core/cuda_types.hpp Node4->Node55 Node56 opencv2/core/cuda.inl.hpp Node4->Node56 Node6 opencv2/core/cvdef.h Node5->Node6 Node13 opencv2/core/base.hpp Node5->Node13 Node17 opencv2/core/cvstd.hpp Node5->Node17 Node33 opencv2/core/traits.hpp Node5->Node33 Node34 opencv2/core/matx.hpp Node5->Node34 Node39 opencv2/core/types.hpp Node5->Node39 Node42 opencv2/core/mat.hpp Node5->Node42 Node46 opencv2/core/persistence.hpp Node5->Node46 Node47 opencv2/core/operations.hpp Node5->Node47 Node50 opencv2/core/cvstd.inl.hpp Node5->Node50 Node51 opencv2/core/utility.hpp Node5->Node51 Node54 opencv2/core/optim.hpp Node5->Node54 Node7 opencv2/core/version.hpp Node6->Node7 Node8 limits Node6->Node8 Node9 opencv2/core/hal/interface.h Node6->Node9 Node11 cstdint Node6->Node11 Node12 cv_cpu_dispatch.h Node6->Node12 Node10 cstddef Node9->Node10 Node9->Node11 Node13->Node6 Node14 opencv2/opencv_modules.hpp Node13->Node14 Node15 climits Node13->Node15 Node16 algorithm Node13->Node16 Node13->Node17 Node27 opencv2/core/fwddecl.hpp Node13->Node27 Node28 opencv2/core/neon_utils.hpp Node13->Node28 Node29 opencv2/core/vsx_utils.hpp Node13->Node29 Node31 opencv2/core/exception.hpp Node13->Node31 Node32 opencv2/core/check.hpp Node13->Node32 Node17->Node6 Node17->Node10 Node17->Node16 Node18 cstring Node17->Node18 Node19 cctype Node17->Node19 Node20 string Node17->Node20 Node21 utility Node17->Node21 Node22 cstdlib Node17->Node22 Node23 cmath Node17->Node23 Node24 cvstd_wrapper.hpp Node17->Node24 Node24->Node6 Node24->Node20 Node25 memory Node24->Node25 Node26 type_traits Node24->Node26 Node27->Node6 Node28->Node6 Node29->Node6 Node30 assert.h Node29->Node30 Node31->Node6 Node31->Node17 Node32->Node6 Node32->Node17 Node32->Node27 Node33->Node6 Node34->Node6 Node34->Node13 Node34->Node33 Node35 opencv2/core/saturate.hpp Node34->Node35 Node37 initializer_list Node34->Node37 Node38 opencv2/core/matx.inl.hpp Node34->Node38 Node35->Node6 Node35->Node15 Node36 opencv2/core/fast_math.hpp Node35->Node36 Node36->Node6 Node36->Node23 Node39->Node6 Node39->Node8 Node39->Node15 Node39->Node17 Node39->Node34 Node40 cfloat Node39->Node40 Node41 vector Node39->Node41 Node42->Node26 Node42->Node34 Node42->Node39 Node43 opencv2/core/bufferpool.hpp Node42->Node43 Node44 array Node42->Node44 Node45 opencv2/core/mat.inl.hpp Node42->Node45 Node46->Node39 Node46->Node42 Node48 cstdio Node47->Node48 Node49 ostream Node47->Node49 Node51->Node5 Node51->Node49 Node52 functional Node51->Node52 Node53 mutex Node51->Node53 Node54->Node5 Node57->Node3 Node57->Node4 Node58->Node2 Node59 detail/tuple.hpp Node58->Node59

opencv2/cudev/warp/reduce.hpp Node1 opencv2/cudev/warp /reduce.hpp Node2 ../common.hpp Node1->Node2 Node58 ../util/tuple.hpp Node1->Node58 Node60 detail/reduce.hpp Node1->Node60 Node61 detail/reduce_key_val.hpp Node1->Node61 Node3 cuda_runtime.h Node2->Node3 Node4 opencv2/core/cuda.hpp Node2->Node4 Node57 opencv2/core/cuda_stream _accessor.hpp Node2->Node57 Node5 opencv2/core.hpp Node4->Node5 Node55 opencv2/core/cuda_types.hpp Node4->Node55 Node56 opencv2/core/cuda.inl.hpp Node4->Node56 Node6 opencv2/core/cvdef.h Node5->Node6 Node13 opencv2/core/base.hpp Node5->Node13 Node17 opencv2/core/cvstd.hpp Node5->Node17 Node33 opencv2/core/traits.hpp Node5->Node33 Node34 opencv2/core/matx.hpp Node5->Node34 Node39 opencv2/core/types.hpp Node5->Node39 Node42 opencv2/core/mat.hpp Node5->Node42 Node46 opencv2/core/persistence.hpp Node5->Node46 Node47 opencv2/core/operations.hpp Node5->Node47 Node50 opencv2/core/cvstd.inl.hpp Node5->Node50 Node51 opencv2/core/utility.hpp Node5->Node51 Node54 opencv2/core/optim.hpp Node5->Node54 Node7 opencv2/core/version.hpp Node6->Node7 Node8 limits Node6->Node8 Node9 opencv2/core/hal/interface.h Node6->Node9 Node11 cstdint Node6->Node11 Node12 cv_cpu_dispatch.h Node6->Node12 Node10 cstddef Node9->Node10 Node9->Node11 Node13->Node6 Node14 opencv2/opencv_modules.hpp Node13->Node14 Node15 climits Node13->Node15 Node16 algorithm Node13->Node16 Node13->Node17 Node27 opencv2/core/fwddecl.hpp Node13->Node27 Node28 opencv2/core/neon_utils.hpp Node13->Node28 Node29 opencv2/core/vsx_utils.hpp Node13->Node29 Node31 opencv2/core/exception.hpp Node13->Node31 Node32 opencv2/core/check.hpp Node13->Node32 Node17->Node6 Node17->Node10 Node17->Node16 Node18 cstring Node17->Node18 Node19 cctype Node17->Node19 Node20 string Node17->Node20 Node21 utility Node17->Node21 Node22 cstdlib Node17->Node22 Node23 cmath Node17->Node23 Node24 cvstd_wrapper.hpp Node17->Node24 Node24->Node6 Node24->Node20 Node25 memory Node24->Node25 Node26 type_traits Node24->Node26 Node27->Node6 Node28->Node6 Node29->Node6 Node30 assert.h Node29->Node30 Node31->Node6 Node31->Node17 Node32->Node6 Node32->Node17 Node32->Node27 Node33->Node6 Node34->Node6 Node34->Node13 Node34->Node33 Node35 opencv2/core/saturate.hpp Node34->Node35 Node37 initializer_list Node34->Node37 Node38 opencv2/core/matx.inl.hpp Node34->Node38 Node35->Node6 Node35->Node15 Node36 opencv2/core/fast_math.hpp Node35->Node36 Node36->Node6 Node36->Node23 Node39->Node6 Node39->Node8 Node39->Node15 Node39->Node17 Node39->Node34 Node40 cfloat Node39->Node40 Node41 vector Node39->Node41 Node42->Node26 Node42->Node34 Node42->Node39 Node43 opencv2/core/bufferpool.hpp Node42->Node43 Node44 array Node42->Node44 Node45 opencv2/core/mat.inl.hpp Node42->Node45 Node46->Node39 Node46->Node42 Node48 cstdio Node47->Node48 Node49 ostream Node47->Node49 Node51->Node5 Node51->Node49 Node52 functional Node51->Node52 Node53 mutex Node51->Node53 Node54->Node5 Node57->Node3 Node57->Node4 Node58->Node2 Node59 detail/tuple.hpp Node58->Node59

This graph shows which files directly or indirectly include reduce.hpp:

incby naaa00f14e0 opencv2/cudev/block/reduce.hpp n65c825b885 opencv2/cudev/warp/reduce.hpp naaa00f14e0->n65c825b885 n2ebf352890 opencv2/cudev/block/vec_distance.hpp n2ebf352890->naaa00f14e0 n2ebf352890->n65c825b885 nae0e931734 opencv2/cudev.hpp nae0e931734->naaa00f14e0 nae0e931734->n2ebf352890 nae0e931734->n65c825b885

incby naaa00f14e0 opencv2/cudev/block/reduce.hpp n65c825b885 opencv2/cudev/warp/reduce.hpp naaa00f14e0->n65c825b885 n2ebf352890 opencv2/cudev/block/vec_distance.hpp n2ebf352890->naaa00f14e0 n2ebf352890->n65c825b885 nae0e931734 opencv2/cudev.hpp nae0e931734->naaa00f14e0 nae0e931734->n2ebf352890 nae0e931734->n65c825b885

Namespaces#

namespace cv
namespace cv::cudev

Functions#

tuple< volatile T0 * > cv::cudev::smem_tuple (T0 *t0)
tuple< volatile T0 *, volatile T1 * > cv::cudev::smem_tuple (T0 *t0, T1 *t1)
tuple< volatile T0 *, volatile T1 *, volatile T2 * > cv::cudev::smem_tuple (T0 *t0, T1 *t1, T2 *t2)
tuple< volatile T0 *, volatile T1 *, volatile T2 *, volatile T3 * > cv::cudev::smem_tuple (T0 *t0, T1 *t1, T2 *t2, T3 *t3)
tuple< volatile T0 *, volatile T1 *, volatile T2 *, volatile T3 *, volatile T4 * > cv::cudev::smem_tuple (T0 *t0, T1 *t1, T2 *t2, T3 *t3, T4 *t4)
tuple< volatile T0 *, volatile T1 *, volatile T2 *, volatile T3 *, volatile T4 *, volatile T5 * > cv::cudev::smem_tuple (T0 *t0, T1 *t1, T2 *t2, T3 *t3, T4 *t4, T5 *t5)
tuple< volatile T0 *, volatile T1 *, volatile T2 *, volatile T3 *, volatile T4 *, volatile T5 *, volatile T6 * > cv::cudev::smem_tuple (T0 *t0, T1 *t1, T2 *t2, T3 *t3, T4 *t4, T5 *t5, T6 *t6)
tuple< volatile T0 *, volatile T1 *, volatile T2 *, volatile T3 *, volatile T4 *, volatile T5 *, volatile T6 *, volatile T7 * > cv::cudev::smem_tuple (T0 *t0, T1 *t1, T2 *t2, T3 *t3, T4 *t4, T5 *t5, T6 *t6, T7 *t7)
tuple< volatile T0 *, volatile T1 *, volatile T2 *, volatile T3 *, volatile T4 *, volatile T5 *, volatile T6 *, volatile T7 *, volatile T8 * > cv::cudev::smem_tuple (T0 *t0, T1 *t1, T2 *t2, T3 *t3, T4 *t4, T5 *t5, T6 *t6, T7 *t7, T8 *t8)
tuple< volatile T0 *, volatile T1 *, volatile T2 *, volatile T3 *, volatile T4 *, volatile T5 *, volatile T6 *, volatile T7 *, volatile T8 *, volatile T9 * > cv::cudev::smem_tuple (T0 *t0, T1 *t1, T2 *t2, T3 *t3, T4 *t4, T5 *t5, T6 *t6, T7 *t7, T8 *t8, T9 *t9)
void cv::cudev::warpReduce (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)
void cv::cudev::warpReduce (volatile T *smem, T &val, uint tid, const Op &op)
void cv::cudev::warpReduceKeyVal (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)
void cv::cudev::warpReduceKeyVal (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)
void cv::cudev::warpReduceKeyVal (volatile K *skeys, K &key, volatile V *svals, V &val, uint tid, const Cmp &cmp)