TensorRT 8.2.5
NvInferConsistency.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 1993-2021 NVIDIA Corporation. All rights reserved.
3 *
4 * NOTICE TO LICENSEE:
5 *
6 * This source code and/or documentation ("Licensed Deliverables") are
7 * subject to NVIDIA intellectual property rights under U.S. and
8 * international Copyright laws.
9 *
10 * These Licensed Deliverables contained herein is PROPRIETARY and
11 * CONFIDENTIAL to NVIDIA and is being provided under the terms and
12 * conditions of a form of NVIDIA software license agreement by and
13 * between NVIDIA and Licensee ("License Agreement") or electronically
14 * accepted by Licensee. Notwithstanding any terms or conditions to
15 * the contrary in the License Agreement, reproduction or disclosure
16 * of the Licensed Deliverables to any third party without the express
17 * written consent of NVIDIA is prohibited.
18 *
19 * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
20 * LICENSE AGREEMENT, NVIDIA MAKES NO REPRESENTATION ABOUT THE
21 * SUITABILITY OF THESE LICENSED DELIVERABLES FOR ANY PURPOSE. IT IS
22 * PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.
23 * NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THESE LICENSED
24 * DELIVERABLES, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY,
25 * NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.
26 * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
27 * LICENSE AGREEMENT, IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY
28 * SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY
29 * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
30 * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
31 * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
32 * OF THESE LICENSED DELIVERABLES.
33 *
34 * U.S. Government End Users. These Licensed Deliverables are a
35 * "commercial item" as that term is defined at 48 C.F.R. 2.101 (OCT
36 * 1995), consisting of "commercial computer software" and "commercial
37 * computer software documentation" as such terms are used in 48
38 * C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government
39 * only as a commercial end item. Consistent with 48 C.F.R.12.212 and
40 * 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), all
41 * U.S. Government End Users acquire the Licensed Deliverables with
42 * only those rights set forth herein.
43 *
44 * Any use of the Licensed Deliverables in individual and commercial
45 * software must include, in the user documentation and internal
46 * comments to the code, the above Disclaimer and U.S. Government End
47 * Users Notice.
48 */
49
50#ifndef NV_INFER_CONSISTENCY_H
51#define NV_INFER_CONSISTENCY_H
52
55
59
60namespace nvinfer1
61{
62
63namespace consistency
64{
65
74{
75public:
78 //
82 bool validate() const noexcept
83 {
84 return mImpl->validate();
85 }
86
90 virtual ~IConsistencyChecker() = default;
91
92protected:
94 IConsistencyChecker() = default;
95 IConsistencyChecker(const IConsistencyChecker& other) = delete;
96 IConsistencyChecker& operator=(const IConsistencyChecker& other) = delete;
98 IConsistencyChecker& operator=(IConsistencyChecker&& other) = delete;
99};
100
113{
114public:
129 virtual bool validate(const char* name, const void* serialData, size_t serialLength, const PluginTensorDesc* in,
130 size_t nbInputs, const PluginTensorDesc* out, size_t nbOutputs, int64_t workspaceSize) const noexcept
131 = 0;
132
133 IPluginChecker() = default;
134 virtual ~IPluginChecker() override = default;
135
136protected:
137 IPluginChecker(IPluginChecker const&) = default;
138 IPluginChecker(IPluginChecker&&) = default;
139 IPluginChecker& operator=(IPluginChecker const&) & = default;
140 IPluginChecker& operator=(IPluginChecker&&) & = default;
141};
142
143} // namespace consistency
144
145} // namespace nvinfer1
146
147extern "C" TENSORRTAPI void* createConsistencyChecker_INTERNAL(void* logger, const void* blob, size_t size,
148 int32_t version);
149
150namespace nvinfer1
151{
152
153namespace consistency
154{
162namespace // anonymous
163{
164
165inline IConsistencyChecker* createConsistencyChecker(ILogger& logger, const void* blob, size_t size)
166{
167 return static_cast<IConsistencyChecker*>(
168 createConsistencyChecker_INTERNAL(&logger, blob, size, NV_TENSORRT_VERSION));
169}
170
171} // namespace
172
173} // namespace consistency
174
175} // namespace nvinfer1
176
177#endif // NV_INFER_CONSISTENCY_H
void * createConsistencyChecker_INTERNAL(void *logger, const void *blob, size_t size, int32_t version)
Internal C entry point for creating IConsistencyChecker.
Application-implemented logging interface for the builder, refitter and runtime.
Definition: NvInferRuntimeCommon.h:1506
Plugin creator class for user implemented layers.
Definition: NvInferRuntimeCommon.h:1108
Definition: NvInferConsistencyImpl.h:68
Validates a serialized engine blob.
Definition: NvInferConsistency.h:74
virtual ~IConsistencyChecker()=default
De-allocates any internally allocated memory.
bool validate() const noexcept
Check that a blob that was input to createConsistencyChecker method represents a valid engine.
Definition: NvInferConsistency.h:82
Consistency Checker plugin class for user implemented Plugins.
Definition: NvInferConsistency.h:113
virtual bool validate(const char *name, const void *serialData, size_t serialLength, const PluginTensorDesc *in, size_t nbInputs, const PluginTensorDesc *out, size_t nbOutputs, int64_t workspaceSize) const noexcept=0
Called during IConsistencyChecker::validate. Allows users to provide custom validation of serialized ...
The TensorRT API version 1 namespace.
Fields that a plugin might see for an input or output.
Definition: NvInferRuntimeCommon.h:370

  Copyright © 2024 NVIDIA Corporation
  Privacy Policy | Manage My Privacy | Do Not Sell or Share My Data | Terms of Service | Accessibility | Corporate Policies | Product Security | Contact