-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Description
[ERROR] IBuilderConfig::setDeviceType: Error Code 3: API Usage Error (Parameter check failed, condition: (layer) != nullptr. )
TensorRT-RTX == 1.0.0.21
cuda: 12.8
GPU: RTX 5090
int main() {
int device = 0;
// Get the current CUDA device and its properties
cudaDeviceProp prop;
cudaGetDeviceProperties(&prop, device);
int major = prop.major;
int minor = prop.minor;
std::cout << "SM Architecture: sm_" << major << minor << std::endl;
// Get the maximum shared memory per block
cudaGetDevice(&device);
int sharedMemPerBlock = 0;
cudaDeviceGetAttribute(&sharedMemPerBlock, cudaDevAttrMaxSharedMemoryPerBlockOptin, device);
std::cout << "Shared memory per block (with opt-in): " << sharedMemPerBlock / 1024 << " KB" << std::endl;
const char* onnxModelPath = "..\\data\\model_f16\\model.onnx";
const char* engineOutputPath = "..\\data\\model_f16\\model5.engine";
// Step 1: Create builder, network, config, verbose
auto builder = std::unique_ptr<nvinfer1::IBuilder>(nvinfer1::createInferBuilder(logger));
const auto explicitBatch = 1U << static_cast<uint32_t>(nvinfer1::NetworkDefinitionCreationFlag::kEXPLICIT_BATCH);
auto network = std::unique_ptr<nvinfer1::INetworkDefinition>(builder->createNetworkV2(explicitBatch));
auto config = std::unique_ptr<nvinfer1::IBuilderConfig>(builder->createBuilderConfig());
// Step 2: Parse ONNX model
auto parser = std::unique_ptr<nvonnxparser::IParser>(nvonnxparser::createParser(*network, logger));
if (!parser->parseFromFile(onnxModelPath, static_cast<int>(nvinfer1::ILogger::Severity::kWARNING))) {
std::cerr << "Failed to parse ONNX file" << std::endl;
return 1;
}
// Step 3: Set max workspace size (80% resources of CPU) and enable FP16 if needed
int total_threads = std::thread::hardware_concurrency();
int threads_to_use = total_threads * 0.8;
builder->setMaxThreads(threads_to_use);
config->setMemoryPoolLimit(nvinfer1::MemoryPoolType::kWORKSPACE, 1ULL << 32); // 2^32 GB ~ 4 GB
//config->setMemoryPoolLimit(nvinfer1::MemoryPoolType::kTACTIC_SHARED_MEMORY, (sharedMemPerBlock / 1024) - 10 << 10); // 10 KB less than max shared memory per block
// Enable FP16 if the GPU platform supports it
if (builder->platformHasFastFp16())
config->setFlag(nvinfer1::BuilderFlag::kFP16);
// Step 4: Build engine
std::cout << "Building TensorRT engine..." << std::endl;
auto t1 = std::chrono::high_resolution_clock::now();
auto engine = std::unique_ptr<nvinfer1::IHostMemory>(builder->buildSerializedNetwork(*network, *config));
if (!engine) {
std::cerr << "Failed to build engine!" << std::endl;
return 1;
}
auto t2 = std::chrono::high_resolution_clock::now();
auto duration = std::chrono::duration<double>(t2 - t1).count();
std::cout << "Engine built in " << duration/60 << " minutes" << std::endl;
// Step 5: Save engine to file
std::ofstream outFile(engineOutputPath, std::ios::binary);
outFile.write(reinterpret_cast<const char*>(engine->data()), engine->size());
outFile.close();
std::cout << "Successfully built TensorRT engine: " << engineOutputPath << std::endl;
return 0;
}
I was printed all layer but nothing are null
Layer 0: input_cast_to_/backbone/stem/stem.0/Conv
Layer 1: /backbone/stem/stem.0/Conv
Layer 2: /backbone/stem/stem.2/Relu
Layer 3: /backbone/stem/stem.3/Conv
Layer 4: /backbone/stem/stem.5/Relu
Layer 5: /backbone/stem/stem.6/Conv
Layer 6: /backbone/stem/stem.8/Relu
Layer 7: /backbone/maxpool/MaxPool
Layer 8: /backbone/layer1/layer1.0/conv1/Conv
Layer 9: /backbone/layer1/layer1.0/relu/Relu
Layer 10: /backbone/layer1/layer1.0/conv2/Conv
Layer 11: /backbone/layer1/layer1.0/relu_1/Relu
Layer 12: /backbone/layer1/layer1.0/conv3/Conv
Layer 13: /backbone/layer1/layer1.0/downsample/downsample.0/Conv
Layer 14: /backbone/layer1/layer1.0/Add
Layer 15: /backbone/layer1/layer1.0/relu_2/Relu
Layer 16: /backbone/layer1/layer1.1/conv1/Conv
Layer 17: /backbone/layer1/layer1.1/relu/Relu
Layer 18: /backbone/layer1/layer1.1/conv2/Conv
Layer 19: /backbone/layer1/layer1.1/relu_1/Relu
Layer 20: /backbone/layer1/layer1.1/conv3/Conv
Layer 21: /backbone/layer1/layer1.1/Add
Layer 22: /backbone/layer1/layer1.1/relu_2/Relu
Layer 23: /backbone/layer1/layer1.2/conv1/Conv
Layer 24: /backbone/layer1/layer1.2/relu/Relu
Layer 25: /backbone/layer1/layer1.2/conv2/Conv
Layer 26: /backbone/layer1/layer1.2/relu_1/Relu
Layer 27: /backbone/layer1/layer1.2/conv3/Conv
Layer 28: /backbone/layer1/layer1.2/Add
Layer 29: /backbone/layer1/layer1.2/relu_2/Relu
Layer 30: /backbone/layer2/layer2.0/conv1/Conv
Layer 31: /backbone/layer2/layer2.0/relu/Relu
Layer 32: /backbone/layer2/layer2.0/conv2/Conv
Layer 33: /backbone/layer2/layer2.0/relu_1/Relu
Layer 34: /backbone/layer2/layer2.0/conv3/Conv
Layer 35: /backbone/layer2/layer2.0/downsample/downsample.0/Conv
Layer 36: /backbone/layer2/layer2.0/Add
Layer 37: /backbone/layer2/layer2.0/relu_2/Relu
Layer 38: /backbone/layer2/layer2.1/conv1/Conv
Layer 39: /backbone/layer2/layer2.1/relu/Relu
Layer 40: /backbone/layer2/layer2.1/conv2/Conv
Layer 41: /backbone/layer2/layer2.1/relu_1/Relu
Layer 42: /backbone/layer2/layer2.1/conv3/Conv
Layer 43: /backbone/layer2/layer2.1/Add
Layer 44: /backbone/layer2/layer2.1/relu_2/Relu
Layer 45: /backbone/layer2/layer2.2/conv1/Conv
Layer 46: /backbone/layer2/layer2.2/relu/Relu
Layer 47: /backbone/layer2/layer2.2/conv2/Conv
Layer 48: /backbone/layer2/layer2.2/relu_1/Relu
Layer 49: /backbone/layer2/layer2.2/conv3/Conv
Layer 50: /backbone/layer2/layer2.2/Add
Layer 51: /backbone/layer2/layer2.2/relu_2/Relu
Layer 52: /backbone/layer2/layer2.3/conv1/Conv
Layer 53: /backbone/layer2/layer2.3/relu/Relu
Layer 54: /backbone/layer2/layer2.3/conv2/Conv
Layer 55: /backbone/layer2/layer2.3/relu_1/Relu
Layer 56: /backbone/layer2/layer2.3/conv3/Conv
Layer 57: /backbone/layer2/layer2.3/Add
Layer 58: /backbone/layer2/layer2.3/relu_2/Relu
Layer 59: /backbone/layer3/layer3.0/conv1/Conv
Layer 60: /backbone/layer3/layer3.0/relu/Relu
Layer 61: /backbone/layer3/layer3.0/conv2/Conv
Layer 62: /backbone/layer3/layer3.0/relu_1/Relu
Layer 63: /backbone/layer3/layer3.0/conv3/Conv
Layer 64: /backbone/layer3/layer3.0/downsample/downsample.0/Conv
Layer 65: /backbone/layer3/layer3.0/Add
Layer 66: /backbone/layer3/layer3.0/relu_2/Relu
Layer 67: /backbone/layer3/layer3.1/conv1/Conv
Layer 68: /backbone/layer3/layer3.1/relu/Relu
Layer 69: /backbone/layer3/layer3.1/conv2/Conv
Layer 70: /backbone/layer3/layer3.1/relu_1/Relu
Layer 71: /backbone/layer3/layer3.1/conv3/Conv
Layer 72: /backbone/layer3/layer3.1/Add
Layer 73: /backbone/layer3/layer3.1/relu_2/Relu
Layer 74: /backbone/layer3/layer3.2/conv1/Conv
Layer 75: /backbone/layer3/layer3.2/relu/Relu
Layer 76: /backbone/layer3/layer3.2/conv2/Conv
Layer 77: /backbone/layer3/layer3.2/relu_1/Relu
Layer 78: /backbone/layer3/layer3.2/conv3/Conv
Layer 79: /backbone/layer3/layer3.2/Add
Layer 80: /backbone/layer3/layer3.2/relu_2/Relu
Layer 81: /backbone/layer3/layer3.3/conv1/Conv
Layer 82: /backbone/layer3/layer3.3/relu/Relu
Layer 83: /backbone/layer3/layer3.3/conv2/Conv
Layer 84: /backbone/layer3/layer3.3/relu_1/Relu
Layer 85: /backbone/layer3/layer3.3/conv3/Conv
Layer 86: /backbone/layer3/layer3.3/Add
Layer 87: /backbone/layer3/layer3.3/relu_2/Relu
Layer 88: /backbone/layer3/layer3.4/conv1/Conv
Layer 89: /backbone/layer3/layer3.4/relu/Relu
Layer 90: /backbone/layer3/layer3.4/conv2/Conv
Layer 91: /backbone/layer3/layer3.4/relu_1/Relu
Layer 92: /backbone/layer3/layer3.4/conv3/Conv
Layer 93: /backbone/layer3/layer3.4/Add
Layer 94: /backbone/layer3/layer3.4/relu_2/Relu
Layer 95: /backbone/layer3/layer3.5/conv1/Conv
Layer 96: /backbone/layer3/layer3.5/relu/Relu
Layer 97: /backbone/layer3/layer3.5/conv2/Conv
Layer 98: /backbone/layer3/layer3.5/relu_1/Relu
Layer 99: /backbone/layer3/layer3.5/conv3/Conv
Layer 100: /backbone/layer3/layer3.5/Add
Layer 101: /backbone/layer3/layer3.5/relu_2/Relu
Layer 102: /backbone/layer4/layer4.0/conv1/Conv
Layer 103: /backbone/layer4/layer4.0/relu/Relu
Layer 104: /backbone/layer4/layer4.0/conv2/Conv
Layer 105: /backbone/layer4/layer4.0/relu_1/Relu
Layer 106: /backbone/layer4/layer4.0/conv3/Conv
Layer 107: /backbone/layer4/layer4.0/downsample/downsample.0/Conv
Layer 108: /backbone/layer4/layer4.0/Add
Layer 109: /backbone/layer4/layer4.0/relu_2/Relu
Layer 110: /backbone/layer4/layer4.1/conv1/Conv
Layer 111: /backbone/layer4/layer4.1/relu/Relu
Layer 112: /backbone/layer4/layer4.1/conv2/Conv
Layer 113: /backbone/layer4/layer4.1/relu_1/Relu
Layer 114: /backbone/layer4/layer4.1/conv3/Conv
Layer 115: /backbone/layer4/layer4.1/Add
Layer 116: /backbone/layer4/layer4.1/relu_2/Relu
Layer 117: /backbone/layer4/layer4.2/conv1/Conv
Layer 118: /backbone/layer4/layer4.2/relu/Relu
Layer 119: /backbone/layer4/layer4.2/conv2/Conv
Layer 120: /backbone/layer4/layer4.2/relu_1/Relu
Layer 121: /backbone/layer4/layer4.2/conv3/Conv
Layer 122: /backbone/layer4/layer4.2/Add
Layer 123: /backbone/layer4/layer4.2/relu_2/Relu
Layer 124: /image_pool/image_pool.0/GlobalAveragePool
Layer 125: /image_pool/image_pool.1/conv/Conv
Layer 126: /image_pool/image_pool.1/activate/Relu
Layer 127: /Shape
Layer 128: (Unnamed Layer* 128) [Cast]
Layer 129: /Constant_1_output_0
Layer 130: ONNXTRT_castHelper
Layer 131: /Constant_2_output_0
Layer 132: ONNXTRT_castHelper_0
Layer 133: ONNXTRT_ShapeTensorFromDims
Layer 134: ONNXTRT_ShapeElementWise
Layer 135: ONNXTRT_ShapeTensorFromDims_2
Layer 136: ONNXTRT_ShapeElementWise_3
Layer 137: ONNXTRT_ShapeTensorFromDims_5
Layer 138: ONNXTRT_ShapeElementWise_6
Layer 139: ONNXTRT_ShapeElementWise_7
Layer 140: ONNXTRT_ShapeTensorFromDims_9
Layer 141: ONNXTRT_ShapeElementWise_10
Layer 142: ONNXTRT_ShapeElementWise_11
Layer 143: ONNXTRT_ShapeTensorFromDims_13
Layer 144: ONNXTRT_ShapeElementWise_14
Layer 145: ONNXTRT_ShapeTensorFromDims_16
Layer 146: ONNXTRT_ShapeElementWise_17
Layer 147: ONNXTRT_ShapeElementWise_18
Layer 148: ONNXTRT_ShapeElementWise_19
Layer 149: ONNXTRT_ShapeTensorFromDims_21
Layer 150: ONNXTRT_ShapeElementWise_22
Layer 151: ONNXTRT_ShapeElementWise_23
Layer 152: ONNXTRT_ShapeElementWise_24
Layer 153: ONNXTRT_ShapeTensorFromDims_26
Layer 154: ONNXTRT_ShapeElementWise_27
Layer 155: /Slice
Layer 156: /Constant_3_output_0
Layer 157: /Concat
Layer 158: /aspp_modules/aspp_modules.0/conv/Conv
Layer 159: /aspp_modules/aspp_modules.0/activate/Relu
Layer 160: /aspp_modules/aspp_modules.1/depthwise_conv/conv/Conv
Layer 161: /aspp_modules/aspp_modules.1/depthwise_conv/activate/Relu
Layer 162: /aspp_modules/aspp_modules.1/pointwise_conv/conv/Conv
Layer 163: /aspp_modules/aspp_modules.1/pointwise_conv/activate/Relu
Layer 164: /aspp_modules/aspp_modules.2/depthwise_conv/conv/Conv
Layer 165: /aspp_modules/aspp_modules.2/depthwise_conv/activate/Relu
Layer 166: /aspp_modules/aspp_modules.2/pointwise_conv/conv/Conv
Layer 167: /aspp_modules/aspp_modules.2/pointwise_conv/activate/Relu
Layer 168: /aspp_modules/aspp_modules.3/depthwise_conv/conv/Conv
Layer 169: /aspp_modules/aspp_modules.3/depthwise_conv/activate/Relu
Layer 170: /aspp_modules/aspp_modules.3/pointwise_conv/conv/Conv
Layer 171: /aspp_modules/aspp_modules.3/pointwise_conv/activate/Relu
Layer 172: /c1_bottleneck/conv/Conv
Layer 173: /c1_bottleneck/activate/Relu
Layer 174: /Resize_input_cast0
Layer 175: /Resize
Layer 176: /Resize_output_cast0
Layer 177: /Concat_1
Layer 178: /bottleneck/conv/Conv
Layer 179: /bottleneck/activate/Relu
Layer 180: /Shape_1
Layer 181: (Unnamed Layer* 181) [Cast]
Layer 182: /Constant_5_output_0
Layer 183: ONNXTRT_castHelper_28
Layer 184: /Constant_6_output_0
Layer 185: ONNXTRT_castHelper_29
Layer 186: ONNXTRT_ShapeTensorFromDims_31
Layer 187: ONNXTRT_ShapeElementWise_32
Layer 188: ONNXTRT_ShapeTensorFromDims_34
Layer 189: ONNXTRT_ShapeElementWise_35
Layer 190: ONNXTRT_ShapeTensorFromDims_37
Layer 191: ONNXTRT_ShapeElementWise_38
Layer 192: ONNXTRT_ShapeElementWise_39
Layer 193: ONNXTRT_ShapeTensorFromDims_41
Layer 194: ONNXTRT_ShapeElementWise_42
Layer 195: ONNXTRT_ShapeElementWise_43
Layer 196: ONNXTRT_ShapeTensorFromDims_45
Layer 197: ONNXTRT_ShapeElementWise_46
Layer 198: ONNXTRT_ShapeTensorFromDims_48
Layer 199: ONNXTRT_ShapeElementWise_49
Layer 200: ONNXTRT_ShapeElementWise_50
Layer 201: ONNXTRT_ShapeElementWise_51
Layer 202: ONNXTRT_ShapeTensorFromDims_53
Layer 203: ONNXTRT_ShapeElementWise_54
Layer 204: ONNXTRT_ShapeElementWise_55
Layer 205: ONNXTRT_ShapeElementWise_56
Layer 206: ONNXTRT_ShapeTensorFromDims_58
Layer 207: ONNXTRT_ShapeElementWise_59
Layer 208: /Slice_1
Layer 209: /Constant_7_output_0
Layer 210: /Concat_2
Layer 211: /Resize_1_input_cast0
Layer 212: /Resize_1
Layer 213: /Resize_1_output_cast0
Layer 214: /Concat_3
Layer 215: /sep_bottleneck/sep_bottleneck.0/depthwise_conv/conv/Conv
Layer 216: /sep_bottleneck/sep_bottleneck.0/depthwise_conv/activate/Relu
Layer 217: /sep_bottleneck/sep_bottleneck.0/pointwise_conv/conv/Conv
Layer 218: /sep_bottleneck/sep_bottleneck.0/pointwise_conv/activate/Relu
Layer 219: /sep_bottleneck/sep_bottleneck.1/depthwise_conv/conv/Conv
Layer 220: /sep_bottleneck/sep_bottleneck.1/depthwise_conv/activate/Relu
Layer 221: /sep_bottleneck/sep_bottleneck.1/pointwise_conv/conv/Conv
Layer 222: /sep_bottleneck/sep_bottleneck.1/pointwise_conv/activate/Relu
Layer 223: /conv_seg/Conv
Layer 224: /conv_seg/Conv_cast_to_output