[eigen3] 03/05: Vectorize more small product expressions.

Anton Gladky gladk at moszumanska.debian.org
Mon Aug 1 16:03:06 UTC 2016


This is an automated email from the git hooks/post-receive script.

gladk pushed a commit to branch master
in repository eigen3.

commit 8fc9ee37558ac0db35bfd59a2a03451f54644057
Author: Gael Guennebaud <gael.guennebaud at gmail.com>
Date:   Mon Aug 1 18:00:30 2016 +0200

    Vectorize more small product expressions.
---
 debian/patches/10_vectorization.patch | 25 +++++++++++++++++++++++++
 debian/patches/series                 |  1 +
 2 files changed, 26 insertions(+)

diff --git a/debian/patches/10_vectorization.patch b/debian/patches/10_vectorization.patch
new file mode 100644
index 0000000..4a1c087
--- /dev/null
+++ b/debian/patches/10_vectorization.patch
@@ -0,0 +1,25 @@
+# HG changeset patch
+# User Gael Guennebaud <g.gael at free.fr>
+# Date 1469697667 -7200
+# Node ID e35a38ad89fe4fba936bb39a5f02d667045fe8dd
+# Parent  0b62bc896f8070c48214ffc447bc597c261933bc
+Vectorize more small product expressions by letting the general assignement logic decides on the sizes that are OK for vectorization.
+
+Index: eigen3/Eigen/src/Core/ProductEvaluators.h
+===================================================================
+--- eigen3.orig/Eigen/src/Core/ProductEvaluators.h
++++ eigen3/Eigen/src/Core/ProductEvaluators.h
+@@ -489,11 +489,8 @@ struct product_evaluator<Product<Lhs, Rh
+       
+     SameType = is_same<typename LhsNestedCleaned::Scalar,typename RhsNestedCleaned::Scalar>::value,
+ 
+-    CanVectorizeRhs = bool(RhsRowMajor) && (RhsFlags & PacketAccessBit)
+-                    && (ColsAtCompileTime == Dynamic || ((ColsAtCompileTime % RhsVecPacketSize) == 0) ),
+-
+-    CanVectorizeLhs = (!LhsRowMajor) && (LhsFlags & PacketAccessBit)
+-                    && (RowsAtCompileTime == Dynamic || ((RowsAtCompileTime % LhsVecPacketSize) == 0) ),
++    CanVectorizeRhs = bool(RhsRowMajor) && (RhsFlags & PacketAccessBit),
++    CanVectorizeLhs = (!LhsRowMajor) && (LhsFlags & PacketAccessBit),
+ 
+     EvalToRowMajor = (MaxRowsAtCompileTime==1&&MaxColsAtCompileTime!=1) ? 1
+                     : (MaxColsAtCompileTime==1&&MaxRowsAtCompileTime!=1) ? 0
diff --git a/debian/patches/series b/debian/patches/series
index 14ae892..6f70a63 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,3 +4,4 @@
 06_remove_doc_matrix.patch
 07_remove_compressed_doc.patch
 08_fix_path_FindEigen3.patch
+10_vectorization.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/eigen3.git



More information about the debian-science-commits mailing list