mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-06-28 03:20:58 +00:00
Add Windows CI pipeline for TensorRT (#687)
* Update win-gpu-tensorrt-ci-pipeline.yml * Update win-gpu-tensorrt-ci-pipeline.yml * Update symbols.txt * Update CMakeLists.txt * Update build.py * Update win-gpu-tensorrt-ci-pipeline.yml * Update win-gpu-tensorrt-ci-pipeline.yml * Update win-gpu-tensorrt-ci-pipeline.yml * Update tensorrt_execution_provider.cc * Update CMakeLists.txt * Update win-gpu-tensorrt-ci-pipeline.yml
This commit is contained in:
parent
21dde6fd16
commit
af389593be
5 changed files with 20 additions and 18 deletions
|
|
@ -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()
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
OrtCreateTensorrtExecutionProviderFactory
|
||||
OrtSessionOptionsAppendExecutionProvider_Tensorrt
|
||||
|
|
|
|||
|
|
@ -71,7 +71,6 @@ TensorrtExecutionProvider::GetCapability(const onnxruntime::GraphViewer& graph,
|
|||
auto trt_network = unique_pointer<nvinfer1::INetworkDefinition>(trt_builder->createNetwork());
|
||||
auto trt_parser = unique_pointer<nvonnxparser::IParser>(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<std::unique_ptr<ComputeCapability>> 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<size_t> node_set(group.begin(), group.end()); //slx
|
||||
//std::set<size_t> node_set;
|
||||
//for (const auto& index : group) {
|
||||
// node_set.insert(node_index[index]);
|
||||
//}
|
||||
std::set<size_t> node_set(group.begin(), group.end());
|
||||
std::unique_ptr<IndexedSubGraph> sub_graph = std::make_unique<IndexedSubGraph>();
|
||||
// Find inputs and outputs of the subgraph
|
||||
std::map<const NodeArg *, int> 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);
|
||||
|
|
|
|||
|
|
@ -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':
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue