onnxruntime: 1.20.2 -> 1.21.0 (#390372)

This commit is contained in:
Pavol Rusnak
2025-03-16 14:36:00 +01:00
committed by GitHub
3 changed files with 27 additions and 53 deletions
@@ -2,6 +2,7 @@
, stdenv
, lib
, fetchFromGitHub
, fetchpatch
, Foundation
, abseil-cpp_202407
, cmake
@@ -14,7 +15,6 @@
, howard-hinnant-date
, libpng
, nlohmann_json
, nsync
, pkg-config
, python3Packages
, re2
@@ -30,13 +30,13 @@
let
version = "1.20.2";
version = "1.21.0";
src = fetchFromGitHub {
owner = "microsoft";
repo = "onnxruntime";
tag = "v${version}";
hash = "sha256-GTrRRNdqLUKCcWC9VdV/Oslszykn73dMXf66FLcHRVc=";
hash = "sha256-BaHXpK6Ek+gsld7v+OBM+C3FjrPiyMQYP1liv7mEjho=";
fetchSubmodules = true;
};
@@ -77,14 +77,8 @@ let
onnx = fetchFromGitHub {
owner = "onnx";
repo = "onnx";
tag = "v1.16.1";
hash = "sha256-+NmWoZDXNJ8YQIWlUXV+czHyI8UtJedu2VG+1aR5L7s=";
# Apply backport of https://github.com/onnx/onnx/pull/6195 from 1.17.0
postFetch = ''
pushd $out
patch -p1 < ${src}/cmake/patches/onnx/onnx.patch
popd
'';
tag = "v1.17.0";
hash = "sha256-9oORW0YlQ6SphqfbjcYb0dTlHc+1gzy9quH/Lj6By8Q=";
};
cutlass = fetchFromGitHub {
@@ -92,21 +86,28 @@ let
repo = "cutlass";
tag = "v3.5.1";
hash = "sha256-sTGYN+bjtEqQ7Ootr/wvx3P9f8MCDSSj3qyCWjfdLEA=";
};
};
dlpack = fetchFromGitHub {
owner = "dmlc";
repo = "dlpack";
tag = "v0.6";
hash = "sha256-YJdZ0cMtUncH5Z6TtAWBH0xtAIu2UcbjnVcCM4tfg20=";
};
in
effectiveStdenv.mkDerivation rec {
pname = "onnxruntime";
inherit src version;
patches = [
# If you stumble on these patches trying to update onnxruntime, check
# `git blame` and ping the introducers.
# Context: we want the upstream to
# - always try find_package first (FIND_PACKAGE_ARGS),
# - use MakeAvailable instead of the low-level Populate,
# - use Eigen3::Eigen as the target name (as declared by libeigen/eigen).
./eigen.patch
# drop with the next update
# https://github.com/microsoft/onnxruntime/pull/23939
(fetchpatch {
url = "https://github.com/microsoft/onnxruntime/commit/55553703eaa8cd01d2b01cc21171a0ea515c888a.patch";
hash = "sha256-gL1rMNUcteKcjLmdJ+0r67rvNrC31bAyKYx4aeseWkM=";
})
] ++ lib.optionals cudaSupport [
# We apply the referenced 1064.patch ourselves to our nix dependency.
# FIND_PACKAGE_ARGS for CUDA was added in https://github.com/microsoft/onnxruntime/commit/87744e5 so it might be possible to delete this patch after upgrading to 1.17.0
@@ -179,8 +180,8 @@ effectiveStdenv.mkDerivation rec {
"-DFETCHCONTENT_FULLY_DISCONNECTED=ON"
"-DFETCHCONTENT_QUIET=OFF"
"-DFETCHCONTENT_SOURCE_DIR_ABSEIL_CPP=${abseil-cpp_202407.src}"
"-DFETCHCONTENT_SOURCE_DIR_DLPACK=${dlpack}"
"-DFETCHCONTENT_SOURCE_DIR_FLATBUFFERS=${flatbuffers_23.src}"
"-DFETCHCONTENT_SOURCE_DIR_GOOGLE_NSYNC=${nsync.src}"
"-DFETCHCONTENT_SOURCE_DIR_MP11=${mp11}"
"-DFETCHCONTENT_SOURCE_DIR_ONNX=${onnx}"
"-DFETCHCONTENT_SOURCE_DIR_RE2=${re2.src}"
@@ -1,28 +0,0 @@
diff --git a/cmake/external/eigen.cmake b/cmake/external/eigen.cmake
index 339cded091..6264c8da69 100644
--- a/cmake/external/eigen.cmake
+++ b/cmake/external/eigen.cmake
@@ -9,15 +9,21 @@ else ()
URL ${DEP_URL_eigen}
URL_HASH SHA1=${DEP_SHA1_eigen}
PATCH_COMMAND ${Patch_EXECUTABLE} --binary --ignore-whitespace -p1 < ${PROJECT_SOURCE_DIR}/patches/eigen/eigen-aix.patch
+ FIND_PACKAGE_ARGS NAMES Eigen3
)
else()
FetchContent_Declare(
eigen
URL ${DEP_URL_eigen}
URL_HASH SHA1=${DEP_SHA1_eigen}
+ FIND_PACKAGE_ARGS NAMES Eigen3
)
endif()
- FetchContent_Populate(eigen)
- set(eigen_INCLUDE_DIRS "${eigen_SOURCE_DIR}")
+ FetchContent_MakeAvailable(eigen)
+ add_library(eigen ALIAS Eigen3::Eigen)
+ # Onnxruntime doesn't always use `eigen` as a target in
+ # `target_link_libraries`, sometimes it just uses
+ # `target_include_directories`:
+ get_target_property(eigen_INCLUDE_DIRS Eigen3::Eigen INTERFACE_INCLUDE_DIRECTORIES)
endif()
@@ -1,19 +1,20 @@
diff --git a/cmake/external/onnxruntime_external_deps.cmake b/cmake/external/onnxruntime_external_deps.cmake
index 85746027d4..346ac37a54 100644
index ebf20ab21b..2aa5d9e908 100644
--- a/cmake/external/onnxruntime_external_deps.cmake
+++ b/cmake/external/onnxruntime_external_deps.cmake
@@ -422,14 +422,6 @@ if ((CPUINFO_SUPPORTED OR onnxruntime_USE_XNNPACK) AND NOT ANDROID)
@@ -403,15 +403,6 @@ if (CPUINFO_SUPPORTED)
endif()
if(onnxruntime_USE_CUDA)
- FetchContent_Declare(
- onnxruntime_fetchcontent_declare(
- GSL
- URL ${DEP_URL_microsoft_gsl}
- URL_HASH SHA1=${DEP_SHA1_microsoft_gsl}
- PATCH_COMMAND ${Patch_EXECUTABLE} --binary --ignore-whitespace -p1 < ${PROJECT_SOURCE_DIR}/patches/gsl/1064.patch
- EXCLUDE_FROM_ALL
- FIND_PACKAGE_ARGS 4.0 NAMES Microsoft.GSL
- )
-else()
FetchContent_Declare(
onnxruntime_fetchcontent_declare(
GSL
URL ${DEP_URL_microsoft_gsl}