From patchwork Sun Sep 10 20:01:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Tai X-Patchwork-Id: 53707 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 89E9527BBE9; Sun, 10 Sep 2023 21:02:13 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id AEBEB27BBE2 for ; Sun, 10 Sep 2023 21:02:10 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qfQd7-0002NH-F0; Sun, 10 Sep 2023 16:02:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qfQd5-0002EV-UK for guix-patches@gnu.org; Sun, 10 Sep 2023 16:01:59 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qfQd5-0006Xp-MU for guix-patches@gnu.org; Sun, 10 Sep 2023 16:01:59 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qfQd9-0007z4-8t for guix-patches@gnu.org; Sun, 10 Sep 2023 16:02:03 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#65630] [PATCH v3 4/4] gnu: onnx-optimizer: Update to 0.3.17 Resent-From: Andy Tai Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 10 Sep 2023 20:02:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65630 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 65630@debbugs.gnu.org Cc: Andy Tai Received: via spool by 65630-submit@debbugs.gnu.org id=B65630.169437610030641 (code B ref 65630); Sun, 10 Sep 2023 20:02:03 +0000 Received: (at 65630) by debbugs.gnu.org; 10 Sep 2023 20:01:40 +0000 Received: from localhost ([127.0.0.1]:51435 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qfQcl-0007y3-Ez for submit@debbugs.gnu.org; Sun, 10 Sep 2023 16:01:39 -0400 Received: from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d]:45103) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qfQch-0007xD-2t for 65630@debbugs.gnu.org; Sun, 10 Sep 2023 16:01:35 -0400 Received: by mail-pj1-x102d.google.com with SMTP id 98e67ed59e1d1-26d5970cd28so2872918a91.2 for <65630@debbugs.gnu.org>; Sun, 10 Sep 2023 13:01:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694376085; x=1694980885; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=TI04TfOupiziYlUgS+1jMTuVpqh+F1s7mpTPxHn/m6w=; b=CRUB8aaiwEfeDOR0RNIQSAnpbi7QwkhJGR+oQfagcjXw3hYgyl0zjiBEIPNbO+n+pI 4bU1wxRaiZL3uK2nSyyX2k8YRhl7YQ5EBCPV4jzA0Qb993AWfdZmKEnqByyB0xaBNvfG p2GDIGeY2WvfrgOYKqwGwsV4xCivyjNSEDX6WdTA/cvlL+P9pfUbeOzB2Z6/4m3HYQgl RsJs5EicUwJbJrDpPpLIVKK7SEycw+ath0Xih0gFyY50kAndo+2b9fEnaMpOYfcYiy+V QIOIYa6i0JtMT0Lke7e0KoDmfh4uEpTHiZf8zSnxLdeB4hTc4EfsNq47s4v9S7Khge1N Lfew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694376085; x=1694980885; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=TI04TfOupiziYlUgS+1jMTuVpqh+F1s7mpTPxHn/m6w=; b=b0m12/3fgKnU3wvMiC2yIbm9OMlET8LAtoXf0amTi/c+ffDF/hg8aK3W1cvE9F1Mnv 7YcTLzKnOpsIKs+peT6QGY6WuFNFwm+VOyzx0u86DbSOUZwSz7PlH4cEGWWAQBSa5KkU IMcshWp1OU3B7a1/Gc4aj58YtQE+jaAy8V1BE9SC/DQq97xctCAXF5M9q+L34othcN38 N6z0nZqjNhEFNyxfubPtAnA2RlgV40Bf3tn7bpZeJiX1QB3p1BPKfoYpc3gRIhMTDWtp JUj/7Q5MoRydRrQAhk1pSYX/BBvd1SQqKh3RNE35QheEkPemVikfNQZvKZTHpLHMDmZq eaug== X-Gm-Message-State: AOJu0YwogohofwHLhv1jTIwU33Twq1n8/jtOv1+0hmLQWG7RsLkFiBxH 0LtHaS0eGb3gMYo56puFZYPpdxEqxKehHA== X-Google-Smtp-Source: AGHT+IHBapP4FiF3G3MeqRvcAvVGv6xONATKHEomOi5jHZ/GKRTrkXAQ/uYJevHZKaoQETuXJ2uXPg== X-Received: by 2002:a17:90a:dc85:b0:268:d716:4b62 with SMTP id j5-20020a17090adc8500b00268d7164b62mr6071063pjv.0.1694376085490; Sun, 10 Sep 2023 13:01:25 -0700 (PDT) Received: from localhost.localdomain ([98.37.226.98]) by smtp.googlemail.com with ESMTPSA id i8-20020a17090a2ac800b002696aeb72e5sm6703783pjg.2.2023.09.10.13.01.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 10 Sep 2023 13:01:25 -0700 (PDT) From: Andy Tai Date: Sun, 10 Sep 2023 13:01:15 -0700 Message-ID: <298ff69fb8f8e7501dd2f2d0eebc9d40405e2ac6.1694375976.git.atai@atai.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/machine-learning.scm (onnx-optimizer): Update to 0.3.17 * gnu/packages/patches/onnx-optimizer-system-library.patch: Adapt to onnx-optimizer 0.3.17 --- gnu/packages/machine-learning.scm | 12 +++-- .../onnx-optimizer-system-library.patch | 48 +++++++++++-------- 2 files changed, 36 insertions(+), 24 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 3c26eb4e64..dfba9f666a 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -1098,8 +1098,10 @@ (define-public onnx "-DONNX_USE_PROTOBUF_SHARED_LIBS=ON" "-DONNX_OPT_USE_SYSTEM_PROTOBUF=ON" ; force system copy use; - "-DBUILD_SHARED_LIBS=ON")) - + "-DBUILD_SHARED_LIBS=ON" + (string-append "-DONNX_ROOT=" + #$(package-source this-package)))) + ;; for derived package use ;; This environment variable is honored by 'setup.py', ;; which passes it down to 'cmake'. (setenv "CMAKE_ARGS" @@ -1157,8 +1159,8 @@ (define-public python-onnx (define-public onnx-optimizer (package (name "onnx-optimizer") - ;; Note: 0.2.x is *more* recent than 1.5.0. - (version "0.2.6") + ;; Note: 0.2.x or 0.3.x is *more* recent than 1.5.0. + (version "0.3.17") (home-page "https://github.com/onnx/optimizer") (source (origin (method git-fetch) @@ -1167,7 +1169,7 @@ (define-public onnx-optimizer (commit (string-append "v" version)))) (sha256 (base32 - "1wkqqdxcxpfbf8zpbdfdd3zz5jkw775g31gyykj11z4y6pp659l6")) + "0j8civ0vf2vxyk5ihb9zxvwsqv8yzbfmkg42rnxwf59gdzgz48li")) (file-name (git-file-name name version)) (patches (search-patches "onnx-optimizer-system-library.patch")) (modules '((guix build utils))) diff --git a/gnu/packages/patches/onnx-optimizer-system-library.patch b/gnu/packages/patches/onnx-optimizer-system-library.patch index 5c592597e0..7890bee045 100644 --- a/gnu/packages/patches/onnx-optimizer-system-library.patch +++ b/gnu/packages/patches/onnx-optimizer-system-library.patch @@ -1,42 +1,42 @@ -Arrange so that onnx-optimizer (1) uses our own ONNX build, +Arrange so that onnx-optimizer (1) uses our own ONNX build, (2) builds as a shared library, and (3) links against the shared libraries of ONNX. diff --git a/CMakeLists.txt b/CMakeLists.txt -index c2e48b35..8af51076 100644 +index 00633856..c6f3188d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -9,8 +9,6 @@ endif(NOT MSVC) - - set(CMAKE_POSITION_INDEPENDENT_CODE ON) - +@@ -27,8 +27,6 @@ if(NOT ONNX_OPT_USE_SYSTEM_PROTOBUF) + endif() + + -set(ONNX_ROOT ${PROJECT_SOURCE_DIR}/third_party/onnx) --add_subdirectory(${ONNX_ROOT}) - +-add_subdirectory_if_no_target(${ONNX_ROOT} ${ONNX_TARGET_NAME}) + file(READ "${PROJECT_SOURCE_DIR}/VERSION_NUMBER" ONNX_OPTIMIZER_VERSION) string(STRIP "${ONNX_OPTIMIZER_VERSION}" ONNX_OPTIMIZER_VERSION) -@@ -21,14 +19,18 @@ file(GLOB_RECURSE onnx_opt_srcs "onnxoptimizer/*.cc" +@@ -41,14 +39,18 @@ file(GLOB onnx_opt_srcs "onnxoptimizer/*.cc" list(REMOVE_ITEM onnx_opt_srcs "${PROJECT_SOURCE_DIR}/onnxoptimizer/cpp2py_export.cc") - add_library(onnx_optimizer ${onnx_opt_srcs}) --target_link_libraries(onnx_optimizer PUBLIC onnx) -+target_link_libraries(onnx_optimizer PUBLIC onnx onnx_proto) + onnxopt_add_library(onnx_optimizer ${onnx_opt_srcs}) +-target_link_libraries(onnx_optimizer PUBLIC ${ONNX_TARGET_NAME}) ++target_link_libraries(onnx_optimizer PUBLIC ${ONNX_TARGET_NAME} onnx_proto) target_include_directories(onnx_optimizer PUBLIC $ $ ) - + +# These cpp macros must be defined so the ONNX headers behave +# correctly. +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DONNX_ML=1 -DONNX_NAMESPACE=onnx") + - add_executable(onnx_optimizer_exec examples/onnx_optimizer_exec.cpp) + onnxopt_add_executable(onnx_optimizer_exec examples/onnx_optimizer_exec.cpp) -target_link_libraries(onnx_optimizer_exec onnx_optimizer) +target_link_libraries(onnx_optimizer_exec onnx_optimizer protobuf) - - if(BUILD_ONNX_PYTHON) - if("${PY_EXT_SUFFIX}" STREQUAL "") -@@ -79,11 +81,10 @@ if(BUILD_ONNX_PYTHON) + + + file(GLOB onnx_opt_c_api_srcs "onnxoptimizer/c_api/*.cc" +@@ -112,11 +114,10 @@ if(BUILD_ONNX_PYTHON) PRIVATE $) else() # Assume everything else is like gcc @@ -49,5 +49,15 @@ index c2e48b35..8af51076 100644 + PROPERTIES LINK_FLAGS + "-Wl,-rpath=${CMAKE_INSTALL_PREFIX}/lib") endif() - + target_link_libraries(onnx_opt_cpp2py_export PRIVATE onnx_optimizer) +diff --git a/cmake/utils.cmake b/cmake/utils.cmake +index 6cca9f36..8e39d5c4 100644 +--- a/cmake/utils.cmake ++++ b/cmake/utils.cmake +@@ -1,4 +1,4 @@ +-include(${PROJECT_SOURCE_DIR}/third_party/onnx/cmake/Utils.cmake) ++include(${ONNX_ROOT}/cmake/Utils.cmake) + + # Poor man's FetchContent + function(add_subdirectory_if_no_target dir target)