Я пытаюсь сравнить вывод на тензорт с использованием зеленого контекста Cuda и расщепления SMS. Мой код работает нормально, когда я генерирую .Engine с фиксированными формами ввода, но он сбой, когда я строю двигатель с большими максимальными складами.#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
//
#define CUDA_RT(call) \
do { \
cudaError_t _err = (call); \
if ( cudaSuccess != _err ) { \
fprintf(stderr, "CUDA error in file '%s' at line %i: %s\n", \
__FILE__, __LINE__, cudaGetErrorString(_err)); \
return -1; \
} \
} while (0)
#define CUDA_DRV(call) \
do { \
CUresult _status = (call); \
if ( CUDA_SUCCESS != _status) { \
fprintf(stderr, "CUDA Driver error in file '%s' at line %i: %i\n", \
__FILE__, __LINE__, _status); \
return -1; \
} \
} while (0)
class Logger : public nvinfer1::ILogger {
void log(Severity severity, const char* msg) noexcept override {
if (severity
trtexec --onnx=convnext_large.onnx \
--saveEngine=convnext_large_bs5.engine \
--builderOptimizationLevel=0 \
--noTF32 \
--minShapes=input:1x3x224x224 \
--optShapes=input:1x3x224x224 \
--maxShapes=input:5x3x224x224
< /code>
Ошибка: < /p>
[TRT] [checkMacros.cpp::catchCudaError::212] Error Code 1: Cuda Runtime (invalid device context)
[TRT] IExecutionContext::enqueueV3: Error Code 1: Myelin ([cask.cpp:exec_with_offset:1448] Platform (Cuda) error).
< /code>
Примечание:
Устройство: Jetson orin nano 8gb
jetpack: 6.0.3 (L4T r36.4.3)
cuda: 12.2
tensorrt: 8.6.x (Default от jetpack 6.0.3)
cuud: 8.6.x (Default от jetpack 6.0.3)
cuud: 8.6.x (Default от jetpack 6. 9.x (по умолчанию из JetPack 6.0.3)
Подробнее здесь: https://stackoverflow.com/questions/797 ... n-contexts