Open3D (C++ API)  0.17.0
ISAInfo.h
Go to the documentation of this file.
1// ----------------------------------------------------------------------------
2// - Open3D: www.open3d.org -
3// ----------------------------------------------------------------------------
4// Copyright (c) 2018-2023 www.open3d.org
5// SPDX-License-Identifier: MIT
6// ----------------------------------------------------------------------------
7#pragma once
8
9#include <memory>
10
11namespace open3d {
12namespace utility {
13
15enum class ISATarget {
16 /* x86 */
17 SSE2 = 100,
18 SSE4 = 101,
19 AVX = 102,
20 AVX2 = 103,
21 AVX512KNL = 104,
22 AVX512SKX = 105,
23 /* ARM */
24 NEON = 200,
25 /* GPU */
26 GENX = 300,
27 /* Special values */
28 UNKNOWN = -1,
29 /* Additional value for disabled support */
30 DISABLED = -100
31};
32
36class ISAInfo {
37public:
38 static ISAInfo& GetInstance();
39
40 ~ISAInfo() = default;
41 ISAInfo(const ISAInfo&) = delete;
42 void operator=(const ISAInfo&) = delete;
43
46
48 void Print() const;
49
50private:
51 ISAInfo();
52 struct Impl;
53 std::unique_ptr<Impl> impl_;
54};
55
56} // namespace utility
57} // namespace open3d
ISA information.
Definition: ISAInfo.h:36
void Print() const
Prints ISAInfo in the console.
Definition: ISAInfo.cpp:78
ISAInfo(const ISAInfo &)=delete
ISATarget SelectedTarget() const
Returns the dispatched ISA target that will be used in kernel code.
Definition: ISAInfo.cpp:76
static ISAInfo & GetInstance()
Definition: ISAInfo.cpp:71
void operator=(const ISAInfo &)=delete
ISATarget
Set of known ISA targets.
Definition: ISAInfo.h:15
Definition: PinholeCameraIntrinsic.cpp:16
Definition: ISAInfo.cpp:19