onnxruntime: 1.20.2 -> 1.21.0 (#390372)
This commit is contained in:
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user