server
server copied to clipboard
Issue while setting up ONNX RUNTIME BACKEND natively on Windows 10.
Description I am trying to setup and and build ONNX runtime natively on Windows 10, without docker following the instructions that are mentioned in the readme file of the main branch present in this repository -> https://github.com/triton-inference-server/onnxruntime_backend. I have already setup the Triton Core CPU environment in Windows as a pre-requisite without Docker. While building the ONNX Backend repository from source, I am encountering a crazy problem. In my Windows VM, I have to run the docker containers by "Switching to Windows Containers", so it fails to pull this image "nvcr.io/nvidia/tritonserver:24.01-py3-min" because of this error "no matching manifest for windows/amd64 10.0.19045 in the manifest list entries". However, if I switch my containers to Linux, then this docker file gets pulled successfully. So basically during the same build process, how can I switch containers and pull both these images?
Basically I have to switch containers to windows containers to pull this image -> "nvcr.io/nvidia/tritonserver:24.01-py3-min", and switch to Linux containers and pull this image -> mcr.microsoft.com/windows:10.0.19042.1889
So my goal is to switch containers to only Windows, and still make it work for both the images. How is this possible? Is there any workaround or fix for this in Windows? The whole purpose of docker is to be environment independent, so why such a scenario exists where I need to switch containers?
Please check the screenshot for the error.
Triton Information I have cloned the main branch.
Are you using the Triton container or did you build it yourself?
To Reproduce
-
git clone https://github.com/triton-inference-server/onnxruntime_backend (Set Commit ID : d992c5b7bf6249f045a59a034fbb2d7f2411f1a9)
-
mkdir build
-
cd build
-
cmake -DCMAKE_INSTALL_PREFIX:PATH=`pwd`/install -DTRITON_BUILD_ONNXRUNTIME_VERSION=1.18.3 -DTRITON_BUILD_CONTAINER_VERSION=24.01 ..
-
cmake --build . --target install
Describe the models (framework, inputs, outputs), ideally include the model configuration file (if using an ensemble include the model configuration file for that as well).
I am using Windows 10 build with Docker Desktop without WSL, and running docker engine by switching to Windows containers. You can refer the below text for my system details.
-- Building for: Visual Studio 17 2022
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19045.
-- The C compiler identification is MSVC 19.40.33811.0
-- The CXX compiler identification is MSVC 19.40.33811.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/Tools/MSVC/14.40.33807/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/Tools/MSVC/14.40.33807/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using Onnxruntime docker: ON
-- RapidJSON found. Headers: C:/Users/z004ns2e/Desktop/Triton_Core_Main/vcpkg/installed/x64-windows/share/rapidjson/../../include
-- RapidJSON found. Headers: C:/Users/z004ns2e/Desktop/Triton_Core_Main/vcpkg/installed/x64-windows/share/rapidjson/../../include
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - not found
-- Found Threads: TRUE
Using MSVC as compiler, default target on Windows 10. If the target system is not Windows 10, please update _WIN32_WINNT to corresponding value.
CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.29/Modules/FetchContent.cmake:1352 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set. The policy's OLD behavior will be used. When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes. The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want. Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
build/_deps/repo-common-src/src/test/CMakeLists.txt:34 (FetchContent_Declare)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Found Python: C:/ProgramData/anaconda3/envs/triton_new/python3.exe (found version "3.10.11") found components: Interpreter
Using MSVC as compiler, default target on Windows 10. If the target system is not Windows 10, please update _WIN32_WINNT to corresponding value.
Using MSVC as compiler, default target on Windows 10. If the target system is not Windows 10, please update _WIN32_WINNT to corresponding value.
-- Configuring done (87.3s)
-- Generating done (0.5s)
-- Build files have been written to: C:/Users/z004ns2e/Desktop/Triton_Latest/onnxruntime_backend/build
Expected behavior Successful completion of the build for onnx runtime in Windows, without docker.