ReUseX
0.0.5
3D Point Cloud Processing for Building Reuse
Toggle main menu visibility
Loading...
Searching...
No Matches
tensorrt.hpp
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: 2025 Povl Filip Sonne-Frederiksen
2
//
3
// SPDX-License-Identifier: GPL-3.0-or-later
4
5
#pragma once
6
#include <memory>
7
#include <string>
8
#include <unordered_map>
9
#include <vector>
10
11
namespace
reusex::vision::tensor_rt::TensorRT
{
12
13
enum class
DType
:
int
{
14
FLOAT
= 0,
15
HALF
= 1,
16
INT8
= 2,
17
INT32
= 3,
18
BOOL
= 4,
19
UINT8
= 5,
20
FP8
= 6,
21
BF16
= 7,
22
INT64
= 8,
23
INT4
= 9,
24
NONE
= -1
25
};
26
27
class
Engine
{
28
public
:
29
virtual
~Engine
() =
default
;
30
virtual
bool
31
forward
(
const
std::unordered_map<std::string, const void *> &bindings,
32
void
*stream =
nullptr
,
void
*input_consum_event =
nullptr
) = 0;
33
virtual
int
index
(
const
std::string &name) = 0;
34
virtual
std::vector<int>
run_dims
(
const
std::string &name) = 0;
35
virtual
std::vector<int>
run_dims
(
int
ibinding) = 0;
36
virtual
std::vector<int>
static_dims
(
const
std::string &name) = 0;
37
virtual
std::vector<int>
static_dims
(
int
ibinding) = 0;
38
virtual
int
numel
(
const
std::string &name) = 0;
39
virtual
int
numel
(
int
ibinding) = 0;
40
virtual
int
num_bindings
() = 0;
41
virtual
bool
is_input
(
int
ibinding) = 0;
42
virtual
bool
is_input
(
const
std::string &name) = 0;
43
virtual
bool
set_run_dims
(
const
std::string &name,
44
const
std::vector<int> &dims) = 0;
45
virtual
bool
set_run_dims
(
int
ibinding,
const
std::vector<int> &dims) = 0;
46
virtual
DType
dtype
(
const
std::string &name) = 0;
47
virtual
DType
dtype
(
int
ibinding) = 0;
48
virtual
bool
has_dynamic_dim
() = 0;
49
virtual
void
print
(
const
char
*name =
"TensorRT-Engine"
) = 0;
50
};
51
52
std::shared_ptr<Engine>
load
(
const
std::string &file);
53
};
// namespace reusex::vision::tensor_rt::TensorRT
reusex::vision::tensor_rt::TensorRT::Engine
Definition
tensorrt.hpp:27
reusex::vision::tensor_rt::TensorRT::Engine::run_dims
virtual std::vector< int > run_dims(const std::string &name)=0
reusex::vision::tensor_rt::TensorRT::Engine::numel
virtual int numel(const std::string &name)=0
reusex::vision::tensor_rt::TensorRT::Engine::set_run_dims
virtual bool set_run_dims(const std::string &name, const std::vector< int > &dims)=0
reusex::vision::tensor_rt::TensorRT::Engine::dtype
virtual DType dtype(const std::string &name)=0
reusex::vision::tensor_rt::TensorRT::Engine::print
virtual void print(const char *name="TensorRT-Engine")=0
reusex::vision::tensor_rt::TensorRT::Engine::forward
virtual bool forward(const std::unordered_map< std::string, const void * > &bindings, void *stream=nullptr, void *input_consum_event=nullptr)=0
reusex::vision::tensor_rt::TensorRT::Engine::index
virtual int index(const std::string &name)=0
reusex::vision::tensor_rt::TensorRT::Engine::set_run_dims
virtual bool set_run_dims(int ibinding, const std::vector< int > &dims)=0
reusex::vision::tensor_rt::TensorRT::Engine::static_dims
virtual std::vector< int > static_dims(int ibinding)=0
reusex::vision::tensor_rt::TensorRT::Engine::static_dims
virtual std::vector< int > static_dims(const std::string &name)=0
reusex::vision::tensor_rt::TensorRT::Engine::num_bindings
virtual int num_bindings()=0
reusex::vision::tensor_rt::TensorRT::Engine::run_dims
virtual std::vector< int > run_dims(int ibinding)=0
reusex::vision::tensor_rt::TensorRT::Engine::dtype
virtual DType dtype(int ibinding)=0
reusex::vision::tensor_rt::TensorRT::Engine::numel
virtual int numel(int ibinding)=0
reusex::vision::tensor_rt::TensorRT::Engine::is_input
virtual bool is_input(const std::string &name)=0
reusex::vision::tensor_rt::TensorRT::Engine::~Engine
virtual ~Engine()=default
reusex::vision::tensor_rt::TensorRT::Engine::is_input
virtual bool is_input(int ibinding)=0
reusex::vision::tensor_rt::TensorRT::Engine::has_dynamic_dim
virtual bool has_dynamic_dim()=0
reusex::vision::tensor_rt::TensorRT
Definition
tensorrt.hpp:11
reusex::vision::tensor_rt::TensorRT::DType
DType
Definition
tensorrt.hpp:13
reusex::vision::tensor_rt::TensorRT::DType::INT64
@ INT64
Definition
tensorrt.hpp:22
reusex::vision::tensor_rt::TensorRT::DType::INT32
@ INT32
Definition
tensorrt.hpp:17
reusex::vision::tensor_rt::TensorRT::DType::HALF
@ HALF
Definition
tensorrt.hpp:15
reusex::vision::tensor_rt::TensorRT::DType::INT4
@ INT4
Definition
tensorrt.hpp:23
reusex::vision::tensor_rt::TensorRT::DType::BOOL
@ BOOL
Definition
tensorrt.hpp:18
reusex::vision::tensor_rt::TensorRT::DType::NONE
@ NONE
Definition
tensorrt.hpp:24
reusex::vision::tensor_rt::TensorRT::DType::FP8
@ FP8
Definition
tensorrt.hpp:20
reusex::vision::tensor_rt::TensorRT::DType::FLOAT
@ FLOAT
Definition
tensorrt.hpp:14
reusex::vision::tensor_rt::TensorRT::DType::UINT8
@ UINT8
Definition
tensorrt.hpp:19
reusex::vision::tensor_rt::TensorRT::DType::INT8
@ INT8
Definition
tensorrt.hpp:16
reusex::vision::tensor_rt::TensorRT::DType::BF16
@ BF16
Definition
tensorrt.hpp:21
reusex::vision::tensor_rt::TensorRT::load
std::shared_ptr< Engine > load(const std::string &file)
libs
reusex
include
vision
tensor_rt
common
tensorrt.hpp
Generated by
1.17.0