From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 5CED2138359 for ; Mon, 12 Oct 2020 16:15:38 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id AC7B7E0900; Mon, 12 Oct 2020 16:15:37 +0000 (UTC) Received: from smtp.gentoo.org (mail.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 8A05BE0900 for ; Mon, 12 Oct 2020 16:15:37 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 23C7D335D17 for ; Mon, 12 Oct 2020 16:15:34 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id B21133A6 for ; Mon, 12 Oct 2020 16:15:31 +0000 (UTC) From: "Andreas Sturmlechner" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Andreas Sturmlechner" Message-ID: <1602519320.2a69391373153bcb32284be0a12d38493b24bddd.asturm@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-cpp/eigen/files/, dev-cpp/eigen/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-cpp/eigen/eigen-3.3.8-r1.ebuild dev-cpp/eigen/eigen-3.3.8.ebuild dev-cpp/eigen/files/eigen-3.3.8-no-error-counting-in-openmp-parallelize_gemm.patch X-VCS-Directories: dev-cpp/eigen/files/ dev-cpp/eigen/ X-VCS-Committer: asturm X-VCS-Committer-Name: Andreas Sturmlechner X-VCS-Revision: 2a69391373153bcb32284be0a12d38493b24bddd X-VCS-Branch: master Date: Mon, 12 Oct 2020 16:15:31 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 4806592d-1d19-4e66-97eb-119ee4d56c40 X-Archives-Hash: 5184c17746da5417e53c1d462e3decb3 commit: 2a69391373153bcb32284be0a12d38493b24bddd Author: Andreas Sturmlechner gentoo org> AuthorDate: Mon Oct 12 15:53:09 2020 +0000 Commit: Andreas Sturmlechner gentoo org> CommitDate: Mon Oct 12 16:15:20 2020 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2a693913 dev-cpp/eigen: Backport fix for revdeps build failures Reported-by: Anton Kochkov gmail.com> Thanks-to: Sam James gentoo.org> Closes: https://bugs.gentoo.org/747949 Package-Manager: Portage-3.0.8, Repoman-3.0.1 Signed-off-by: Andreas Sturmlechner gentoo.org> .../{eigen-3.3.8.ebuild => eigen-3.3.8-r1.ebuild} | 5 +- ...error-counting-in-openmp-parallelize_gemm.patch | 64 ++++++++++++++++++++++ 2 files changed, 68 insertions(+), 1 deletion(-) diff --git a/dev-cpp/eigen/eigen-3.3.8.ebuild b/dev-cpp/eigen/eigen-3.3.8-r1.ebuild similarity index 94% rename from dev-cpp/eigen/eigen-3.3.8.ebuild rename to dev-cpp/eigen/eigen-3.3.8-r1.ebuild index fbc5c610b0e..bddd6bddf84 100644 --- a/dev-cpp/eigen/eigen-3.3.8.ebuild +++ b/dev-cpp/eigen/eigen-3.3.8-r1.ebuild @@ -50,7 +50,10 @@ DEPEND=" # METIS-5 # GOOGLEHASH -PATCHES=( "${FILESDIR}"/${PN}-3.3.7-gentoo-cmake.patch ) +PATCHES=( + "${FILESDIR}"/${PN}-3.3.7-gentoo-cmake.patch + "${FILESDIR}"/${P}-no-error-counting-in-openmp-parallelize_gemm.patch +) src_prepare() { cmake_src_prepare diff --git a/dev-cpp/eigen/files/eigen-3.3.8-no-error-counting-in-openmp-parallelize_gemm.patch b/dev-cpp/eigen/files/eigen-3.3.8-no-error-counting-in-openmp-parallelize_gemm.patch new file mode 100644 index 00000000000..556474e8b31 --- /dev/null +++ b/dev-cpp/eigen/files/eigen-3.3.8-no-error-counting-in-openmp-parallelize_gemm.patch @@ -0,0 +1,64 @@ +From ef3cc72cb65e2d500459c178c63e349bacfa834f Mon Sep 17 00:00:00 2001 +From: Luke Peterson +Date: Thu, 8 Oct 2020 12:16:53 -0700 +Subject: [PATCH] Remove error counting in OpenMP parallelize_gemm + +This resolves a compilation error associated with +Eigen::eigen_assert_exception. It also eliminates the counting of +exceptions that may occur in the OpenMP parallel section. If an +unhandled exception occurs in this section, the behavior is non-conforming +according to the OpenMP specification. +--- + Eigen/src/Core/products/Parallelizer.h | 14 +++++--------- + test/CMakeLists.txt | 2 +- + 2 files changed, 6 insertions(+), 10 deletions(-) + +diff --git a/Eigen/src/Core/products/Parallelizer.h b/Eigen/src/Core/products/Parallelizer.h +index 67b2442b5..a3cc05b77 100644 +--- a/Eigen/src/Core/products/Parallelizer.h ++++ b/Eigen/src/Core/products/Parallelizer.h +@@ -132,8 +132,7 @@ void parallelize_gemm(const Functor& func, Index rows, Index cols, Index depth, + + ei_declare_aligned_stack_constructed_variable(GemmParallelInfo,info,threads,0); + +- int errorCount = 0; +- #pragma omp parallel num_threads(threads) reduction(+: errorCount) ++ #pragma omp parallel num_threads(threads) + { + Index i = omp_get_thread_num(); + // Note that the actual number of threads might be lower than the number of request ones. +@@ -152,14 +151,11 @@ void parallelize_gemm(const Functor& func, Index rows, Index cols, Index depth, + info[i].lhs_start = r0; + info[i].lhs_length = actualBlockRows; + +- EIGEN_TRY { +- if(transpose) func(c0, actualBlockCols, 0, rows, info); +- else func(0, rows, c0, actualBlockCols, info); +- } EIGEN_CATCH(...) { +- ++errorCount; +- } ++ if(transpose) ++ func(c0, actualBlockCols, 0, rows, info); ++ else ++ func(0, rows, c0, actualBlockCols, info); + } +- if (errorCount) EIGEN_THROW_X(Eigen::eigen_assert_exception()); + #endif + } + +diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt +index 0747aa6cb..b02577780 100644 +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -163,7 +163,7 @@ ei_add_test(constructor) + ei_add_test(linearstructure) + ei_add_test(integer_types) + ei_add_test(unalignedcount) +-if(NOT EIGEN_TEST_NO_EXCEPTIONS) ++if(NOT EIGEN_TEST_NO_EXCEPTIONS AND NOT EIGEN_TEST_OPENMP) + ei_add_test(exceptions) + endif() + ei_add_test(redux) +-- +GitLab +