diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 88d2a1c30c..a684f3909c 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -504,7 +504,7 @@ endif() if (onnxruntime_USE_TENSORRT) if (WIN32) - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /DELAYLOAD:nvinfer.dll /DELAYLOAD:nvinfer_plugin.dll") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /DELAYLOAD:nvinfer.dll") endif() endif() diff --git a/onnxruntime/core/providers/tensorrt/symbols.txt b/onnxruntime/core/providers/tensorrt/symbols.txt index 8c11231f1f..47950c476c 100755 --- a/onnxruntime/core/providers/tensorrt/symbols.txt +++ b/onnxruntime/core/providers/tensorrt/symbols.txt @@ -1 +1 @@ -OrtCreateTensorrtExecutionProviderFactory +OrtSessionOptionsAppendExecutionProvider_Tensorrt diff --git a/onnxruntime/core/providers/tensorrt/tensorrt_execution_provider.cc b/onnxruntime/core/providers/tensorrt/tensorrt_execution_provider.cc index d6a421a54e..abaef5a644 100755 --- a/onnxruntime/core/providers/tensorrt/tensorrt_execution_provider.cc +++ b/onnxruntime/core/providers/tensorrt/tensorrt_execution_provider.cc @@ -71,7 +71,6 @@ TensorrtExecutionProvider::GetCapability(const onnxruntime::GraphViewer& graph, auto trt_network = unique_pointer(trt_builder->createNetwork()); auto trt_parser = unique_pointer(nvonnxparser::createParser(*trt_network, trt_logger)); trt_parser->supportsModel(string_buf.data(), string_buf.size(), supported_nodes_vector); - model_proto.release_graph(); // Find inputs, initializers and outputs for each supported subgraph std::vector> result; @@ -79,11 +78,7 @@ TensorrtExecutionProvider::GetCapability(const onnxruntime::GraphViewer& graph, int counter = 0; for (const auto& group : supported_nodes_vector) { if (!group.empty()) { - std::set node_set(group.begin(), group.end()); //slx - //std::set node_set; - //for (const auto& index : group) { - // node_set.insert(node_index[index]); - //} + std::set node_set(group.begin(), group.end()); std::unique_ptr sub_graph = std::make_unique(); // Find inputs and outputs of the subgraph std::map fused_inputs, fused_outputs, fused_outputs_to_add; @@ -95,9 +90,6 @@ TensorrtExecutionProvider::GetCapability(const onnxruntime::GraphViewer& graph, supported_nodes_set.insert(index); sub_graph->nodes.push_back(index); const auto& node = graph.GetNode(index); - //supported_nodes_set.insert(node_index[index]); - //sub_graph->nodes.push_back(node_index[index]); - //const auto& node = graph.GetNode(node_index[index]); for (const auto& input : node->InputDefs()) { const auto& it = fused_outputs.find(input); diff --git a/tools/ci_build/build.py b/tools/ci_build/build.py index 099716f479..bb03441ead 100755 --- a/tools/ci_build/build.py +++ b/tools/ci_build/build.py @@ -700,8 +700,9 @@ def main(): if is_windows() or not os.path.exists(onnx_test_data_dir): onnx_test_data_dir = os.path.join(source_dir, "cmake", "external", "onnx", "onnx", "backend", "test", "data") if args.use_tensorrt: - # Disable onnx unit tests for TensorRT because many tests are not supported yet - run_onnx_tests(build_dir, configs, '', 'tensorrt', False, 1) + # Disable some onnx unit tests that TensorRT parser doesn't supported yet + onnx_test_data_dir = os.path.join(source_dir, "cmake", "external", "onnx", "onnx", "backend", "test", "data", "simple") + run_onnx_tests(build_dir, configs, onnx_test_data_dir, 'tensorrt', False, 1) elif args.use_cuda: run_onnx_tests(build_dir, configs, onnx_test_data_dir, 'cuda', False, 2) elif args.x86 or platform.system() == 'Darwin': diff --git a/tools/ci_build/github/azure-pipelines/win-gpu-tensorrt-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/win-gpu-tensorrt-ci-pipeline.yml index babd6f22fc..986e9ca7df 100644 --- a/tools/ci_build/github/azure-pipelines/win-gpu-tensorrt-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/win-gpu-tensorrt-ci-pipeline.yml @@ -4,8 +4,12 @@ jobs: variables: buildDirectory: '$(Build.BinariesDirectory)' CUDA_VERSION: '10.0' + # There are some tests in 20190130.zip that TensorRT can't run. Instead here use 20181210 opset8 for TensorRT test. + TestDataUrl: https://onnxruntimetestdata.blob.core.windows.net/models/20181210.zip + TestDataChecksum: a966def7447f4ff04f5665bca235b3f3 + steps: - - template: templates/set-test-data-variables-step.yml + # - template: templates/set-test-data-variables-step.yml - task: NuGetCommand@2 displayName: 'NuGet restore' inputs: @@ -58,7 +62,7 @@ jobs: displayName: 'Download test data and generate cmake config' inputs: filename: '$(Build.BinariesDirectory)\packages\python\python.exe' - arguments: '$(Build.SourcesDirectory)\tools\ci_build\build.py --config Debug Release --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --cmake_path $(Build.BinariesDirectory)\cmake\bin\cmake.exe --ctest_path $(Build.BinariesDirectory)\cmake\bin\ctest.exe --enable_pybind --use_openmp --use_mkldnn --use_mkldnn --build_shared_lib --enable_onnx_tests --use_cuda --cuda_home="C:\local\cuda_10.0.130_win10" --cudnn_home="C:\local\cudnn-10.0-windows10-x64-v7.3.1.20\cuda" --use_full_protobuf --use_tensorrt --tensorrt_home="C:\local\TensorRT-5.0.4.3" --test_data_url $(TestDataUrl) --test_data_checksum $(TestDataChecksum) --update --msvc_toolset=14.11' + arguments: '$(Build.SourcesDirectory)\tools\ci_build\build.py --config Debug Release --build_dir $(Build.BinariesDirectory) --cmake_path $(Build.BinariesDirectory)\cmake\bin\cmake.exe --ctest_path $(Build.BinariesDirectory)\cmake\bin\ctest.exe --enable_pybind --use_openmp --use_mkldnn --use_mkldnn --build_shared_lib --enable_onnx_tests --cuda_home="C:\local\cuda_10.0.130_win10" --cudnn_home="C:\local\cudnn-10.0-windows10-x64-v7.3.1.20\cuda" --use_full_protobuf --use_tensorrt --tensorrt_home="C:\local\TensorRT-5.0.4.3" --test_data_url $(TestDataUrl) --test_data_checksum $(TestDataChecksum) --update --msvc_toolset=14.11' workingDirectory: "$(Build.BinariesDirectory)" - task: VSBuild@1 @@ -75,7 +79,7 @@ jobs: displayName: 'Test Debug' inputs: filename: '$(Build.BinariesDirectory)\packages\python\python.exe' - arguments: '$(Build.SourcesDirectory)\tools\ci_build\build.py --config Debug --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --cmake_path $(Build.BinariesDirectory)\cmake\bin\cmake.exe --ctest_path $(Build.BinariesDirectory)\cmake\bin\ctest.exe --enable_pybind --use_openmp --use_mkldnn --use_mkldnn --build_shared_lib --enable_onnx_tests --use_cuda --cuda_home="C:\local\cuda_10.0.130_win10" --cudnn_home="C:\local\cudnn-10.0-windows10-x64-v7.3.1.20\cuda" --use_full_protobuf --use_tensorrt --tensorrt_home="C:\local\TensorRT-5.0.4.3" --test_data_url $(TestDataUrl) --test_data_checksum $(TestDataChecksum) --test' + arguments: '$(Build.SourcesDirectory)\tools\ci_build\build.py --config Debug --build_dir $(Build.BinariesDirectory) --cmake_path $(Build.BinariesDirectory)\cmake\bin\cmake.exe --ctest_path $(Build.BinariesDirectory)\cmake\bin\ctest.exe --enable_pybind --use_openmp --use_mkldnn --use_mkldnn --build_shared_lib --enable_onnx_tests --cuda_home="C:\local\cuda_10.0.130_win10" --cudnn_home="C:\local\cudnn-10.0-windows10-x64-v7.3.1.20\cuda" --use_full_protobuf --use_tensorrt --tensorrt_home="C:\local\TensorRT-5.0.4.3" --test_data_url $(TestDataUrl) --test_data_checksum $(TestDataChecksum) --test' workingFolder: '$(Build.BinariesDirectory)' - task: VSBuild@1 displayName: 'Build C# Debug' @@ -111,7 +115,7 @@ jobs: displayName: 'Test Release' inputs: filename: '$(Build.BinariesDirectory)\packages\python\python.exe' - arguments: '$(Build.SourcesDirectory)\tools\ci_build\build.py --config Release --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --cmake_path $(Build.BinariesDirectory)\cmake\bin\cmake.exe --ctest_path $(Build.BinariesDirectory)\cmake\bin\ctest.exe --enable_pybind --use_openmp --use_mkldnn --build_shared_lib --enable_onnx_tests --use_cuda --cuda_home="C:\local\cuda_10.0.130_win10" --cudnn_home="C:\local\cudnn-10.0-windows10-x64-v7.3.1.20\cuda" --use_full_protobuf --use_tensorrt --tensorrt_home="C:\local\TensorRT-5.0.4.3" --test_data_url $(TestDataUrl) --test_data_checksum $(TestDataChecksum) --test' + arguments: '$(Build.SourcesDirectory)\tools\ci_build\build.py --config Release --build_dir $(Build.BinariesDirectory) --cmake_path $(Build.BinariesDirectory)\cmake\bin\cmake.exe --ctest_path $(Build.BinariesDirectory)\cmake\bin\ctest.exe --enable_pybind --use_openmp --use_mkldnn --build_shared_lib --enable_onnx_tests --cuda_home="C:\local\cuda_10.0.130_win10" --cudnn_home="C:\local\cudnn-10.0-windows10-x64-v7.3.1.20\cuda" --use_full_protobuf --use_tensorrt --tensorrt_home="C:\local\TensorRT-5.0.4.3" --test_data_url $(TestDataUrl) --test_data_checksum $(TestDataChecksum) --test' workingFolder: "$(Build.BinariesDirectory)" - task: VSBuild@1 @@ -139,5 +143,10 @@ jobs: testResultsFiles: '**\*.results.xml' searchFolder: '$(Build.BinariesDirectory)' testRunTitle: 'Unit Test Run' - condition: succeededOrFailed() + condition: succeededOrFailed() + + - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0 + displayName: 'Component Detection' + condition: and(succeeded(), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI')) + - template: templates/clean-agent-build-directory-step.yml