From: "Andreas Sturmlechner" <asturm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-cpp/eigen/files/, dev-cpp/eigen/
Date: Mon, 12 Oct 2020 16:15:31 +0000 (UTC) [thread overview]
Message-ID: <1602519320.2a69391373153bcb32284be0a12d38493b24bddd.asturm@gentoo> (raw)
commit: 2a69391373153bcb32284be0a12d38493b24bddd
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 12 15:53:09 2020 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> 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 <anton.kochkov <AT> gmail.com>
Thanks-to: Sam James <sam <AT> gentoo.org>
Closes: https://bugs.gentoo.org/747949
Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Andreas Sturmlechner <asturm <AT> 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 <hazelnusse@gmail.com>
+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<Index>,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
+
next reply other threads:[~2020-10-12 16:15 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-12 16:15 Andreas Sturmlechner [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-01-20 13:10 [gentoo-commits] repo/gentoo:master commit in: dev-cpp/eigen/files/, dev-cpp/eigen/ Sam James
2020-12-15 11:54 David Seifert
2019-02-25 15:55 Andreas Sturmlechner
2016-09-15 14:49 Michael Palimaka
2016-02-22 9:36 Justin Lecher
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1602519320.2a69391373153bcb32284be0a12d38493b24bddd.asturm@gentoo \
--to=asturm@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox