Commit Graph

3521 Commits

Author SHA1 Message Date
Antonio Sanchez
23b1682723 Fix cuda device warnings 2025-02-28 22:09:30 -08:00
Antonio Sanchez
c53002f5fb Fix failing tests on arm/ppc 2025-02-28 13:15:33 -08:00
Antonio Sanchez
339d7188ed Fix up all doxygen warnings. 2025-02-25 21:05:40 -08:00
Antonio Sánchez
d45ac54008 Correct use of EIGEN_CUDACC to respect EIGEN_NO_CUDA. 2022-02-04 22:24:31 +00:00
Jakob Struye
d9585478d9 Clearer doc for squaredNorm
(cherry picked from commit 53a29c7e35)
2021-08-18 15:13:11 +00:00
Benoit Steiner
01421e31a2 Added missing EIGEN_DEVICE_FUNC qualifiers
(cherry picked from commit c36bc2d445)
2021-07-20 21:21:53 +00:00
René Wagner
2f81b6363f BooleanRedux.h: Add more EIGEN_DEVICE_FUNC qualifiers.
This enables operator== on Eigen matrices in device code.


(cherry picked from commit 0aebe19aca)
2021-07-20 21:20:54 +00:00
Antonio Sanchez
84911f9c05 Include <cstdint> in one place, remove custom typedefs
Originating from
[this SO issue](https://stackoverflow.com/questions/65901014/how-to-solve-this-all-error-2-in-this-case),
some win32 compilers define `__int32` as a `long`, but MinGW defines
`std::int32_t` as an `int`, leading to a type conflict.

To avoid this, we remove the custom `typedef` definitions for win32.  The
Tensor module requires C++11 anyways, so we are guaranteed to have
included `<cstdint>` already in `Eigen/Core`.

Also re-arranged the headers to only include `<cstdint>` in one place to
avoid this type of error again.
2021-01-28 11:10:13 -08:00
Rasmus Munk Larsen
77dc6dbb44 Fix bugs in log1p and expm1 where repeated using statements would clobber each other.
Add specializations for complex types since std::log1p and std::exp1m do not support complex.

(cherry picked from commit d55d392e7b)
2021-01-21 11:22:36 +01:00
David Tellenbach
0fd6b4f71d Bump to 3.3.9 2020-12-04 22:53:41 +01:00
Christoph Hertzberg
ac632f663e bug #1746: Removed implementation of standard copy-constructor and standard copy-assign-operator from PermutationMatrix and Transpositions to allow malloc-less std::move. Added unit-test to rvalue_types
(cherry picked from commit efd9867ff0)
2020-11-12 11:54:51 +01:00
Luke Peterson
ef3cc72cb6 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.
2020-10-08 18:50:33 -07:00
David Tellenbach
dc252fbf00 Bump to 3.3.8 2020-10-05 13:24:15 +02:00
David Tellenbach
9f202c6f1e Fix undefined behaviour caused by uncaught exceptions in OMP section
An OpenMP parallel section must have a single entry and a single point
of exit. Leaving such a section by throwing an exception is undefined.
This patch fixes this by catching possible exceptions on the parallel
section and throwing right we left it.
2020-10-02 00:41:01 +02:00
David Tellenbach
b933946d63 Fix failure in GEBP kernel when compiling with OpenMP and FMA
Fixes #1995

(cherry picked from commit 30960d485e)
2020-09-30 16:17:33 +02:00
David Tellenbach
76f0650563 Bump to 3.3.8-rc1 2020-09-14 13:43:55 +02:00
nluehr
4707c3aa86 Fix incorrect integer cast in predux<half2>().
Bug corrupts results on Maxwell and earlier GPU architectures.

(cherry picked from commit dd6de618c3)
2020-09-04 19:12:05 +02:00
Tobias Bosch
f55a6d051b Include <sstream> explicitly, and don't rely on the implicit include via <complex>.
This implicit dependency does no longer exist in a recent llbm release (sha 78be61871704).
2020-09-02 11:02:18 +02:00
Gael Guennebaud
efd72cddcd Backport AVX512 implementation from devel branch to 3.3 (the 3.3 version had many issues) 2020-08-26 12:34:20 +02:00
Gael Guennebaud
e5b35d64f7 Fix compilation with AVX512 2020-08-25 12:25:58 +02:00
Christoph Hertzberg
84364ad11d Bug #1788: Fix rule-of-three violations inside the stable modules.
This fixes deprecated-copy warnings when compiling with GCC>=9
Also protect some additional Base-constructors from getting called by user code code (#1587)

Cherry-picked from 870e53c0
2020-02-28 19:04:33 +01:00
Gael Guennebaud
1039348f12 backport is_valid_index_type fix from default branch and c++03 2019-11-22 13:49:17 +01:00
Gael Guennebaud
3d7e2a1f3d Fix possible conflict with an externally defined "real" type.
This issue was detected by gcc5 only.
2019-11-14 13:31:26 +01:00
Christoph Hertzberg
cd12bf6317 bug #1761: Manually grafted changes in Meta.h
5937c4ae32
  Fall back is_integral to std::is_integral in c++11
f0862b062f
  Fix internal::is_integral<size_t/ptrdiff_t> with MSVC 2013 and older.
2019-10-24 13:29:35 +02:00
Christoph Hertzberg
1760432f6e Provide numext::[u]int{32,64}_t. Manually grafted from 4356a55a61 2019-10-11 16:51:08 +02:00
Gael Guennebaud
47e2f8a42c PR 719: fix real/imag namespace conflict
(grafted from 87427d2eaa
)
2019-10-08 09:15:17 +02:00
Gael Guennebaud
52d159c19f bug #1741: fix self-adjoint*matrix, triangular*matrix, and triangular^1*matrix with a destination having a non-trivial inner-stride 2019-09-11 15:04:25 +02:00
Gael Guennebaud
6abc9e5379 Fix compilation of BLAS backend and frontend 2019-09-11 10:02:37 +02:00
Gael Guennebaud
f722e43770 bug #1741: fix SelfAdjointView::rankUpdate and product to triangular part for destination with non-trivial inner stride
(grafted from c06e6fd115
)
2019-09-10 23:29:52 +02:00
Gael Guennebaud
f483c7ea8a bug #1741: fix C.noalias() = A*C; with C.innerStride()!=1
(grafted from ea0d5dc956
)
2019-09-10 16:25:24 +02:00
Gael Guennebaud
32cb4853c6 bug #1562: optimize evaluation of small products of the form s*A*B by rewriting them as: s*(A.lazyProduct(B)) to save a costly temporary. Measured speedup from 2x to 5x...
(grafted from d428a199ab
)
2018-07-02 11:41:09 +02:00
Christoph Hertzberg
427f2f66d6 bug #1724: Mask buggy warnings with g++-7 2019-06-14 14:57:46 +02:00
Gael Guennebaud
fe8cd812b0 backport EIGEN_HAS_C99_MATH for MSVC 2019-03-22 10:16:08 +01:00
Gael Guennebaud
dd93c41618 Complete previous backport with is_valid_index_type 2019-03-17 22:02:18 +01:00
Gael Guennebaud
441b3511de bug #1692: enable enum as sizes of Matrix and Array
(grafted from cf7e2e277f
)
2019-03-17 21:59:30 +01:00
Gael Guennebaud
6b59aa705a bug #1689 fix used-but-marked-unused warning
(grafted from bfbf7da047
)
2019-03-05 23:46:24 +01:00
Gael Guennebaud
7b93328baf Enable construction of Ref<VectorType> from a runtime vector.
(grafted from b0d406d91c
)
2019-03-03 15:25:25 +01:00
Gael Guennebaud
2aa9eb3ce8 bug #1676: workaround GCC's bug in c++17 mode.
(grafted from b3c4344a68
)
2019-02-07 15:21:35 +01:00
Gael Guennebaud
f1c12d8ff0 Workaround gcc's alloc-size-larger-than= warning
(grafted from bcb7c66b53
)
2018-10-07 21:55:59 +02:00
Gael Guennebaud
6c4d57dc9e Fix a gcc7 warning about bool * bool in abs2 default implementation.
(grafted from 561f777075
)
2017-06-27 12:05:17 +02:00
Christoph Hertzberg
18dc2107ea Disable/ReenableStupidWarnings did not work properly, when included recursively
(grafted from ef4d79fed8
)
2018-08-28 18:26:22 +02:00
Gael Guennebaud
21ae2afd4e bump to 3.3.7 2018-12-11 18:57:55 +01:00
Gael Guennebaud
171f513ecd bug #1643: fix compilation issue with gcc and no optimizaion
(grafted from 7166496f70
)
2018-12-11 13:24:42 +01:00
Gael Guennebaud
c310bedb29 enable spilling workaround on architectures with SSE/AVX
(grafted from 0d90637838
)
2018-12-10 23:22:44 +01:00
Gael Guennebaud
f8d653d1f9 bump to 3.3.6 2018-12-10 14:46:51 +01:00
Gael Guennebaud
b942bb0043 workaround "may be used uninitialized" warning
(grafted from bff90bf270
)
2018-12-08 18:58:28 +01:00
Gael Guennebaud
f1ffadb6e0 fix EIGEN_GEBP_2PX4_SPILLING_WORKAROUND for non vectorized type, and non x86/64 target
(grafted from 426bce7529
)
2018-12-08 09:44:21 +01:00
Gael Guennebaud
9d56215db8 bug #1636: fix gemm performance issue with gcc>=6 and no FMA
(grafted from 4e7746fe22
)
2018-12-07 09:15:46 +01:00
Gael Guennebaud
c4ea9a916f bug #1637: workaround register spilling in gebp with clang>=6.0+AVX+FMA
(grafted from f233c6194d
)
2018-12-07 10:01:09 +01:00
Christoph Hertzberg
24d56f2e0e bug #1635: Use infinity from Numtraits instead of creating it manually.
(grafted from c1d356e8b4
)
2018-12-05 15:01:04 +01:00