ReUseX  0.0.5
3D Point Cloud Processing for Building Reuse
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
12
13enum 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
27class 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
52std::shared_ptr<Engine> load(const std::string &file);
53}; // namespace reusex::vision::tensor_rt::TensorRT
virtual std::vector< int > run_dims(const std::string &name)=0
virtual int numel(const std::string &name)=0
virtual bool set_run_dims(const std::string &name, const std::vector< int > &dims)=0
virtual DType dtype(const std::string &name)=0
virtual void print(const char *name="TensorRT-Engine")=0
virtual bool forward(const std::unordered_map< std::string, const void * > &bindings, void *stream=nullptr, void *input_consum_event=nullptr)=0
virtual int index(const std::string &name)=0
virtual bool set_run_dims(int ibinding, const std::vector< int > &dims)=0
virtual std::vector< int > static_dims(int ibinding)=0
virtual std::vector< int > static_dims(const std::string &name)=0
virtual std::vector< int > run_dims(int ibinding)=0
virtual DType dtype(int ibinding)=0
virtual bool is_input(const std::string &name)=0
virtual bool is_input(int ibinding)=0
std::shared_ptr< Engine > load(const std::string &file)