chore: import upstream snapshot with attribution
Docker Image CI / build-ubuntu2004 (push) Has been cancelled
Docker Image CI / build-ubuntu2004 (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: Copyright (c) 1993-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef TRT_SAMPLE_ENTRYPOINTS_H
|
||||
#define TRT_SAMPLE_ENTRYPOINTS_H
|
||||
|
||||
//! \file sampleEntrypoints.h
|
||||
//!
|
||||
//! Declares and conditionally defines entrypoints needed to create base TensorRT objects, depending
|
||||
//! on whether the given sample uses TRT at link time or dynamically. Since common code is built once
|
||||
//! and shared across all samples (both link-time and dynamic TRT), it does not define these entrypoints,
|
||||
//! so each sample must define them individually.
|
||||
//!
|
||||
//! Samples that use TRT at link time can define DEFINE_TRT_ENTRYPOINTS before including this header to
|
||||
//! pick up the definitions here.
|
||||
|
||||
#include "NvInfer.h"
|
||||
#include "NvOnnxParser.h"
|
||||
#include "logger.h"
|
||||
|
||||
extern nvinfer1::IBuilder* createBuilder();
|
||||
extern nvinfer1::IRuntime* createRuntime();
|
||||
extern nvinfer1::IRefitter* createRefitter(nvinfer1::ICudaEngine& engine);
|
||||
extern nvonnxparser::IParser* createONNXParser(nvinfer1::INetworkDefinition& network);
|
||||
extern nvonnxparser::IParserRefitter* createONNXRefitter(nvinfer1::IRefitter& refitter);
|
||||
|
||||
#if !defined(DEFINE_TRT_ENTRYPOINTS)
|
||||
#define DEFINE_TRT_ENTRYPOINTS 0
|
||||
#endif
|
||||
|
||||
// Allow opting out of individual entrypoints that are unused by the sample
|
||||
#if !defined(DEFINE_TRT_BUILDER_ENTRYPOINT)
|
||||
#define DEFINE_TRT_BUILDER_ENTRYPOINT 1
|
||||
#endif
|
||||
#if !defined(DEFINE_TRT_RUNTIME_ENTRYPOINT)
|
||||
#define DEFINE_TRT_RUNTIME_ENTRYPOINT 1
|
||||
#endif
|
||||
#if !defined(DEFINE_TRT_REFITTER_ENTRYPOINT)
|
||||
#define DEFINE_TRT_REFITTER_ENTRYPOINT 1
|
||||
#endif
|
||||
#if !defined(DEFINE_TRT_ONNX_PARSER_ENTRYPOINT)
|
||||
#define DEFINE_TRT_ONNX_PARSER_ENTRYPOINT 1
|
||||
#endif
|
||||
|
||||
#if DEFINE_TRT_ENTRYPOINTS
|
||||
nvinfer1::IBuilder* createBuilder()
|
||||
{
|
||||
#if DEFINE_TRT_BUILDER_ENTRYPOINT
|
||||
return nvinfer1::createInferBuilder(sample::gLogger.getTRTLogger());
|
||||
#else
|
||||
return {};
|
||||
#endif
|
||||
}
|
||||
|
||||
nvinfer1::IRuntime* createRuntime()
|
||||
{
|
||||
#if DEFINE_TRT_RUNTIME_ENTRYPOINT
|
||||
return nvinfer1::createInferRuntime(sample::gLogger.getTRTLogger());
|
||||
#else
|
||||
return {};
|
||||
#endif
|
||||
}
|
||||
|
||||
nvinfer1::IRefitter* createRefitter(nvinfer1::ICudaEngine& engine)
|
||||
{
|
||||
#if DEFINE_TRT_REFITTER_ENTRYPOINT
|
||||
return nvinfer1::createInferRefitter(engine, sample::gLogger.getTRTLogger());
|
||||
#else
|
||||
return {};
|
||||
#endif
|
||||
}
|
||||
|
||||
nvonnxparser::IParser* createONNXParser(nvinfer1::INetworkDefinition& network)
|
||||
{
|
||||
#if DEFINE_TRT_ONNX_PARSER_ENTRYPOINT
|
||||
return nvonnxparser::createParser(network, sample::gLogger.getTRTLogger());
|
||||
#else
|
||||
return {};
|
||||
#endif
|
||||
}
|
||||
|
||||
nvonnxparser::IParserRefitter* createONNXRefitter(nvinfer1::IRefitter& refitter)
|
||||
{
|
||||
#if DEFINE_TRT_ONNX_PARSER_ENTRYPOINT
|
||||
return nvonnxparser::createParserRefitter(refitter, sample::gLogger.getTRTLogger());
|
||||
#else
|
||||
return {};
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif // DEFINE_TRT_ENTRYPOINTS
|
||||
|
||||
#endif // TRT_SAMPLE_ENTRYPOINTS_H
|
||||
Reference in New Issue
Block a user