tensorrt 0.1.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/tensorrt_rb/tensorrt_rb.cpp +21 -2
- data/lib/tensorrt/version.rb +5 -0
- data/tensorrt.gemspec +4 -2
- metadata +5 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8a0f3db3e3097f404638a13f66c9ce734f2eece4fad78c8cb3a7c7285b9bf26d
|
|
4
|
+
data.tar.gz: e154c61c9e7c38b89851fb4351551232da0c06e6ffba4cb051904c0fd4ade987
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6105c9e148a53c09426043ab400d3750b2a62e1074512451302447e3a33ffbec8b23c233d8ec93d2f4a8a4ea29a1f43cacfc34a3117f841ac27fe635ca7037ba
|
|
7
|
+
data.tar.gz: a84a24ba7fbe0d2da9ff111d6245b0f46ca7bad7495f6dd2ab364ea1af5c364f07930d54bc440da54f3358f26086a13d73e20b1b528ce552724febb2d4f60e53
|
|
@@ -29,9 +29,13 @@ public:
|
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
31
|
|
|
32
|
+
static TRTLogger& get_logger() {
|
|
33
|
+
static TRTLogger instance;
|
|
34
|
+
return instance;
|
|
35
|
+
}
|
|
36
|
+
|
|
32
37
|
class TRTEngine {
|
|
33
38
|
private:
|
|
34
|
-
TRTLogger logger;
|
|
35
39
|
std::unique_ptr<nvinfer1::IRuntime> runtime;
|
|
36
40
|
std::unique_ptr<nvinfer1::ICudaEngine> engine;
|
|
37
41
|
std::unique_ptr<nvinfer1::IExecutionContext> context;
|
|
@@ -40,6 +44,7 @@ private:
|
|
|
40
44
|
|
|
41
45
|
public:
|
|
42
46
|
TRTEngine(const std::string& engine_path, bool verbose = false) {
|
|
47
|
+
auto& logger = get_logger();
|
|
43
48
|
logger.verbose = verbose;
|
|
44
49
|
|
|
45
50
|
std::ifstream file(engine_path, std::ios::binary);
|
|
@@ -110,7 +115,21 @@ public:
|
|
|
110
115
|
|
|
111
116
|
size_t get_tensor_bytes(const std::string& name) const {
|
|
112
117
|
auto dims = engine->getTensorShape(name.c_str());
|
|
113
|
-
|
|
118
|
+
auto dtype = engine->getTensorDataType(name.c_str());
|
|
119
|
+
size_t element_size;
|
|
120
|
+
switch (dtype) {
|
|
121
|
+
case nvinfer1::DataType::kINT64: element_size = 8; break;
|
|
122
|
+
case nvinfer1::DataType::kFLOAT:
|
|
123
|
+
case nvinfer1::DataType::kINT32: element_size = 4; break;
|
|
124
|
+
case nvinfer1::DataType::kHALF:
|
|
125
|
+
case nvinfer1::DataType::kBF16: element_size = 2; break;
|
|
126
|
+
case nvinfer1::DataType::kINT8:
|
|
127
|
+
case nvinfer1::DataType::kBOOL:
|
|
128
|
+
case nvinfer1::DataType::kFP8:
|
|
129
|
+
case nvinfer1::DataType::kUINT8: element_size = 1; break;
|
|
130
|
+
default: element_size = 4; break;
|
|
131
|
+
}
|
|
132
|
+
size_t bytes = element_size;
|
|
114
133
|
for (int i = 0; i < dims.nbDims; i++) {
|
|
115
134
|
bytes *= dims.d[i];
|
|
116
135
|
}
|
data/tensorrt.gemspec
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative "lib/tensorrt/version"
|
|
4
|
+
|
|
3
5
|
Gem::Specification.new do |spec|
|
|
4
6
|
spec.name = "tensorrt"
|
|
5
|
-
spec.version =
|
|
6
|
-
spec.author = "Pete
|
|
7
|
+
spec.version = TensorRT::VERSION
|
|
8
|
+
spec.author = "Pete Matsyburka"
|
|
7
9
|
spec.email = ["pete@docuseal.com"]
|
|
8
10
|
|
|
9
11
|
spec.summary = "Minimal TensorRT bindings for Ruby using Rice"
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: tensorrt
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 1.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
|
-
- Pete
|
|
7
|
+
- Pete Matsyburka
|
|
8
8
|
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: rice
|
|
@@ -79,6 +79,7 @@ files:
|
|
|
79
79
|
- ext/tensorrt_rb/tensorrt_rb.cpp
|
|
80
80
|
- lib/tensorrt.rb
|
|
81
81
|
- lib/tensorrt/cuda.rb
|
|
82
|
+
- lib/tensorrt/version.rb
|
|
82
83
|
- tensorrt.gemspec
|
|
83
84
|
homepage: https://github.com/docusealco/tensorrt-rb
|
|
84
85
|
licenses:
|
|
@@ -98,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
98
99
|
- !ruby/object:Gem::Version
|
|
99
100
|
version: '0'
|
|
100
101
|
requirements: []
|
|
101
|
-
rubygems_version:
|
|
102
|
+
rubygems_version: 4.0.3
|
|
102
103
|
specification_version: 4
|
|
103
104
|
summary: Minimal TensorRT bindings for Ruby using Rice
|
|
104
105
|
test_files: []
|