Open3D (C++ API)
0.19.0
Toggle main menu visibility
Loading...
Searching...
No Matches
cpp
open3d
core
kernel
Reduction.h
Go to the documentation of this file.
1
// ----------------------------------------------------------------------------
2
// - Open3D: www.open3d.org -
3
// ----------------------------------------------------------------------------
4
// Copyright (c) 2018-2024 www.open3d.org
5
// SPDX-License-Identifier: MIT
6
// ----------------------------------------------------------------------------
7
8
#pragma once
9
10
#include <unordered_set>
11
12
#include "
open3d/core/SizeVector.h
"
13
#include "
open3d/core/Tensor.h
"
14
#include "
open3d/utility/Helper.h
"
15
#include "
open3d/utility/Logging.h
"
16
17
namespace
open3d
{
18
namespace
core
{
19
namespace
kernel
{
20
21
enum class
ReductionOpCode
{
22
Sum
,
23
Prod
,
24
Min
,
25
Max
,
26
ArgMin
,
27
ArgMax
,
28
All
,
29
Any
,
30
};
31
32
static
const
std::unordered_set<ReductionOpCode, utility::hash_enum_class>
33
s_regular_reduce_ops = {
34
ReductionOpCode::Sum
,
35
ReductionOpCode::Prod
,
36
ReductionOpCode::Min
,
37
ReductionOpCode::Max
,
38
};
39
static
const
std::unordered_set<ReductionOpCode, utility::hash_enum_class>
40
s_arg_reduce_ops = {
41
ReductionOpCode::ArgMin
,
42
ReductionOpCode::ArgMax
,
43
};
44
static
const
std::unordered_set<ReductionOpCode, utility::hash_enum_class>
45
s_boolean_reduce_ops = {
46
ReductionOpCode::All
,
47
ReductionOpCode::Any
,
48
};
49
50
void
Reduction
(
const
Tensor& src,
51
Tensor& dst,
52
const
SizeVector& dims,
53
bool
keepdim,
54
ReductionOpCode
op_code);
55
56
void
ReductionCPU
(
const
Tensor& src,
57
Tensor& dst,
58
const
SizeVector& dims,
59
bool
keepdim,
60
ReductionOpCode
op_code);
61
62
#ifdef BUILD_SYCL_MODULE
63
void
ReductionSYCL
(
const
Tensor& src,
64
Tensor& dst,
65
const
SizeVector& dims,
66
bool
keepdim,
67
ReductionOpCode
op_code);
68
#endif
69
70
#ifdef BUILD_CUDA_MODULE
71
void
ReductionCUDA(
const
Tensor& src,
72
Tensor& dst,
73
const
SizeVector& dims,
74
bool
keepdim,
75
ReductionOpCode
op_code);
76
#endif
77
78
}
// namespace kernel
79
}
// namespace core
80
}
// namespace open3d
Logging.h
SizeVector.h
Tensor.h
open3d::core::kernel
Definition
Arange.cpp:15
open3d::core::kernel::ReductionOpCode
ReductionOpCode
Definition
Reduction.h:21
open3d::core::kernel::ReductionOpCode::ArgMin
@ ArgMin
Definition
Reduction.h:26
open3d::core::kernel::ReductionOpCode::Prod
@ Prod
Definition
Reduction.h:23
open3d::core::kernel::ReductionOpCode::ArgMax
@ ArgMax
Definition
Reduction.h:27
open3d::core::kernel::ReductionOpCode::Max
@ Max
Definition
Reduction.h:25
open3d::core::kernel::ReductionOpCode::Min
@ Min
Definition
Reduction.h:24
open3d::core::kernel::ReductionOpCode::Sum
@ Sum
Definition
Reduction.h:22
open3d::core::kernel::ReductionOpCode::All
@ All
Definition
Reduction.h:28
open3d::core::kernel::ReductionOpCode::Any
@ Any
Definition
Reduction.h:29
open3d::core::kernel::ReductionSYCL
void ReductionSYCL(const Tensor &src, Tensor &dst, const SizeVector &dims, bool keepdim, ReductionOpCode op_code)
Definition
ReductionSYCL.cpp:210
open3d::core::kernel::ReductionCPU
void ReductionCPU(const Tensor &src, Tensor &dst, const SizeVector &dims, bool keepdim, ReductionOpCode op_code)
Definition
ReductionCPU.cpp:277
open3d::core::kernel::Reduction
void Reduction(const Tensor &src, Tensor &dst, const SizeVector &dims, bool keepdim, ReductionOpCode op_code)
Definition
Reduction.cpp:16
open3d::core
Definition
AdvancedIndexing.cpp:15
open3d
Definition
PinholeCameraIntrinsic.cpp:16
Helper.h
Generated by
1.17.0