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